protonscr

Save space by using a generic prefix

protonclosed
ValveSoftware/Proton#1806 · opened 2018-10-23 by Rabcor · updated 2018-10-23 · 4 comments · github
RRabcor 2018-10-23 github

Feature Request

I would like it if proton had a generic proton prefix (something like compatdata/proton/pfx) which it would use as the default prefix for all games that don't need prefix specific workarounds. This way potentially large amounts of disk space could be saved.

I confirm:

  • [x] that I haven't found another request for this feature.
  • [x] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

As things stand, proton doesn't seem to do anything on a per-prefix basis for any game, so the compatdata directory with all the per-game prefixes is mostly just a collection of duplicate prefixes.

On average these prefixes seem to add 1GB+ to space needed for installed games. Additionally, sometimes prefixes will be created with unrelated user files (for example save-games for other titles than the one the prefix is used for) further adding to this space use.

This should be an option, whether it should be the default can be debated. As things stand it is better to have per-game prefixes because it allows for better testing (if users need to modify their prefix, let's say by installing .NET Framework or some DX redists, they may as a side effect be able to run other games out of the box too.) but when proton is more mature, having one generic prefix that can be used for all games that don't need specific workarounds would be highly preferable.

I would suggest looking into how lutris handles prefixes (sometimes referred to by them as runners) for insights into better ways for implementing multiple prefixes while still using one (or few) prefixes for most games.

Justification

Excessive use of disk space for no real gain to the end-user. (With just 14 games installed I am using 15gb of disk space for proton prefixes alone)

Risks

False compatibility reports from users who have modified their prefix. (This may be avoidable if steam/proton will install with a configuration utility, something similar to winetricks/protontricks, which would create a separate prefix for a target game when the user wants to make changes, preferably with an option to override the generic/main proton prefix as an option for advanced users/people who don't intend to make compatibility reports)

Ddlove67 2018-10-23 github

Symlinks could be a better option, since you could then keep the prefixes for each AppID, but push changes when needed.

Llucifertdark 2018-10-23 github

Proton already has a default prefix in the main Proton folder, for me it's in "Proton 3.16/dist/share/default_pfx" it's copying the contents of that to the compatdata folder for each game.

Kkisak-valve maintainer 2018-10-23 github

Hello @Rabcor, this feature request is already being discussed at #1011, so I've gone ahead and transferred this issue report to https://github.com/ValveSoftware/Proton/issues/1011#issuecomment-432238495.

Closing in favor of the existing feature request.

RRabcor 2018-10-23 github

Symlinks could be a better option, since you could then keep the prefixes for each AppID, but push changes when needed.

Well I would have suggested that but both wine and steam seem to have issues with symlinks. I recall not being able to use proton if I symlinked my steam library to a different location for example. I believe it's because wine cannot follow symlinks to executables, or something like that.

Proton versions

Upstream links