Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

One-Time Run: Allow Steam Linux Runtime #826

Merged
merged 11 commits into from
Jun 10, 2023
Merged

One-Time Run: Allow Steam Linux Runtime #826

merged 11 commits into from
Jun 10, 2023

Conversation

sonic2kk
Copy link
Owner

@sonic2kk sonic2kk commented Jun 7, 2023

More work for #788.

Overview

Using the Steam Linux Runtime can improve compatibility with executables, particularly on Steam Deck with builds of Proton 8 and above. Though this is not always the case.

In spite of this, Proton is intended to be used with the Steam Linux Runtime (though not fully intended to be used outside of Steam in general). Giving users the option to use the SLR is consistent with how Proton is supposed to be used, and allows users to toggle it based on their needs.

I have yet to see an instance personally where this is required for One-Time Run, but I have yet to run into a case where I required the Steam Linux Runtime on my PC. This option may be useful on Steam Deck for One-Time Run where applications may fail.

Implementation

We fetch the SLR to use using Pressure Vessel Funtime in setSLRReap, called from setNonGameSLRReap. We tell setNonGameSLRReap whether to get the native or Proton SLR based on ISWINDOWSEXE.

The SLR can be enabled from the GUI by checking the "Use Steam Linux Runtime" option. On the command line, it can be toggled with the --useslr flag. STL can then infer what SLR it needs to get. Example usage:

$ steamtinkerlaunch otr 1290000 --exe="/path/to/app.exe" --useslr

$ steamtinkerlaunch otr 1290000 --exe="/path/to/script.sh" --useslr

TODO

  • Test for regression with "Save" option
  • Update help screen to include --useslr option
  • Update notifier to note when we are/aren't using the Steam Linux Runtime (will require a new language string)
  • Update wiki
  • Update langfiles

sonic2kk added 3 commits June 7, 2023 01:06
No frontend options yet, and this was written at 1am,
so it should be re-checked.
Also includes some shellcheck fixes.
@sonic2kk
Copy link
Owner Author

Options same to all be saving correctly except for the Proton version, odd...

@sonic2kk
Copy link
Owner Author

Fixed the saving issue.

It gets cut off on my KDE machine but it's fine
@sonic2kk
Copy link
Owner Author

Notifier added. Langfiles and wiki need updated now.

@sonic2kk
Copy link
Owner Author

@sonic2kk
Copy link
Owner Author

Langfiles updated, this should be ready to merge

@sonic2kk
Copy link
Owner Author

Did one final round of testing (using Committee of Zero STEINS;GATE patch installer) and everything works as expected.

@sonic2kk sonic2kk merged commit 6525411 into master Jun 10, 2023
@sonic2kk sonic2kk mentioned this pull request Jun 10, 2023
6 tasks
@sonic2kk sonic2kk deleted the one-time-runtime branch June 10, 2023 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant