From 2ff30ab4bbe3e6f5598becb898d73fd3ecf834c5 Mon Sep 17 00:00:00 2001 From: The412Banner Date: Fri, 2 Oct 2026 15:44:41 -0400 Subject: [PATCH] bannerlator-steam-x64: no DRI3 for x86 Mesa Hiding /dev/dri was not enough: Xwayland hands the render node out over DRI3, and llvmpipe then loops on KMS dumb-buffer ioctls against the KGSL device. LIBGL_DRI3_DISABLE=1 presents through plain X. --- tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 b/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 index ad9446acc..bfcf21186 100755 --- a/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 +++ b/tools/linuxfs/overlay/usr/local/bin/bannerlator-steam-x64 @@ -126,6 +126,9 @@ export LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=llvmpipe # "failed to query kernel driver version", KMS dumb-buffer ioctls in a loop) - the webhelper never # got a browser up. FEX looks in the rootfs first: an empty /dev/dri there hides the node. mkdir -p "$ROOTFS/dev/dri" +# The X server hands out that node too (DRI3 open), and Mesa's software path then tries KMS dumb +# buffers on it in a loop: present through plain X instead. +export LIBGL_DRI3_DISABLE=1 # The proot fast path (libblfastpath, preloaded into every guest process, FEX included) breaks # FEX's 32-bit mode: every i386 program dies with SIGILL at start (FEX's own fatal trap), so # Steam's 32-bit check reports libc.so.6 missing. 64-bit runs either way; proot then answers