mirror of
https://github.com/nestriness/nestri.git
synced 2026-11-15 11:42:28 +02:00
fix(nescope): give Xwayland the GL driver; a default browser in the image (#460)
- **nescope:** smithay spawned Xwayland with an empty environment, so Xwayland never saw the GL driver selection the box sets (`MESA_LOADER_DRIVER_OVERRIDE`, `GALLIUM_DRIVER`, `__GLX_VENDOR_LIBRARY_NAME`). glamor then found no driver for the card (`virtio_gpu: driver missing`), fell back to software, and the server offered no GLX — any X11 client asking for a GLX visual failed (`glXChooseVisual failed`). Those three variables are now passed through. - **Image:** `chromium` and `xdg-utils`, so applications that open sign-in pages, OAuth flows or links have somewhere to send them. Verified by hand in a box: with the nescope change, an X11 client that previously died at `glXChooseVisual` started and drew.
This commit is contained in:
@@ -438,7 +438,15 @@ impl NescopeState {
|
|||||||
let (xwayland, client) = XWayland::spawn(
|
let (xwayland, client) = XWayland::spawn(
|
||||||
&self.display_handle,
|
&self.display_handle,
|
||||||
display,
|
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,
|
true,
|
||||||
std::process::Stdio::null(), // XWayland stdout (very noisy)
|
std::process::Stdio::null(), // XWayland stdout (very noisy)
|
||||||
std::process::Stdio::null(), // XWayland stderr (very noisy)
|
std::process::Stdio::null(), // XWayland stderr (very noisy)
|
||||||
|
|||||||
@@ -398,6 +398,7 @@ RUN pacman -Syu --noconfirm --needed \
|
|||||||
python-xlib python-urllib3 python-pyzstd \
|
python-xlib python-urllib3 python-pyzstd \
|
||||||
libvpx speex libtheora libvdpau jsoncpp \
|
libvpx speex libtheora libvdpau jsoncpp \
|
||||||
strace lsof less \
|
strace lsof less \
|
||||||
|
chromium xdg-utils \
|
||||||
&& rm -f /usr/share/libalpm/hooks/dbus-reload.hook \
|
&& rm -f /usr/share/libalpm/hooks/dbus-reload.hook \
|
||||||
&& pacman -Rdd --noconfirm systemd systemd-sysvcompat \
|
&& pacman -Rdd --noconfirm systemd systemd-sysvcompat \
|
||||||
&& pacman -Scc --noconfirm
|
&& pacman -Scc --noconfirm
|
||||||
|
|||||||
Reference in New Issue
Block a user