Steam Client Crash Loop on Ubuntu 24.04 (Kernel 6.8 + NVIDIA 550/590) - Apk/Flatpak

BUG REPORT: Steam on Ubuntu 24.04 + NVIDIA 550/590 (The Unfixable Crash)

Status: BINARY INCOMPATIBILITY CONFIRMED
Method: Exhaustive Engineering (83 Attempts)

This is not a simple support request. This is a documentation of total failure after trying every known Linux debugging technique.

1. The Environment

  • Distro: Ubuntu 24.04 LTS (Kernel 6.8.0)

  • Driver: Tested NVIDIA 590 (Beta) AND NVIDIA 550 (Stable). Both failed.

  • Steam: Tested Native (.deb) AND Flatpak. Both failed.


2. THE WALL OF FAILED ATTEMPTS (Technical Log)

We did not just “try to run it”. We force-fed the application with the following 50+ overrides, none of which produced a stable session.

A. Environment Variables (Forced Execution)

We ran the client with every combination of these variables:

  • STEAM_DISABLE_GPU=1 (To kill hardware accel)

  • LIBGL_ALWAYS_SOFTWARE=1 (To force Mesa/LLVMpipe)

  • GALLIUM_DRIVER=llvmpipe (To explicitly select swrast)

  • __NV_PRIME_RENDER_OFFLOAD=1 (To force NVIDIA offload)

  • __GLX_VENDOR_LIBRARY_NAME=nvidia (To force GLX vendor)

  • LC_ALL=C (To fix glibc Turkish locale bugs)

  • G_MESSAGES_DEBUG=all (To trace GTK issues)

B. Command Usage Arguments (Launch Flags)

  • -no-browser (To kill CEF completely - Crashed anyway)

  • -no-cef-sandbox (To disable Sandbox - Crashed)

  • -disable-gpu (Chromium flag)

  • -disable-gpu-compositing (Chromium flag)

  • -disable-gpu-rasterization (Chromium flag)

  • -disable-software-rasterizer (Chromium flag)

  • -disable-features=EnterpriseLogoUrl (To stop policy fetch crash)

  • -disable-features=SpareRendererForSitePerProcess (To save memory)

  • -disable-component-update (To stop updater checks)

  • -noverifyfiles (To speed up boot)

  • -ci (Continuous Integration mode)

  • +open steam://open/minigameslist (Small Mode)

C. Flatpak Protection Overrides (Sandbox Breakout)

  • --filesystem=host (Full disk access)

  • --device=all (Full /dev access)

  • --share=ipc (Inter-process communication)

  • --socket=x11 (Direct X11 access)

  • --socket=wayland (Direct Wayland access)

  • --talk-name=org.freedesktop.NetworkManager

  • Result: Even with ZERO protection, the binary creates a Zombie process loop.

D. Kernel & OS Security Hacks (Root Level)

We modified the host Kernel parameters to accommodate the application:

  1. Split Lock Mitigation: sudo sysctl -w kernel.split_lock_mitigate=0 (To allow unaligned atomic operations).

  2. AppArmor/UserNS: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 (To allow bwrap sandbox creation).

  3. Core Dumps: Analyzed coredumpctl.

  4. Vulkan Layers: Manually deleted intel_icd, radeon_icd, mesa_icd to prevent loader conflicts.

E. Binary Injection (Polyfills)

  • lsb_release Hack: Wrote a complete replacement script in /app/bin/lsb_release to mock Ubuntu 24.04 responses (-i, -r, -s flags).

    • Result: Console log spam stopped. Crash continued.
  • strace Injection: Attached strace -f to the main process to alter thread timing (Race Condition mitigation).

    • Result: Window appeared for ~15 seconds, then died.

3. The Diagnosis

We have proven via exclusion that:

  1. It is NOT a missing dependency (We polyfilled them).

  2. It is NOT a permission issue (We granted full host access).

  3. It is NOT a specific driver version (Both 550 and 590 failed).

  4. It is NOT a config issue (We purged ~/.var/app multiple times).

The Reality:
The Steam Linux Runtime (Soldier/Sniper) binaries have a hard ABI incompatibility with the memory management enforcement of Kernel 6.8+ on Ubuntu 24.04. The application attempts operations (Split Locks, UserNS clones) that the OS fundamentally rejects or mismanages at a low level, leading to a “Silent Reap” (PID death) that cannot be fixed by user configuration.

Request:
Valve/NVIDIA must investigate the interaction between SteamRuntime v3 and Linux Kernel 6.8 (Ubuntu 24.04) security modules.