HeroicGamesLauncher icon indicating copy to clipboard operation
HeroicGamesLauncher copied to clipboard

[UX] Ignore non-GE Proton versions by default, but allow enabling them for advanced usage

Open arielj opened this issue 11 months ago • 13 comments

This PR changes how we handle the Proton - Experimental option to run games.

We currently have a problem, that, for some users, Proton - Experimental might be the only wine/proton they have when they use Heroic for the first time and it gets assigned as a default game setting. From there, all their games ends up using Proton - Experimental with the risks that creates: it's experimental and not tested as much as stable versions, so an updated in steam without the user noticing it can break games in Heroic and it's hard to know what changed (users usually think nothing changed).

With this change, Proton - Experimental won't show up by default in the Wine Version selectors throughout the app, so inexperienced users can't select it by mistake and shouldn't be automatically selected by Heroic either (there's also this idea that, because it fixes many games, it's always better, so checking the option shows a warning for the user with some information about what experimental means).

For users that know what they are doing and want to be intentional about using Proton - Experimental, there's now a checkbox in Settings > Advances to stop ignoring it.

EDIT: this was updated to ignore all non-GE protons, not just Proton - Experimental, the reason is that non-GE proton does not have winetricks nor protonfixes, so we ignore all those by default


Use the following Checklist if you have changed something on the Backend or Frontend:

  • [ ] Tested the feature and it's working on a current and clean install.
  • [ ] Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • [ ] Created / Updated Tests (If necessary)
  • [ ] Created / Updated documentation (If necessary)

arielj avatar Jan 10 '25 00:01 arielj

Honestly I'd vote for ignoring all Proton versions found in that path by default (or at least everything non-GE-Proton). Regular Proton lacks Winetricks (and protonfixes as a whole), so you already lose a lot of games

CommandMC avatar Jan 10 '25 00:01 CommandMC

Honestly I'd vote for ignoring all Proton versions found in that path by default (or at least everything non-GE-Proton). Regular Proton lacks Winetricks (and protonfixes as a whole), so you already lose a lot of games

I'm not against that, personally I just use whatever I can get with heroic, I don't know what users expect but I don't see the point of using stock proton when ge-proton exists haha

We still have the Add custom Wine/Proton Paths for people that wants those I guess?

arielj avatar Jan 10 '25 01:01 arielj

Honestly I'd vote for ignoring all Proton versions found in that path by default (or at least everything non-GE-Proton). Regular Proton lacks Winetricks (and protonfixes as a whole), so you already lose a lot of games

I save storage by installing stuff to the steam compatibilitytools.d folder, so +1 for ignoring everything that's not GE-proton by default (instead of removing that directory from the search path completely)

Etaash-mathamsetty avatar Jan 10 '25 01:01 Etaash-mathamsetty

Do you think the checkbox to enable those things is needed? I didn't want to remove things without having an option to have them back cause I imagine some users wanting that, but if there's no need for proton nor proton - experimental I wonder if we should just ignore them and that's it?

arielj avatar Jan 10 '25 01:01 arielj

The main thing I want to avoid with this PR is users using something unstable by default or by mistake, but let them use experimental if they need to (would experimental have fixes before ge-proton for example that users may want to try?).

arielj avatar Jan 10 '25 01:01 arielj

The main thing I want to avoid with this PR is users using something unstable by default or by mistake, but let them use experimental if they need to (would experimental have fixes before ge-proton for example that users may want to try?).

maybe add an option that allows showing all the proton versions (where it's off by default)

Etaash-mathamsetty avatar Jan 10 '25 14:01 Etaash-mathamsetty

I mean, Proton Experimental isn't so experimental... the real experimental thing is proton-experimental-bleeding-edge or something like that.

Proton experimental is just updated every few weeks, Proton stable, uh...

gabriele2000 avatar Jan 18 '25 02:01 gabriele2000

I mean, Proton Experimental isn't so experimental... the real experimental thing is proton-experimental-bleeding-edge or something like that.

Proton experimental is just updated every few weeks, Proton stable, uh...

proton experimental isn't recommended to be run with umu because it doesn't contain protonfixes + some other patches

Etaash-mathamsetty avatar Jan 18 '25 02:01 Etaash-mathamsetty

proton experimental isn't recommended to be run with umu because it doesn't contain protonfixes + some other patches

Then I suggest you to negate Proton Experimental only if UMU is enabled (enable UMU by default but let the user choose to disable it)

gabriele2000 avatar Jan 18 '25 13:01 gabriele2000

The changes here are aimed to the general user to not, by default, end with a setup that is not recommended (the second problem with experimental is that an update breaks something you can't easily rollback to the working version, but if using proton-ge-latest for example and an update breaks something you can easily change to another fixed version using the wine manager).

The intention of this is to prevent users who don't know what they are doing to use something they don't know how to handle properly. The option to continue using experimental and enable/disable umu as needed will be there for any user who wants to try that.

arielj avatar Jan 18 '25 13:01 arielj

The changes here are aimed to the general user to not, by default, end with a setup that is not recommended (the second problem with experimental is that an update breaks something you can't easily rollback to the working version, but if using proton-ge-latest for example and an update breaks something you can easily change to another fixed version using the wine manager).

The intention of this is to prevent users who don't know what they are doing to use something they don't know how to handle properly. The option to continue using experimental and enable/disable umu as needed will be there for any user who wants to try that.

Awesome, thanks for the clarification!

gabriele2000 avatar Jan 18 '25 15:01 gabriele2000

I updated the PR to ignore all non-GE protons by default instead of just Proton - Experimental.

And things can be allowed with the settings in advanced

arielj avatar Jun 19 '25 02:06 arielj

one thing I'm not sure is how to handle cases where users already have Experimental or stock Proton selected for a game

this doesn't remove the setting and doesn't prevent those games from being launched with whatever is the current setting, but opening the game settings shows the wine version blank cause the selected proton is not present in the results unless the user enables the advanced setting

I wonder if we should have it enabled for current users and only disabled for new installations?

arielj avatar Jun 19 '25 02:06 arielj

one thing I'm not sure is how to handle cases where users already have Experimental or stock Proton selected for a game

this doesn't remove the setting and doesn't prevent those games from being launched with whatever is the current setting, but opening the game settings shows the wine version blank cause the selected proton is not present in the results unless the user enables the advanced setting

I wonder if we should have it enabled for current users and only disabled for new installations?

I changed the logic to filter in the frontend instead of the backend, so we can not ignore the currently selected proton to not show a blank selector

arielj avatar Jun 29 '25 14:06 arielj