ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 175 forks source link

Add option to use user-specific STEAM_COMPAT_DATA_PATH for Proton #6958

Open loathingKernel opened 4 years ago

loathingKernel commented 4 years ago

Your system information

Please describe your issue in as much detail as possible:

When having multiple Steam libraries, such as shared libraries between the Linux and the Windows versions of Steam, the Proton prefixes reside in the compatdata directory relative to the library the game was installed in. This can cause issues in setups with multiple users, because they are sharing the same prefix and thus settings, saves, etc, and also causes issues with NTFS partitions that can't handle the drive names Wine is using (running disk repair on Windows deletes those files).

A nice solution to both of these issues would be adding an option to override STEAM_COMPAT_DATA_PATH to point to the compatdata directory inside the Steam library under the Steam installation folder, i.e $HOME/.local/share/Steam/steamapps/compatdata/$SteamGameId. This way all prefixes are in one place, they are on a filesystem that can handle special names and they are user specific.

I wrote a patch that overrides STEAM_COMPAT_DATA_PATH inside Proton by setting an env variable, and even though it worked (i.e. it found the existing Proton prefix inside the primary Steam library), the compatdata/$SteamGameId path was still created relative to the Steam library of installation, although it remained empty.

kisak-valve commented 4 years ago

Hello @loathingKernel, sharing Steam Libraries between OSes is not supported, but we'll see if a Steam dev has any interest in this request.

artemisresende commented 1 year ago

With Steam Deck and Steam OS here, why is still there such a flaw like that? Of course this is not a simple thing to solve but there are several issues opened regarding this issue because families exists and they want to share their games in the same device. No one wants to buy another Steam Deck just because Valve does not want to proper support multiple users per device.

This works pretty well in several other platforms and Deck/SteamOS is still with that issue without any further explanation or position from Valve while all other requests are just closed in favor of this one.

So, do you have plans to fix this?

LionHeartP commented 10 months ago

With 2023 nearing its end, more and more people are getting interested in trying Linux and most of them dual boot. Having a clean way for them to share libraries between OSes and filesystems is crucial and this proposal seems like a good way to tackle this IMHO.

Adam-Saeed commented 10 months ago

I hope we get this sometime in the near future

shelterx commented 6 months ago

I support this feature, I don't want to "throw out" my NTFS partition where my Windows games are yet and a way to "force" compatdata to a specifc Linux drive/folder would be nice as it causes havoc/corruption on the NTFS drive otherwise.

(You can easily symlink the compatdata folder to the Linux drive but it just feels like a bad workaround to have something on the NTFS drive pointing to a Linux path. That's what I do now tho', due to lack of other options)

geoffryan commented 5 months ago

I also support this feature (or one of the similar suggested features). Multiple users should be able to play local shared games, seems the whole point of the Family Sharing feature.

jessecambon commented 4 months ago

+1 and related to https://github.com/ValveSoftware/Proton/issues/4820, https://github.com/ValveSoftware/Proton/pull/4861, and https://github.com/ValveSoftware/steam-for-linux/issues/3942

devurandom commented 1 day ago

I set STEAM_COMPAT_DATA_PATH=/home/[REDACTED]/.local/share/Steam/steamapps/compatdata and still compatdata directories are being created in the SteamLibrary of the game. They appear to contain only the save games. Could it be that Steam Cloud Save does not respect STEAM_COMPAT_DATA_PATH?