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

Update launcher and packaging #95

Merged
merged 16 commits into from
Apr 25, 2024

Conversation

R1kaB3rN
Copy link
Member

@R1kaB3rN R1kaB3rN commented Apr 20, 2024

This pull request makes few changes in the launcher and the launcher's packaging. Only the umu_version.json configuration file will be copied to the user's home directory, and the umu-launcher compatibilitytool will be installed in Valve's official system path. The configuration file and the runtime platform are the only files needed in the home directoy to execute games.

In addition, the umu-launcher compatibility tool will remain hidden for now until umu has built its custom runtime. The umu Flatpak's access to ~/.local/share is now limited to ~/.local/share/Steam instead of exposing the entire directory. This is good for security, and the launcher only requires ~/.local/share/Steam to write Proton. If the launcher ever needs more access to files, such as ~/.local/share/lutris, the manifest should be changed to allow them.

@R1kaB3rN R1kaB3rN changed the title Update Flatpak Update launcher and packaging Apr 20, 2024
- For now, execute the launcher within the Flatpak sandbox. Breaking out the sandbox via flatpak-spawn is discouraged and breaks Flatpak's security model. It may also require other Flatpak applications to make additional changes in their manifest, which they may not be supportive to do for this practice. Unless necessary or proven to be very problematic, execute within the Flatpak sandbox
- To run games, the only required files to be in the user's home directory is the runtime platform and the reaper executable. The launcher files will remain in their system path that's been configured in build time.
- The directory /usr/share/steam/compatibilitytool.d is an official system path supported by Valve's Steam client to search for community-based tools and to use them as compatibility tools to run games. Instead of copying the umu-launcher directory to ~/.local/share/Steam/compatibilitytool.d we can install it in its system path. That way, there's less to copy/remove and the files there can be managed by the distribution's package manager
- The system path compatibilitytools.d directory will be used instead
- The launcher only needs this directory to write Proton. For now, just limit access to this directory instead of exposing user's entire ~/.local/share
- For now, hide this tool in the Steam client until the umu runtime platform is released.

- Related to Open-Wine-Components#4
- Reaper can be executed directly from the system path. All we need in the home directory is the runtime platform
- While those files will not be copied anymore, we still need to update them in umu_version.json if we want the configuration files to be in sync
- Update the tests to account for the launcher files, umu-launcher and reaper not being copied to the home directory. Those files will remain in their system path defined at buid time, which makes the umu_version.json in ~/.local/share/umu and the runtime platform the only files in ~/.local/share/umu.
@R1kaB3rN R1kaB3rN merged commit ca897f2 into Open-Wine-Components:main Apr 25, 2024
4 checks passed
@R1kaB3rN R1kaB3rN deleted the flatpak-update branch April 25, 2024 17:17
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