protonscr

Add option to use user-specific STEAM_COMPAT_DATA_PATH for Proton

steamopen Feature RequestProton
ValveSoftware/steam-for-linux#6958 · opened 2020-03-13 by loathingKernel · updated 2025-03-29 · 11 comments · github
LloathingKernel 2020-03-13 github

Your system information

  • Steam client version (build number or date): 1583800998
  • Distribution (e.g. Ubuntu): Arch
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

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.

Kkisak-valve maintainer 2020-03-13 github

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

LLionHeartP 2023-10-25 github

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.

AAdam-Saeed 2023-10-25 github

I hope we get this sometime in the near future

Sshelterx 2024-02-12 github

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)

Ggeoffryan 2024-03-23 github

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.

Ddevurandom 2024-09-07 github

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?

Mmjevans 2025-03-25 github

IMO this is related to how #4820 should be resolved.

BBillGHero 2025-03-26 github

IMO this is related to how [#4820](https://github.com/ValveSoftware/steam-for-linux/issues/4820) should be resolved.

How is the desire for control over the location of the wine prefixes related to the stream client not starting?

DDamglador 2025-03-29 github

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

This is an issue even with sharing a library on the same OS. Wine will refuse to run if the prefix is owned by another user, so having it fixed in the library makes sharing one library between two users on a Linux systems impossible. I guess they still can play Linux native games, but...

Mmjevans 2025-03-29 github

Sorry, I had too many bug tabs open and didn't notice I was trying to cross link to a PROTON issue https://github.com/ValveSoftware/Proton/issues/4820 Proton not working when multiple Linux users share a single installation path