protonscr

Steam webhelper GPU process crashes ~15-20s after initialization (GL_GUILTY_CONTEXT_RESET_KHR, NVIDIA, all backends)

steamopen NVIDIA driversDistro Family: UbuntuWeb Component
ValveSoftware/steam-for-linux#12995 · opened 2026-03-16 by mwotton · updated 2026-03-16 · 1 comments · github
Mmwotton 2026-03-16 github

System Info

  • OS: Ubuntu 26.04
  • Kernel: 6.19.0-9-generic
  • GPU: NVIDIA GeForce RTX 3060
  • NVIDIA Driver: 590.48.01 (also reproduced on 580.126.09)
  • Mesa: 26.0.1
  • Display: X11 (Steam runs under dedicated steam user)
  • Steam: Native package (/usr/games/steam), NOT Flatpak
  • Steam home: /mnt/exports/base/steam-headless/home

Description

Steam webhelper's GPU process crashes consistently ~15-20 seconds after successfully initializing GPU acceleration. After the crash, Steam falls back to software rendering.

The GPU features (webgl, gpu_compositing, video_decode, 2d_canvas) all show as enabled initially, then the GPU process crashes during rendering and Steam disables acceleration.

Different failure modes depending on backend:

Backend Error Timing
EGL (default) GL_GUILTY_CONTEXT_RESET_KHR via GL robustness ~15-20s after init
GLX (-cef-force-glx) GL_GUILTY_CONTEXT_RESET_KHR via GL robustness ~15-20s after init
Vulkan (-cef-use-vulkan) vkAcquireNextImageKHR() failed: -1000001004 (VK_ERROR_OUT_OF_DATE_KHR) + SharedContextState context lost via Skia ~6-15s after init

All paths result in GPU process exit (code 8704) and eventual fallback to software rendering.

Symptoms

  • UI works but feels sluggish due to software rendering fallback
  • GPU process crash-loops until Steam gives up and uses software
  • webhelper_gpu.txt shows: gpu_compositing: enabled → crash → gpu_compositing: disabled_software

Errors

With EGL/GLX backends:

[ERROR:shared_context_state.cc(1205)] : SharedContextState context lost via ARB/EXT_robustness. Reset status = GL_GUILTY_CONTEXT_RESET_KHR
GpuProcessHost: The GPU process exited with code 8704.

With Vulkan backend (-cef-use-vulkan):

[ERROR:vulkan_swap_chain.cc(440)] : vkAcquireNextImageKHR() failed: -1000001004
[ERROR:shared_context_state.cc(1157)] : SharedContextState context lost via Skia.
GpuProcessHost: The GPU process exited with code 8704.

Also appears in logs:

[problems[5]] : Some drivers can't recover after OUT_OF_MEM and context lost

Eventually:

Disabling GPU acceleration: Disabled/CrashCount

Reproduction

  1. Launch Steam with GPU acceleration forced: steam -cef-force-gpu -cef-disable-gpu-sandbox
  2. Observe GPU features initialize as "enabled" in webhelper_gpu.txt
  3. Wait ~15-20 seconds
  4. GPU process crashes with GL_GUILTY_CONTEXT_RESET_KHR
  5. Steam falls back to software rendering

Test Matrix

Test Driver Result
-cef-force-gpu (EGL) 580.126.09 Crashes with GL robustness error
-cef-force-gpu -cef-force-glx 580.126.09 Same crash (GLX doesn't help)
__GL_THREADED_OPTIMIZATION=0 __GL_SHADER_DISK_CACHE=0 580.126.09 Same crash
GBM_BACKENDS_PATH=/run/host/usr/lib/x86_64-linux-gnu/gbm 580.126.09 Same crash
-cef-force-gpu (EGL) 590.48.01 Same crash
-cef-force-gpu -cef-force-glx 590.48.01 Same crash
-cef-force-gpu -cef-use-vulkan 590.48.01 Crashes with Vulkan swap chain error
Default (no flags) 590.48.01 GPU tries, crashes, falls back to software

Key Evidence

  1. GPU features DO initialize - webhelper_gpu.txt shows all features as enabled before any crash
  2. No kernel Xid/NVRM errors - dmesg shows no NVIDIA driver-level errors during crashes
  3. Both EGL and GLX crash with same GL robustness error - rules out EGL-specific issues
  4. Vulkan crashes with different error (swap chain failure) - suggests the root cause may differ by backend, but outcome is the same
  5. Cross-driver repro - both 580.126.09 and 590.48.01 behave identically
  6. Consistent timing - crash always occurs seconds after GPU init

Environment Details

  • NVIDIA GBM backend exists: /usr/lib/x86_64-linux-gnu/gbm/nvidia-drm_gbm.so
  • Mesa GBM backend exists: /usr/lib/x86_64-linux-gnu/gbm/dri_gbm.so
  • All NVIDIA EGL libraries present and properly linked
  • X11 access verified for steam user
  • Steam runs via custom launch script under dedicated steam user

Related Issues

  • #12658 - Steam fails after upgrading to 580.126.09 (GPU never detected)
  • #12694 - Big Picture lag fixed by -cef-force-glx (EGL init failure)
  • Our issue differs: GPU initializes successfully but crashes during rendering, and GLX doesn't help

Logs

https://gist.github.com/mwotton/15319f07afe56272c8734c5cc0826219

Mmwotton 2026-03-16 github

Log files attached:

  • webhelper_gpu.txt (trimmed to last 500 lines): Shows GPU features initializing as enabled, then crash-loop with GL_GUILTY_CONTEXT_RESET_KHR, then fallback to disabled_software
  • cef_log.txt: CEF browser log

https://gist.github.com/mwotton/15319f07afe56272c8734c5cc0826219