steamtinkerlaunch icon indicating copy to clipboard operation
steamtinkerlaunch copied to clipboard

Custom Commands + Only Custom Command Crash with GameScope with Steam Linux Runtime Enabled

Open sonic2kk opened this issue 1 year ago • 0 comments

System Information

  • SteamTinkerLaunch version: v14.0.20241228-1
  • Distribution: Arch Linux
  • Installation Method: Makefile

Issue Description

This issue was discovered when investigating #1232.

Problem

Using the Steam Linux Runtime with Custom Commands launched as Only Custom Commands does not work with GameScope enabled. The Custom Command simply crashes if USECUSTOMCMD=1, ONLY_CUSTOMCMD=1 EXTPROGS_CUSTOMCMD=1, CUSTOMCMD_USESLR=1, and USEGAMESCOPE=1 are all set.

The command in the log does not look correct based on where the quotes are, and trying to run this from the commandline does not work either when manually giving the needed Steam variables for Proton.

Arguments given to GameScope do not affect this bug; a blank or configured GameScope arguments list will cause the problem.

Possible Cause

The core of the issue seems to be that we put the Steam Linux Runtime command first, and then GameScope. This causes the crash as when running inside of the Steam Linux Runtime container, GameScope is not able to be found, since commands inside of the Steam Linux Runtime cannot access certain root paths.

Here is an example launch command for a Proton game running from Steam and not as a Custom Command, with the Steam Linux Runtime and GameScope both enabled:

Sun 23 Mar 19:55:02 GMT 2025 INFO - startGame - ## STL LAUNCH COMMAND: '/usr/local/bin/gamescope -- /run/media/emma/500GB SSD/Games/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- /run/media/emma/2B/Games/steamapps/common/Proton 9.0 (Beta)/proton waitforexitandrun /run/media/emma/Steiner/Games/steamapps/common/Happy Sheepies/Happy Sheepies.exe'

Note that GameScope goes first.

When running a Custom Command with the Steam Linux Runtime, GameScope, and the option to pass external programs to Custom Commands enabled, here is what the launch command looks like:

Sun Mar 23 20:01:02 GMT 2025 INFO - extProtonRun - "/run/media/emma/500GB SSD/Games/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- /usr/local/bin/gamescope --" "/run/media/emma/2B/Games/steamapps/common/Proton 9.0 (Beta)/proton" run "/run/media/emma/Steiner/Games/steamapps/common/Happy Sheepies/Happy Sheepies.exe"

Note that the GameScope command is inside of the Steam Linux Runtime, whereas GameScope should be outside of it.

Logs

sonic2kk avatar Mar 23 '25 20:03 sonic2kk