[Request]: Create symlink `steamuser -> $USER` in the bottle's user directory
Tell us the problem or your need
Wine-based runners and Proton-based runners have different directories for the userdir, $USER and steamuser, respectively. This causes the issue that, when changing runners, it'll will seem like the user lost all their data, as the programs will be using a new, clean user directory.
Describe the solution you'd like
I propose as solution, we proactively create the $USER directory before bottle creation, then simply create a symlink called steamuser pointing to $USER. Then create the bottle with whatever runner, and it will use the already created directories and avoid the duplication. That way, both Wine- and Proton-based runners will share the same userdir, and the user won't lose their data when changing runners.
Other solutions?
No response
Additional context and references
I've been using this solution for a long time on my own bottles.
This enhancement would also fix bug #3728
I think this is a reasonable solution, if someone wants to write the code to do so. It would be pretty nice if the runners themselves just used the same username configuration across the board though. Does WINE have an environment variable to set it, that works across the board? Perhaps one that changes the username used for the directory, and another for the display name. If not, it would be a very useful feature request, and also probably fairly backport-able.
The latter may require the Accounts portal to set properly.
I think you should first consult this change with mirkobrombin https://github.com/bottlesdevs/wine/issues/73 Seems like the steamuser user folder is a result of a bug in Soda 9. There's a mention of de-steamify patch that presumably gets rid of the steamuser folder, but haven't looked inside it.
As for the changing of username there definitely should be some code that changes it because Bottles passes the linux username. Though when I asked for the option to change the username inside Bottles, the dev deemed it unneccesary: https://github.com/bottlesdevs/Bottles/issues/1564
Glad to see this being in the works. I sometimes start games with Heroic Games Launcher (HGL), and other times with Bottles (shared prefix folder), and it's luckily easily solvable to create a link as HGL always use the $USER folder.
This issue has been automatically closed as part of a cleanup process to help the team manage issues more effectively.
If the problem still persists, feel free to comment and we will gladly reopen it.