Main Menu: Add button to install Steam Linux Runtime #870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements #871.
Overview
This PR replaces the wiki button on the Main Menu with a button to tell Steam to fetch the Steam Linux Runtime required by a given game. It uses the current game AppID and passes that to
commandlineFetchGameSLR
, which manages calling out to get the SLR required by the given Proton version. We also attempt to check for native games with anISGAME -eq 3
check (though this will always be true if not running from Steam).This is essentially an attempt to emulate the
getslr
command but from the Main Menu (#861). In quick testing it works and fetches the right Steam Linux Runtime, but we will see. There is scope in future to extend this to allow selecting the SLR in general, from a checkbox menu kind of like the Steam Eval Script menu. We could have a list of SLRs and by default highlight the one we think the game needs. But for now this initial implementation works.Rationale
There are a couple of reasons for opting to replace the Wiki button on the Main Menu:
Remaining Work
There are some pieces of remaining work. Namely, we should update the Steam Linux Runtime wiki page before merging this, so if a user reads it and thinks "What is the Steam Linux Runtime?", we can have a wiki page for them to read with some background information on it, why it needs to be downloaded separately with STL, and what issues it can fix by enabling/disabling it.
I would also like to add a notifier to note when the selected Steam Linux Runtime is either installed, or when Steam has been told to install it. This won't show anything in SteamOS Game Mode but that's not really our problem :-)
TODO: