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

feat: automatically use the correct runtime #201

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

R1kaB3rN
Copy link
Member

@R1kaB3rN R1kaB3rN commented Oct 5, 2024

Related to #178 and #154

Changes

  • Deletes umu_version.json in favor updating global variables in __init__.py.
  • Updates the directory structure of $HOME/.local/share/umu to store SLRs in subdirectories.
  • Adds downloading and automatically changing to the correct runtime for Proton each launch

Description

This PR changes the launcher so it automatically changes to the correct runtime for the set Proton each launch to prepare for future updates, and to downloaded the appropriate runtime for new installations.

Currently, umu-launcher only officially supports running in the sniper container and using Proton versions compiled for it. However, not everyone will be using the latest runtime/Proton, and some clients (e.g., Steam, Heroic Games Launcher) allow their users to use obsolete Proton builds to run their games. More importantly, since updating to the latest SLR is currently a manual procedure, users may not be able to run their games in case the latest downloaded Proton and the installed SLR are out of sync as we download them in parallel and don't attempt to sync them.

Now, when the user sets an obsolete Proton build or when the runtime gets updated to a major version, umu-launcher will change to its intended runtime if it was already downloaded. This will prepare for the event when a major SLR is released (e.g., steamrt4) and when users still has some games configured in their client application to run in sniper. In that event, users will be responsible for deleting the obsolete runtimes at $HOME/.local/share/umu.

TODO:

  • Add more tests
  • Skip or attempt to synchronize with Proton updates

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