STEAM_COMPAT_LIBRARY_PATHS documentation doesn't match implementation
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- documentation, operating-systems
Research direction
Start with docs/steam-compat-tool-interface.md at the cited lines, then compare the path handling in bin/launch-options.py lines 1660-1664 with steam_helper/steam.c around line 796. Confirm the expected STEAM_COMPAT_LIBRARY_PATHS convention for both SLR and Proton, then update the documentation and relevant implementation so the convention is consistent and libraryfolders.vdf remains usable.
Written by the indexing model from the issue text.
Description
Your system information
- Steam Runtime Version: 4.0
- Distribution (e.g. Ubuntu 18.04): CachyOS
- Have you checked for system updates?: Yes
- What compatibility tool are you using?: Steam Linux Runtime / Proton 5.13+
- What versions are listed in
steamapps/common/SteamLinuxRuntime/VERSIONS.txt?
#Name Version Runtime Runtime_Version Comment
depot 1.0.20260618.246542 # Overall version number
LD_LIBRARY_PATH 1.0.20260618.246542 scout 1.0.20260618.246542 # steam-runtime/
scripts 0.20260618.0 # from steam-runtime-tools
- What versions are listed in
steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt?
#Name Version Runtime Runtime_Version Comment
depot 2.0.20260805.254767 # Overall version number
pressure-vessel 0.20260805.0
pressure-vessel-arm64 0.20260805.0
scripts 0.20260805.0 # from steam-runtime-tools
soldier 2.0.20260805.254767 soldier 2.0.20260805.254767 # soldier_platform_2.0.20260805.254767/
- What versions are listed in
steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt?
#Name Version Runtime Runtime_Version Comment
depot 3.0.20260805.254768 # Overall version number
pressure-vessel 0.20260805.0
pressure-vessel-arm64 0.20260805.0
scripts 0.20260805.0 # from steam-runtime-tools
sniper 3.0.20260805.254768 sniper 3.0.20260805.254768 # sniper_platform_3.0.20260805.254768/
- What versions are listed in
steamapps/common/SteamLinuxRuntime_4/VERSIONS.txt?
#Name Version Runtime Runtime_Version Comment
depot 4.0.20260805.254769 # Overall version number
pressure-vessel 0.20260805.0
pressure-vessel-arm64 0.20260805.0
scripts 0.20260805.0 # from steam-runtime-tools
steamrt4 4.0.20260805.254769 steamrt4 4.0.20260805.254769 # steamrt4_platform_4.0.20260805.254769/
Please describe your issue in as much detail as possible:
There seems to be a mismatch between what exact paths are expected relative to extra Steam Libraries for the STEAM_COMPAT_LIBRARY_PATHS environment variable:
-
SteamRT expects these paths to be set to
<path>/SteamLibrary, without thesteamappschild path. Here it joins the path with thesteamappsfolder when building SLR/compat tool search paths. -
Proton expects these paths to be set to
<path>/SteamLibrary/steamapps. Here it strips the last directory when building the mainlibraryfolders.vdf.
So, if you set STEAM_COMPAT_LIBRARY_PATHS and don't include the steamapps part, SteamRT will have the appropriate search paths, but Proton will generate a broken libraryfolders.vdf. In practice, this would break launcher programs made for Windows that use this file to locate where a Steam game is located. On the other hand, if you include steamapps, SteamRT will have incorrect search paths (though I couldn't get this to break anything in my testing).
The current behavior of Steam when running a program as a non-Steam app and selecting the SLR or Proton as a compat tool, at least on my system, aligns with the Proton behavior of including steamapps in the paths, which is why I'm reporting this as an SLR bug instead of a Proton bug.
This came up as a bug in the Linux launcher for me3, a FromSoftware mod loader. We followed docs/steam-compat-tool-interface.md, which seemed to indicate that we had to populate this env var with <path>/SteamLibrary, and this ended up breaking a mod that relied on parsing libraryfolders.vdf.
What I think should be done about this
docs/steam-compat-tool-interface.md should be updated to precisely state which of these two paths is expected, and the relevant Proton or SteamRT code mentioned above should be patched to conform. In my opinion, since Steam follows what Proton expects when launching non-Steam games, it's the one that should be considered "correct".
Steps for reproducing this issue:
N/A
- Dominant language
- Shell
- Stars
- 1.5k
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ValveSoftware/steam-runtime
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
ValveSoftware/steam-runtime#857 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 40/100
ValveSoftware/steam-runtime#855 · 4 comments ·
-
Need Retest Pressure Vessel
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ValveSoftware/steam-runtime#854 · 4 comments ·
-
Need Retest
Difficulty 4/5 3-5 days Newbie friendliness 55/100
ValveSoftware/steam-runtime#853 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ValveSoftware/steam-runtime#851 · 3 comments ·
All issues in ValveSoftware/steam-runtime
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
review-drift
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oxidecomputer/hansei#14 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
rossoctl/lab-data-governance#278 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
rossoctl/serverless-harness#438 ·