From 795e310ae744e902ea25a8a7d4ebc3d0573de91b Mon Sep 17 00:00:00 2001 From: Alex Zenla Date: Sat, 3 Oct 2026 17:48:08 -0700 Subject: [PATCH] fix(menu): open the graphics output shared to keep the text console connected --- crates/boot/src/menu/graphical.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/boot/src/menu/graphical.rs b/crates/boot/src/menu/graphical.rs index b169c2c..d58fbc5 100644 --- a/crates/boot/src/menu/graphical.rs +++ b/crates/boot/src/menu/graphical.rs @@ -626,8 +626,10 @@ impl BootMenu for GraphicalMenu { let handle = uefi::boot::get_handle_for_protocol::() .context("unable to find a graphics output")?; - let mut gop = uefi::boot::open_protocol_exclusive::(handle) - .context("unable to open the graphics output")?; + // Opening it exclusively would disconnect the firmware's text console from the display, + // and anything printed after the menu may not show up. + let mut gop = + open_shared::(handle).context("unable to open the graphics output")?; let (width, height) = gop.current_mode_info().resolution(); let mut fb = Framebuffer::new(width, height)?; let mut mouse = Mouse::open();