protonscr

SteamRT3 client container has no python3, silently breaking compat tools without `require_tool_appid`

steamopen
ValveSoftware/steam-for-linux#13520 · opened 2026-08-15 by CeaseFunction · updated 2026-08-17 · 1 comments · github
1 matching comments, n / p to jump
CCeaseFunction 2026-08-15 github

Your system information

  • Steam client build: 1786661881 (Beta)
  • Steam package: 1.0.0.87-1
  • Distribution: CachyOS Linux (Arch-based), rolling
  • Kernel: 7.1.8-1-cachyos
  • Container image: steamrt3c_platform_3c.0.20260729.253765
  • Compat tool: proton-cachyos 11.0-20260703, native (non-SLR) build

Please describe your issue in as much detail as possible

With the experimental SteamRT3 client enabled, games launched with a compatibility tool whose
toolmanifest.vdf has no require_tool_appid inherit Steam's own steamrt3c container. That
image ships no python3 on PATH, so proton's #!/usr/bin/env python3 shebang fails to
exec and the script never runs.

The failure is completely silent — no stderr, nothing in console-linux.txt, no PROTON_LOG
file, no Wine process. The game returns to "Play" in under a second with no diagnosable trace.

This is a regression: the same tool works under the legacy ubuntu12_32 client, where the
shebang resolves against the host's /usr/bin/python3.

SLR-based tools are unaffected — require_tool_appid gets them a runtime container that does
ship an interpreter (SteamLinuxRuntime_4/steamrt4_platform_4.0.20260805.254769/files/bin/python3.13).

Steps for reproducing this issue

  1. Install a compat tool with no require_tool_appid in its toolmanifest.vdf (a "native"
    build targeting host libraries), e.g. to /usr/share/steam/compatibilitytools.d/<tool>/.
  2. Enable Settings → Interface → Use experimental SteamRT3 Steam Client, restart Steam.
  3. Force any Windows title to use that tool and press Play.

Expected: game launches, as under the legacy client.
Actual: process exits in under a second, no error logged anywhere.

Evidence

Tool is invoked through the container's host-passthrough view, confirming it inherits the
client's namespace:

# legacy client — works
.../ubuntu12_32/reaper SteamLaunch AppId=<ID> -- '/usr/share/steam/compatibilitytools.d/<tool>'/proton …

# SteamRT3 client — silent failure
.../steamrt64/reaper  SteamLaunch AppId=<ID> -- '/run/host/usr/share/steam/compatibilitytools.d/<tool>'/proton …

No interpreter in the container (via /proc/<steam-pid>/root):

PRETTY_NAME="Steam Runtime 3c (steamrt3c)"
PATH=/usr/bin:/bin
# no python3 in /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
# /usr/bin holds 328 binaries, none matching *python*

Host interpreter is visible but not on PATH, so the shebang can't reach it:

/run/host/usr/bin/python3 -> python3.14

Same tool run directly on the host works fine:

Proton: Upgrading prefix from None to CachyOS-11.0-100 (…)
ntsync: up and running.

Disabling the SteamRT3 client fixes it immediately — PROTON_LOG=1 now produces a ~19 MB log
where previously no file was created at all.

Suggested fixes

  1. Ship python3 in the steamrt3c image — compat tools are Python scripts by convention.
  2. Don't run require_tool_appid-less tools inside the client container; a tool declaring no
    runtime is asking for the host environment.
  3. Regardless of the above: surface the exec failure in console-linux.txt. The total silence
    is the worst part of this bug.

Workaround

Disable Settings → Interface → Use experimental SteamRT3 Steam Client, or remove
~/.local/share/Steam/.steam-enable-steamrt64-client (equivalently STEAM_FORCE_CLIENT=ubuntu12_32).

Ssmcv 2026-08-17 github

Please provide the logs requested in the issue template, especially the line with a lot of \0 in it from console_log.txt, which indicates what command-line Steam is actually launching.

I was unable to reproduce the symptom described with Proton 5.0, which is an example of an official compat tool that is too old to be using require_tool_appid. Steam logs this in console_log.txt:

[2026-08-17 18:27:20] steam-runtime-launch-client\0--alongside-steam\0--forward-fd=193\0--\0/home/user/.local/share/Steam/steamrt64/pv-runtime/steam-runtime-steamrt/bin/steam-runtime-supervisor\0--terminate-when-signaled\0--env-fd=193\0--\0/bin/sh\0-c\0/home/user/.local/share/Steam/steamrt64/steam-launch-wrapper -- /home/user/.local/share/Steam/steamrt64/reaper SteamLaunch AppId=312990 -- '/home/user/SteamLibrary/steamapps/common/Proton 5.0'/proton waitforexitandrun '/home/user/SteamLibrary/steamapps/common/Broforce The Expendables Missions/Expendabros.exe'\0^M

indicating that steam-launch-wrapper, reaper and proton are being run outside the steamrt3c container.

Proton versions

Launch options