The compressed logs are too big, but webhelper seems to be the responsible part, so this is the log; webhelper.txt
What driver are you using to run your display server? If you're using zink for apps, you must also use it for the display server. I would guess you aren't running Xorg on zink, so this is expected behavior.
Yeah, Xorg/X11 is running on radeonsi.
Alright, so that's a local setup problem and not a steam (or mesa) issue.
I get this too, but am running in a Docker container. We have DRI3 support for Intel/AMD, and that is fine.
Was hoping to have Nvidia support through Zink, but it looks like steam cannot handle Zink and X11 specifically for the UI and webhelper.
I found a slight workaround, it is just the UI that does not like Zink, the games themselves can have the following launch options set to function with the ones I tested:
LIBGL_KOPPER_DRI2=1 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink %command%
Just noticed that this seems to happen for me as well, but on Wayland.
I hit this on an RTX 5070 with nouveau/NVK, and I have a data point that I think rules out the "local setup problem" explanation from earlier in this thread, plus a guess at the mechanism.
Both the X server and the client are on zink here. Xwayland (running inside gamescope) has libgallium and libvulkan_nouveau mapped into it, so its glamor is GL-on-zink-on-NVK. And Chromium reports its own renderer as ANGLE (Mesa, zink Vulkan 1.4 (NVIDIA GeForce RTX 5070 (NVK GB205)), OpenGL 4.6, Mesa 26.1.4). So this isn't a zink-app-on-radeonsi-server mismatch, and it still fails the same way.
Chromium is not falling back either. With GPU compositing on, SystemInfo.getInfo over the DevTools protocol reports gpu_compositing enabled, opengl enabled_on, rasterization enabled, passthroughCmdDecoder True, and no driver-bug workarounds applied for this driver.
The failure follows Steam's hidden popup views. The AcquirePixmap errors line up, at the same timestamps, with these three:
MainMenu_uid2: WasHidden 1: (0, 0) 1x1
QuickAccess_uid2: WasHidden 1: (0, 0) 1x1
notificationtoasts_uid2: WasHidden 1: (0, 0) 1x1
Invalid browser dimensions: 0 x 0
AcquirePixmap: failed to create glx pixmap for window: 0x1c00005
X Error of failed request: GLXBadPixmap
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
My reading: Steam keeps those views as 1x1 hidden windows, and on show it calls XCompositeNameWindowPixmap and then glXCreatePixmap on the result. If the window is still unmapped at that point, NameWindowPixmap fails with BadMatch, which is the specified behaviour for an unmapped window. That error is asynchronous, so the following glXCreatePixmap runs on an XID the server never bound and gets BadDrawable. The view then has no texture and renders blank or black.
The GLX path itself works. I wrote a small tool that runs Steam's exact sequence against Steam's real windows in a live session. On the very window Steam had just logged a failure for, still alive in the tree:
window 0x1c00005:
geometry 1920x1080, depth 32, map_state IsViewable
NameWindowPixmap ok: pixmap 0x2e00001
pixmap resolves: 1920x1080 depth 32
glXCreatePixmap: ok
The only NameWindowPixmap failures I could reproduce were against unmapped windows. On the xserver side, BadDrawable out of DoCreateGLXPixmap can only come from dixLookupDrawable failing to resolve the XID, which happens before any driver code runs.
Why it looks driver-specific. The show/map/acquire timing differs between drivers, so the race fires on NVIDIA (I see it on both the proprietary driver and NVK) and not on AMD or Intel. That would explain why this thread and ValveSoftware/gamescope#2171 both look like driver bugs from the outside.
On the workaround's cost. -cef-disable-gpu-compositing does fix the rendering, but Chromium then rasterises the whole UI on CPU. I sampled Steam's window pixels directly and it goes fully black for 427 ms on every overlay transition as a result. Worth knowing before recommending it.
Full disclosure: I'm a hobbyist and I worked through this with a lot of help from an AI assistant. Every log line, measurement and probe output above is real output from my machine, but the reasoning may be wrong in ways I can't catch, and I'd like to know if it is. Happy to run any test on this hardware; it dual-boots the proprietary driver and NVK.
MESA_LOADER_DRIVER_OVERRIDE=zinkx1 2024-05MESA_LOADER_DRIVER_OVERRIDE=zink`x1 2024-02
Your system information
Steam Beta Branch: Steam Beta Update
Steam Version: 1706731428
Steam Client Build Date: Tue, Jan 30 7:28 PM UTC -08:00
Steam Web Build Date: Tue, Jan 30 12:46 AM UTC -08:00
Steam API Version: SteamClient021
Distribution Gentoo
Opted into Steam client beta?: Yes
Have you checked for system updates?: Yes
Steam Logs:
GPU:AMD
Please describe your issue in as much detail as possible:
Running Steam with the Zink on top of Radv results in no main window shown when running on XFCE4/X11 and compositing enabled. With compositing disabled the main window is just black. This can be "fixed" by disabling GPU acceleration of the web views.
The webhelper shows X11 errors
Steps for reproducing this issue:
MESA_LOADER_DRIVER_OVERRIDE=zinksteamRunning Steam on Zink/Radv on the plasma-wayland desktop with
Xwaylandas provider for X11 works fine.There was an error uploading the logs, I'll try adding these as comment.