Skip to content

Electron/Chromium native Wayland GPU context loss under Steam Linux Runtime 4 on NVIDIA; XWayland and --disable- gpu avoid failure #830

Description

@mgeldi

Your system information

  • Steam Runtime Version: Steam Linux Runtime 4.0 4.0.20260507.232683, pressure-vessel 0.20260505.0
  • Distribution (e.g. Ubuntu 18.04): CachyOS, rolling, Arch-like
  • Link to your full system information (Help -> Steam Runtime Diagnostics) in a Gist: The Gist containing relevant Runtime Diagnostics
  • Have you checked for system updates?: Yes
  • What compatibility tool are you using?: Steam Linux Runtime 4.0, native Linux app, not Proton
  • What versions are listed in steamapps/common/SteamLinuxRuntime/VERSIONS.txt?
#Name           Version             Runtime Runtime_Version Comment
depot           1.0.20260430.230225
LD_LIBRARY_PATH 1.0.20260430.230225 scout   1.0.20260430.230225 # steam-runtime/
scripts         0.20260430.0
  • What versions are listed in steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt?
#Name                 Version             Runtime Runtime_Version Comment
depot                 2.0.20260507.232681
pressure-vessel       0.20260505.0
pressure-vessel-arm64 0.20260505.0
scripts               0.20260505.0
soldier               2.0.20260507.232681 soldier 2.0.20260507.232681 # soldier_platform_2.0.20260507.232681/
  • What versions are listed in steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt?
#Name                 Version             Runtime Runtime_Version Comment
depot                 3.0.20260507.232682
pressure-vessel       0.20260505.0
pressure-vessel-arm64 0.20260505.0
scripts               0.20260505.0
sniper                3.0.20260507.232682 sniper  3.0.20260507.232682 # sniper_platform_3.0.20260507.232682/
  • What versions are listed in steamapps/common/SteamLinuxRuntime_4/VERSIONS.txt?
#Name                 Version             Runtime  Runtime_Version Comment
depot                 4.0.20260507.232683
pressure-vessel       0.20260505.0
pressure-vessel-arm64 0.20260505.0
scripts               0.20260505.0
steamrt4              4.0.20260507.232683 steamrt4 4.0.20260507.232683 # steamrt4_platform_4.0.20260507.232683/

Additional system details:

Kernel: Linux 6.18.34-1-cachyos-lts x86_64
GPU: NVIDIA GB202 [GeForce RTX 5090]
NVIDIA driver: NVIDIA UNIX Open Kernel Module 610.43.02
App: ThiccThocc, native Linux Steam app, app ID 4548640
Frontend runtime: Electron 42.3.3

Please describe your issue in as much detail as possible:

A native Linux Steam app using Electron 42.3.3 crashes or becomes unusable when launched through Steam Linux Runtime 4.0 with Chromium/Electron native Wayland enabled on an NVIDIA system.

The failure appears to happen in Chromium's GPU/Skia/ANGLE path. The app works when forced to X11/XWayland. It also works when forced to native Wayland with GPU disabled. Disabling VAAPI does not fix it.

Expected result:

The Electron app should render normally under native Wayland inside Steam Linux Runtime 4.0.

Actual result:

Native Wayland fails in the Chromium GPU compositor path, then the detached Electron GUI exits with SIGTRAP.

Relevant log excerpt from slr-app4548640-t20260608T192616.log:

2026-06-08T17:26:17.428Z INFO [runtime] PRESSURE_VESSEL_RUNTIME=steamrt4_platform_4.0.20260507.232683
2026-06-08T17:26:18.258Z INFO [electron] skipping --ozone-platform=x11 force (THICCTHOCC_OZONE_PLATFORM_HINT set; Electron main owns ozone selection)
2026-06-08T17:26:18.346Z INFO [electron]: [thiccthocc-frontend] ozone-platform=wayland (THICCTHOCC_OZONE_PLATFORM_HINT)
2026-06-08T17:26:19.185Z INFO [electron]: [electron] main reveal (did-finish-load-fallback): show()
2026-06-08T17:26:19.188Z WARN [electron]: [307425:0608/192619.188440:ERROR:media/gpu/vaapi/vaapi_wrapper.cc:1658] vaInitialize failed: unknown libva error
2026-06-08T17:26:19.340Z WARN [electron]: [307425:0608/192619.340149:WARNING:ui/gl/angle_platform_impl.cc:52] FramebufferGL.cpp:1327 (checkStatus): GL framebuffer returned incomplete: 0x00008CD6
2026-06-08T17:26:19.340Z WARN [electron]: [307425:0608/192619.340163:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:408] Unable to initialize SkSurface
2026-06-08T17:26:19.340Z WARN [electron]: [307425:0608/192619.340311:ERROR:gpu/command_buffer/service/raster_decoder.cc:1115]   RasterDecoderImpl: Context lost during MakeCurrent.
2026-06-08T17:26:19.340Z WARN [electron]: [307425:0608/192619.340390:ERROR:gpu/ipc/service/shared_image_stub.cc:579] SharedImageStub: context already lost
2026-06-08T17:26:44.770Z WARN [electron] detached GUI exited with signal: 5 (SIGTRAP) (core dumped)

The app also has a native Wayland canary. On this system, the canary detects the failure and falls back to X11/XWayland:

[electron-canary]: [thiccthocc-frontend] ozone-platform=wayland
[electron-canary]: [thiccthocc-frontend] display-canary failed reason=UnknownVizError
[electron] native Wayland probe failed reason=exit_status:exit status: 70; falling back to X11/XWayland
[electron]: [thiccthocc-frontend] ozone-platform=x11

Comparison:

Works:
- Steam Runtime 4 + X11/XWayland
- Steam Runtime 4 + native Wayland + GPU disabled

Fails:
- Steam Runtime 4 + native Wayland + GPU enabled
- Steam Runtime 4 + native Wayland + VAAPI disabled

This does not look like only a VAAPI/video-decoding issue. It looks more like Chromium GPU compositing / Skia / ANGLE / GL context loss on native Wayland, possibly involving pressure-vessel host-driver integration, NVIDIA, or Electron/Chromium.

Timeline note: during earlier SteamRT4 testing there was a short period where native Wayland appeared to work, or at least appeared usable enough that I did not notice this failure. The available Steam console logs show native Wayland / auto-Wayland testing on SteamRT4 by 2026-05-31 with steamrt4_platform_4.0.20260415.225012; those runs already contain Unable to initialize SkSurface / Context lost during MakeCurrent messages, although the window sometimes reached main reveal before failing. By 2026-06-08 on steamrt4_platform_4.0.20260507.232683, the failure is reliably caught by the native Wayland canary as UnknownVizError, or crashes with SIGTRAP when Wayland is forced. I am not sure whether the relevant change was a Steam Runtime update, NVIDIA driver update, app/Electron changes, or intermittent driver/runtime state. I do not want to assign blame here; I am mentioning it in case it helps correlate with runtime or driver changes. I'm mentioning this point, because the issue was already present with the Steam Linux Runtime 3 (sniper). When the SteamRT4 came out, I switched to it - and it was working during this brief period.

Additional observation: during one reproduction run started via STEAM_LINUX_RUNTIME_LOG=1 steam, VRAM usage unexpectedly filled almost completely and appeared to be attributed to the app after opening Steam Runtime Diagnostics. I could not reproduce this on a later restart, so this may be intermittent driver/runtime state rather than a deterministic app leak.

I can provide the full STEAM_LINUX_RUNTIME_LOG=1 logs and a minimal Electron repro if useful.

Attached/provided in Gist:

steamlinuxruntime_diagnostics
slr-app4548640-t20260608T192616.log
slr-app0-t20260608T192043.log
steam-runtime-system-info-1780939394.txt

Steps for reproducing this issue:

  1. Start Steam from a Wayland desktop session on an NVIDIA system with Steam Runtime logging enabled:
STEAM_LINUX_RUNTIME_LOG=1 steam
  1. Launch ThiccThocc Keyboard Studio through Steam Linux Runtime 4.0. (Note: it isn't public yet, I'll submit the app soon for Valve review. Hopefully, this can still help)

  2. Force Electron native Wayland with launch options equivalent to:

THICCTHOCC_OZONE_PLATFORM_HINT=wayland %command%
  1. Observe Chromium/Electron GPU errors and GUI crash:
FramebufferGL.cpp ... GL framebuffer returned incomplete: 0x00008CD6
Unable to initialize SkSurface
RasterDecoderImpl: Context lost during MakeCurrent.
detached GUI exited with signal: 5 (SIGTRAP) (core dumped)
  1. Compare with X11/XWayland:
THICCTHOCC_OZONE_PLATFORM_HINT=x11 %command%

This works.

  1. Compare with native Wayland plus GPU disabled:
THICCTHOCC_OZONE_PLATFORM_HINT=wayland THICCTHOCC_ELECTRON_DISABLE_GPU=1 %command%

This also works.

  1. Compare with native Wayland plus VAAPI disabled:
THICCTHOCC_OZONE_PLATFORM_HINT=wayland THICCTHOCC_ELECTRON_DISABLE_VAAPI=1 %command%

This still fails.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions