fallback: Allow forcing legacy modeset via env-variable
This commit is contained in:
parent
5fb73a497e
commit
8a040630a0
|
@ -23,6 +23,7 @@ use drm::{
|
|||
use nix::libc::c_void;
|
||||
use nix::libc::dev_t;
|
||||
use std::os::unix::io::{AsRawFd, RawFd};
|
||||
use std::env;
|
||||
#[cfg(feature = "use_system_lib")]
|
||||
use wayland_server::Display;
|
||||
|
||||
|
@ -173,11 +174,23 @@ impl<A: AsRawFd + Clone + 'static> FallbackDevice<AtomicDrmDevice<A>, LegacyDrmD
|
|||
let log = crate::slog_or_stdlog(logger).new(o!("smithay_module" => "backend_drm_fallback"));
|
||||
info!(log, "Trying to initialize AtomicDrmDevice");
|
||||
|
||||
if env::var("SMITHAY_USE_LEGACY")
|
||||
.map(|x|
|
||||
x == "1"
|
||||
|| x.to_lowercase() == "true"
|
||||
|| x.to_lowercase() == "yes"
|
||||
|| x.to_lowercase() == "y"
|
||||
).unwrap_or(false)
|
||||
{
|
||||
info!(log, "SMITHAY_USE_LEGACY is set. Forcing LegacyDrmDevice.");
|
||||
return Ok(FallbackDevice::Fallback(LegacyDrmDevice::new(fd, disable_connectors, log)?));
|
||||
}
|
||||
|
||||
match AtomicDrmDevice::new(fd.clone(), disable_connectors, log.clone()) {
|
||||
Ok(dev) => Ok(FallbackDevice::Preference(dev)),
|
||||
Err(err) => {
|
||||
error!(log, "Failed to initialize preferred AtomicDrmDevice: {}", err);
|
||||
info!(log, "Falling back to fallback LegacyyDrmDevice");
|
||||
info!(log, "Falling back to fallback LegacyDrmDevice");
|
||||
Ok(FallbackDevice::Fallback(LegacyDrmDevice::new(fd, disable_connectors, log)?))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue