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

[Feature Request] Use the Steam Linux Runtime with Winetricks #860

Open
sonic2kk opened this issue Jul 15, 2023 · 1 comment
Open

[Feature Request] Use the Steam Linux Runtime with Winetricks #860

sonic2kk opened this issue Jul 15, 2023 · 1 comment
Labels
enhancement New feature or request Winetricks Issues related to using Winetricks with SteamTinkerLaunch

Comments

@sonic2kk
Copy link
Owner

System Information

  • SteamTinkerLaunch version: git
  • Distribution: Arch Linux

Feature Description

Various Winetricks, especially on SteamOS, require the Steam Linux Runtime to install properly. For example. dotnetdesktop6. The Steam Linux Runtime is fetched by SteamTinkerLaunch when requested (such as for a game launch) and we fetch it based on the version specified in a Proton version's toolmanifest.vdf file, under its require_app_id.

To run Winetricks in the Steam Linux Runtime, the Winetricks command needs to be wrapped in the Steam Linux Runtime command. We have a function that can get the relevant SLR for a given Proton version, and we can check if we have the SLR with -z ${SLRCMD[@]}.

The problem with using the SLR with Winetricks is not so straightforward to fix. There are two problem areas:

  1. We can't use system-wide Winetricks. The SLR is a container, meaning its scope is very limited. We would need to use a locally-downloaded Winetricks script. STL already allows users to do this, and it will download Winetricks to ~/.config/steamtinkerlaunch/downloads/winetricks/winetricks (the path will be different on Flatpak). So if the user has Winetricks already downloaded (such as on Steam Deck where it's always preferred even over an unwise system-wide installation) that's fine
  2. We need a way to know when to use the SLR with Winetricks. This should be a checkbox, but whether or not it should go on the Winetricks GUI or the Global Menu GUI is something I'm not sure of. Furthermore, we need a way to tell users when the SLR is being used (perhaps in a notification). If the SLR is not found, this will already be managed by setSLRReap, the function that gets the SLR for us.

In short, we need to find a way to implement this feature in a way that makes sense for users who already have Winetricks installed system-wide, since we can't use their system-wide installation.

Using the SLR (or more specifically, the correct SLR) with Winetricks will greatly improve compatibility. It is also another step in the adventure that is adding the SLR to more places around STL. Proton is not intended to be used without the SLR anyway, so this change is sensible and should happen.

Side Note: An update to the Steam Linux Runtime wiki page should be done probably before any work is done on this, to properly document how the SLR works now and how SteamTinkerLaunch is able to fetch it.

@sonic2kk sonic2kk added the enhancement New feature or request label Jul 15, 2023
@sonic2kk sonic2kk changed the title [Feature Request] Use the Steam Linux Runtime with Wine [Feature Request] Use the Steam Linux Runtime with Winetricks Jul 16, 2023
@sonic2kk sonic2kk added the Winetricks Issues related to using Winetricks with SteamTinkerLaunch label Sep 8, 2023
@sonic2kk
Copy link
Owner Author

sonic2kk commented Nov 8, 2023

The go-forward for this should be to have this option on the Global Menu only, and it should only apply if Download Winetricks is also enabled.

Or, perhaps it could enable "Download Winetricks" if enabled, or act in place of it. Not sure, will need a little bit of consideration and likely some messing around in an implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Winetricks Issues related to using Winetricks with SteamTinkerLaunch
Projects
None yet
Development

No branches or pull requests

1 participant