sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.03k stars 69 forks source link

Game Menu: Add option to disable Native Linux Steam Linux Runtime coming from Compatibility Tool #1090

Closed sonic2kk closed 2 months ago

sonic2kk commented 2 months ago

Implements #1088. Soft prerequisite for #1087.

If a native game is launched with a Steam Linux Runtime Compatibility Tool selected, either by the user or Valve Testing, the Steam Linux Runtime will come in the game launch command. However a user may want to ignore this for any reason, so this adds a checkbox to allow users to ignore the incoming Steam Linux Runtime and let SteamTinkerLaunch find it.

This has only been minimally tested, and needs regression testing. Also, langfiles need to be updated. I noticed in testing DESC_USESLR, a string unrelated to this PR, has a typo, so I fixed it in the english.txt. This will also need to be fixed in other langfiles where appropriate alongside adding the new strings for the checkbox in this PR to the other langfiles.

This PR is a soft prerequisite for #1087 because it makes that feature more useful. By allowing to disable the incoming SLR in this PR, it means choosing a different SLR is much easier. Once #1087 is implemented it means a user could use this PR to disable a Valve Testing-selected SLR 1.0, and then use #1087 to select SLR 3.0 to let STL find that SLR for the game.


Following this PR and any work for related issue #1087, we need to update the Steam Linux Runtime wiki page to have more information about what it is, how SteamTinkerLaunch uses it (will attempt to find the required Steam Linux Runtime stipulated by a Proton version's toolmanifest.vdf, otherwise will default to SLR 1.0 for native games, and if an SLR is incoming for a native game from a selected SLR compatibility tool then STL will always use this unless this PR's checkbox is enabled).

sonic2kk commented 2 months ago

CI is running twice, god dammit...

sonic2kk commented 2 months ago

Okay, CI seems fixed now. It should only run on push for branches, and will run for pull request events if the branch is from a fork.

sonic2kk commented 2 months ago

Tested the following games, eveything works as expected:

This PR seems to be ready to merge pending a version bump.

EDIT: Oops, didn't push the change I had locally to make a change in logic to when we check HAVESLR -eq 1. Will push with the version bump and merge.