Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.91k stars 417 forks source link

Default wine prefix settings and behavior are confusing #3274

Open arielj opened 9 months ago

arielj commented 9 months ago

Describe the bug

We have some problems with how we handle default wine prefixes:

This automatically breaks things, because the default prefix is a folder that contains other prefixes.

We also have some settings that are not super clear, like the WinePrefix option in Settings > Game Defaults. It should be more clear that that path will be the same for other games when checking that option in the install dialog and what that means.

Finally, in a new clean install of heroic, we have these settings in the config.json:

    "defaultWinePrefix": "/Users/arielj/Games/Heroic/Prefixes/default",
    "winePrefix": "/Users/arielj/Games/Heroic/Prefixes/default",

the first one is the folder where wine prefixes should go the second one is the prefix path used with the Use default wine settings option

but from the keys it's impossible to know they are supposed to be different types of paths

Add logs

nothing relevant

Steps to reproduce

  1. With a clean heroic install
  2. Open the install dialog of a game
  3. the prefix path is .../default/game title
  4. install it
  5. open another install dialog
  6. check the Use default wine settings option
  7. install the game
  8. look at the game's settings and see the prefix path is .../default

now that game will fail to start, the prefix going to be a problem

Expected behavior

So I'm suggesting some changes:

Screenshots

No response

Heroic Version

Latest Stable

System Information

Linux and Mac

Additional information

No response

allora commented 9 months ago

++ I agree with all of these changes. I wanted to just make sure I understood:

Shared wine prefix path is: ~//Games/Heroic/Prefixes/shared If you pick the advanced option to use the shared path, you may have many different games using that prefix.

Game prefixes path is: ~//Games/Heroic/Prefixes/ This is the default behavior, heroic installs a stand alone prefix for that game, and only for that game.

I think within the heroic UI, the reason it gets confusing is because i feel like sometimes "default" refers to system default wine directory, which tends to be the user's .wine folder.. and sometimes it refers to heroic's default behaviors.

Glad this change will make things more clear :D

DeeDeeRanged commented 9 months ago

I concur as I also think the default should be .wine not all games require a seperate wineprefix and it will save disk space. Checked steams behavior and it does not install wine/proton in the steamapps/common besides the one proton required so you don't end up with a ton of wine/proton installs.

Nocccer commented 9 months ago

The default should not be .wine because we already had that and it was a mess on steam deck and all systems where wine is not installed. The current default actually should be ~/Games/Heroic/Prefixes/default which can be created by heroic.

The suggestion from @arielj is actually the best way currently.

0x6A7232 commented 7 months ago

+1 on all of this.

As well, if any of those folders are outside of the user's home directory, Heroic can't access them and symlinks are required. (The /run/1000 path that Heroic tries to use doesn't work). Either I end up using Flatseal to allow Heroic ta access the path I want, or I make symlinks.

Would be nice if Heroic just saw it couldn't access a path and asked for permission to add it to the paths it can access.