diff --git a/drivers/graphics/fbbootlogd/src/scheme.rs b/drivers/graphics/fbbootlogd/src/scheme.rs index 812c4a5b..08bd1805 100644 --- a/drivers/graphics/fbbootlogd/src/scheme.rs +++ b/drivers/graphics/fbbootlogd/src/scheme.rs @@ -41,14 +41,22 @@ impl FbbootlogScheme { } pub fn handle_handoff(&mut self) { - let new_display_handle = match self.input_handle.open_display_v2() { - Ok(display) => V2GraphicsHandle::from_file(display).unwrap(), + let display = match self.input_handle.open_display_v2() { + Ok(display) => display, Err(err) => { eprintln!("fbbootlogd: No display present yet: {err}"); return; } }; + let new_display_handle = match V2GraphicsHandle::from_file(display) { + Ok(handle) => handle, + Err(err) => { + eprintln!("fbbootlogd: failed to create graphics handle (DRM ioctl unsupported): {err}"); + return; + } + }; + match V2DisplayMap::new(new_display_handle) { Ok(display_map) => self.display_map = Some(display_map), Err(err) => { diff --git a/drivers/graphics/fbcond/src/display.rs b/drivers/graphics/fbcond/src/display.rs index eb09b97e..e8543583 100644 --- a/drivers/graphics/fbcond/src/display.rs +++ b/drivers/graphics/fbcond/src/display.rs @@ -31,7 +31,13 @@ impl Display { return; } }; - let new_display_handle = V2GraphicsHandle::from_file(display_file).unwrap(); + let new_display_handle = match V2GraphicsHandle::from_file(display_file) { + Ok(handle) => handle, + Err(err) => { + log::error!("fbcond: failed to create graphics handle (DRM ioctl unsupported): {err}"); + return; + } + }; log::debug!("fbcond: Opened new display");