-
Notifications
You must be signed in to change notification settings - Fork 72
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
Vortex: Add option to use Steam Linux Runtime #807
Conversation
Vortex runs with Proton, but doesn't run inside of the SLR. This may be causing compatibility issues on Steam Deck. This PR adds a new option to the Vortex options in the Global Menu to enable the Steam Linux Runtime with Vortex. The changes required to implement this were non-trivial, but a combination of Proton and native games were tested before and after launching Vortex from the Global Menu (to ensure SLRCMD from the Vortex launch was not being re-used for the game launch). Everything in testing appears to still work fine. The `setSLRReap` function was changed significantly to enable this functionality. It can now take an option to force Proton (instead of falling back to ISGAME=3 which causes native Linux SLR to be selected). It can also take a custom Proton version to use, so we don't use RUNPROTON by default. This means we can pass the Vortex version to getSLRReap and fetch the correct Steam Linux Runtime specified in its toolmanifest. This implementation has the issue of very old compatibility tools which pass the SLR to use from the launch command will probably not work, as Vortex cannot detect this. However, recent Vortex versions require an up-to-date Wine anyway, so I doubt this is a problem. The changes made to setSLRReap here should make it more straightforward to integrate with One-Time Run, MO2, and any other third-party application. It could also help with a future custom command overhaul where custom-commands could have a dedicated Proton version separate from the game (#625).
There was one instance during development where Vortex warned me that the installation was corrupt and that I should reinstall. The warning has not come back and could have come up because of some changes/incorrect logic in how the SLR was being/not being applied. This should be investigated before merging, to see if it is a real issue and reproducible or if it is just a case of Wine being weird. |
Merge conflict was just langfile from recent PRs, and STL version as usual. |
According to #806 (comment), Sniper runtime fixes Vortex (should be used by Proton 8 builds). Will do a little bit of further testing and probably merge this soon. |
Forgot to mention it in the commit, but 70af528 enables the SLR with Vortex by default. If it can't find the given SLR it should fall back to running without it, like we do for game launches, and it appears to fix more issues than it doesn't, so I figure it's safe to enable by default. |
Shellcheck looks good, version bumped, ready to merge. |
Vortex runs with Proton, but doesn't run inside of the SLR. This may be causing compatibility issues on Steam Deck.
This PR adds a new option to the Vortex options in the Global Menu to enable the Steam Linux Runtime with Vortex. The changes required to implement this were non-trivial, but a combination of Proton and native games were tested before and after launching Vortex from the Global Menu (to ensure SLRCMD from the Vortex launch was not being re-used for the game launch). Everything in testing appears to still work fine.
The
setSLRReap
function was changed significantly to enable this functionality. It can now take an option to force Proton (instead of falling back to ISGAME=3 which causes native Linux SLR to be selected). It can also take a custom Proton version to use, so we don't use RUNPROTON by default. This means we can pass the Vortex version to getSLRReap and fetch the correct Steam Linux Runtime specified in its toolmanifest.This implementation has the issue of very old compatibility tools which pass the SLR to use from the launch command will probably not work, as Vortex cannot detect this. However, recent Vortex versions require an up-to-date Wine anyway, so I doubt this is a problem.
The changes made to setSLRReap here should make it more straightforward to integrate with One-Time Run, MO2, and any other third-party application. As a result, these changes will actually end up being a prerequisite to some of the work in #788. It could also help with a future custom command overhaul where custom-commands could have a dedicated Proton version separate from the game (#625).
Currently in my testing this has not caused any regressions with Vortex launches on my Linux Desktop (Arch Linux KDE Plasma Wayland), but mod compatibility etc remains to be seen.
TODO: