diff --git a/apps/nescope/src/state.rs b/apps/nescope/src/state.rs index 4915d636..86fe3bb3 100644 --- a/apps/nescope/src/state.rs +++ b/apps/nescope/src/state.rs @@ -438,7 +438,15 @@ impl NescopeState { let (xwayland, client) = XWayland::spawn( &self.display_handle, display, - std::iter::empty::<(String, String)>(), + // The GL selection the box was given, or Xwayland's glamor cannot + // find a driver for the card, falls back to software, and offers + // no GLX: Steam then dies on glXChooseVisual. + std::env::vars().filter(|(k, _)| { + matches!( + k.as_str(), + "MESA_LOADER_DRIVER_OVERRIDE" | "GALLIUM_DRIVER" | "__GLX_VENDOR_LIBRARY_NAME" + ) + }), true, std::process::Stdio::null(), // XWayland stdout (very noisy) std::process::Stdio::null(), // XWayland stderr (very noisy) diff --git a/build/Containerfile b/build/Containerfile index e8757397..49e4339e 100644 --- a/build/Containerfile +++ b/build/Containerfile @@ -398,6 +398,7 @@ RUN pacman -Syu --noconfirm --needed \ python-xlib python-urllib3 python-pyzstd \ libvpx speex libtheora libvdpau jsoncpp \ strace lsof less \ + chromium xdg-utils \ && rm -f /usr/share/libalpm/hooks/dbus-reload.hook \ && pacman -Rdd --noconfirm systemd systemd-sysvcompat \ && pacman -Scc --noconfirm