protonscr

Steam webhelper CEF surfaces go black on GNOME 49 / Wayland when switching workspaces

steamclosed
ValveSoftware/steam-for-linux#13090 · opened 2026-04-14 by kodefabrik · updated 2026-04-14 · 1 comments · github
Kkodefabrik 2026-04-14 github

Your system information

  • Steam client version: 1773426488
  • Distribution: openSUSE Tumbleweed 20260317
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • GPU: Intel Iris Xe (ADL GT2), Mesa 26.0.2

Please describe your issue in as much detail as possible:

Native Steam UI repaints correctly; only CEF-rendered web surfaces (store, library) go black when switching workspaces. Switching back to the Steam workspace and doing a maximize/minimize forces a repaint.

Findings:

  • steamui.so constructs and passes webhelper flags internally — STEAM_CEF_ARGS is not implemented in steam.sh on this build and is silently ignored
  • The only injection point is ubuntu12_64/steamwebhelper_sniper_wrap.sh, but Steam checksums its own files and self-repairs on next launch (BVerifyInstalledFiles: steamwebhelper_sniper_wrap.sh is 655 bytes, expected 623)
  • With GPU acceleration enabled, webhelper is launched with no --disable-gpu flags, confirming this is not a GPU path issue
  • GDK_BACKEND=x11 does not resolve it, ruling out a pure Wayland compositor (Mutter) repaint signaling issue
  • gamescope nested mode (-e) falls back to headless backend under GNOME and never presents a window, so that path is also blocked
  • Root cause appears to be CEF not receiving damage/expose events for its render surfaces when the window loses visibility across workspace switches, and not repainting on reactivation — independent of GPU acceleration state and display backend

Workaround: https://github.com/kodefabrik/steam-cef-repaint

Steps for reproducing this issue:

  1. Open Steam on one workspace
  2. Switch to a different workspace
  3. Switch back to the Steam workspace
  4. CEF web surfaces (store, library) are black until a minimize/maximize cycle is performed
Kkisak-valve maintainer 2026-04-14 github

Hello @kodefabrik, this issue is already being tracked at #10869. Closing as a duplicate.

Nothing extracted yet.