protonscr

Non-steam games launched via Proton seem not to inherit steam-runtime's LD_LIBRARY_PATH.

steamopen Steam clientProtonnon-Steam application
ValveSoftware/steam-for-linux#6475 · opened 2019-08-30 by reavertm · updated 2023-01-26 · 0 comments · github
1 matching comments, n / p to jump
Rreavertm 2019-08-30 github

Your system information

  • Steam client version (build number or date): Aug 28 2019 at 23:51:11, using Proton 4.11.3
  • Distribution (e.g. Ubuntu): Gentoo Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Non-steam games launched via Proton seem not to inherit steam-runtime's LD_LIBRARY_PATH (ot at least it looks like this), which prevents many of them from running due to unsatisfied wine libraries runtime link deps (to steam-runtime).

Steps for reproducing this issue:

(example with StarCraft remastered, some other executable did not fail in my case, I guess it's down to which .so's are provided by host system, in my case StartCraft installer failed on libldap_r*, your mileage my vary)

  1. Download StarCraft-Setup.exe from Blizzard's web page, add it as non-steam game and select Steam Play to force running it via Proton/wine.
  2. Enable PROTON_DUMP_DEBUG_COMMANDS=1 and PROTON_LOG=1
  3. Lunch it from Steam gui client. Nothing will happen but interesting things can be found in /tmp/proton_${USER} and ~/steam-*.log:

9355.206:0016:0019:err:module:load_so_dll failed to load .so lib "/home/maciek/.local/share/Steam/SteamApps/common/Proton 4.11/dist/bin/../lib64/wine/winebus.sys.so": libudev.so.0: cannot open shared object file: No such file or directory 9355.206:0016:0019:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\WineBus": c0000142 9355.207:000c:000d:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1114

Futhermore, generated /tmp/proton_${USER}/run and other scripts, lack LD_LIBRARY_PATH propagation ability that is required to run those scripts via steam-runtime:

LD_LIBRARY_PATH="/home/maciek/.local/share/Steam/SteamApps/common/Proton 4.11/dist/lib64/:/home/maciek/.local/share/Steam/SteamApps/common/Proton 4.11/dist/lib/::"

After manually fixing it to append/prepend instead of replace:
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/maciek/.local/share/Steam/SteamApps/common/Proton 4.11/dist/lib64/:/home/maciek/.local/share/Steam/SteamApps/common/Proton 4.11/dist/lib/::" and running 'run' via steam-runtime's run.sh manually, StarCraft installer actually works well and completes fine.

There are other issues still (Target" in imported non-steam game's Properties is cut on first whitespace if file path contains spaces like - Program Files, and appId propagation from game installer to game executable has to be done manually) but I guess those will warrant separate ticket.

Proton versions

Launch options