Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

STEAM_COMPAT_LIBRARY_PATHS documentation doesn't match implementation

Open
#856 6 comments 0 reactions 0 assignees View on GitHub

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
Tech stack
c, linux, python

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 the steamapps child path. Here it joins the path with the steamapps folder 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 main libraryfolders.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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ValveSoftware/steam-runtime

All issues in ValveSoftware/steam-runtime

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.