ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.49k stars 1.07k forks source link

Proton prefixes use "steamuser" as the system username #605

Open DragoonAethis opened 6 years ago

DragoonAethis commented 6 years ago

There are games like Doki Doki Literature Club that read the system username and use it in interesting ways inside the game. Proton prefixes always use "steamuser" instead of the user's choice, breaking certain game elements. Using the current username should be possible as well. (Perhaps this should be done in per-title configuration?)

ryao commented 6 years ago

That is because of this hack:

https://github.com/ValveSoftware/wine/commit/c31fff3533fe8d9285a7f971108ae2b7adfa6deb

Perhaps it should be reverted a 3rd time.

Djhg2000 commented 6 years ago

From the number of reverts and reverts of reverts there's been on the issue I think there's a debate on how to handle usernames in Proton.

I'd argue using the system username probably isn't as good of an idea as it is on Windows. *nix usernames are conventionally short and lowercase, often reflecting your actual name. This could lead to an unintentional information leak in online games, especially those who do not let you change it (like Burnout Paradise). Ideally the username would be configurable in case some game decides the username cannot match the name of the Steam user. On the other hand just reporting the name of the Steam user should be fine, AFAIK.

Zero86Sk commented 6 years ago

Can conform this happens in Blur as well.

thunder1410 commented 6 years ago

Maybe an option under steam play to chose between system name, steam name or custom?

ghost commented 6 years ago

I think there is an option of whitelisting games to specific systems information, similarly to how android permissions work. It could spoil some intentions of certain games.

There is also the perspective of "This is expected information for games to have about the system being run on".

In that regard, I believe Valve should make it universal: "Games have access to system information by default on all platforms." or "Games have no access to system information on all platforms" ... by default, to be set by user, or promted on first launch of a game. Similarly to how EULA's work.

aeikum commented 6 years ago

Like @Djhg2000 noted, we tried to fix this, but it broke a bunch of stuff, so we reverted it. It's complicated for a number of reasons, and privacy isn't really one of them. The primary problem is Wine isn't really built to handle multiple usernames in one prefix. Since we pre-create a prefix at build-time, it needs a username at that point, and it can't be changed later at run-time.

It's not impossible to fix any of this, but we ran out of time (note the timestamps on those commits) and made a judgment call. It would be nice to fix.

tsr commented 3 years ago

Reviving this since i just noticed another quite big problem on why using the fixed user "steamuser" is not a good solution and maybe the Steam-Loginname would be a way better idea:

I'm sharing a Library-Folder with 2 Linux users (and Family sharing), so if one wants to play the same game as the other user already had played, the user will have the same savegames as the other. Because many games are of course saving in the exact same Prefix-Folder in something like My Games or whatever without any other difference. While on a real Windows system those save games would have been of course in the real correct userfolders without any complications. The next problem which results is, that Save-Cloud-Sync also goes havoc and might overwrite/upload the wrong save games (already happened to me)!

So IMO this Issue should get a higher Priority than "nice to have" since it's very annoying.

kakra commented 2 years ago

It's not impossible to fix any of this, but we ran out of time (note the timestamps on those commits) and made a judgment call. It would be nice to fix.

How about still using the pre-created prefixes but upon start just symlink the unix username to the "steamuser" profile directory?

Bitwolfies commented 2 years ago

Would be great to see this fixed, even if it means regenerating all of our prefixes. Personally I don't think using someones steam name is the way to go as the games that tend to get a username are trying to spook a player with their real name, not a pseudonym.

Bitwolfies commented 2 years ago

Reviving this since i just noticed another quite big problem on why using the fixed user "steamuser" is not a good solution and maybe the Steam-Loginname would be a way better idea:

I'm sharing a Library-Folder with 2 Linux users (and Family sharing), so if one wants to play the same game as the other user already had played, the user will have the same savegames as the other. Because many games are of course saving in the exact same Prefix-Folder in something like My Games or whatever without any other difference. While on a real Windows system those save games would have been of course in the real correct userfolders without any complications. The next problem which results is, that Save-Cloud-Sync also goes havoc and might overwrite/upload the wrong save games (already happened to me)!

So IMO this Issue should get a higher Priority than "nice to have" since it's very annoying.

This could also be fixed via this commit too, https://github.com/ValveSoftware/Proton/pull/4861 but I think Steamuser needs to be changed regardless.