Help: Shared local SteamLibrary, multi-user setup

Hi, I’m attempting to make a multi-user setup in order to separate our save games, browsing history, etc as much as possible.

Let’s say I have three users
-user1 (admin)
-user2 (user)
-user3 (user)

I created a group named steam
(sudo groupadd steam)
Then I added the users to the group
(sudo usermod -aG user1, etc)
Then to minimize disk usage for shared games, I created a directory for the common SteamLibrary
(sudo mkdir -p /var/games/SteamLibrary)
I then changed the owner group to steam
(sudo chgrp steam /var/games/SteamLibrary)
and also granted read-write-execute permission to the group
(sudo chmod 2775 /var/games/SteamLibrary)
To cover my base, I also added ACLs to grant write access to the steam group
(sudo setfacl -d -m g:steam:rwx /var/games/SteamLibrary)

I then setup the kids Steam account in their respective user profiles, and added the shared SteamLibrary in their Storage.

Steam sees the games, and all seems good.

However, when I try to start a game from the shared SteamLibrary, the games seems to fail silently.

Is there a guide on how to accomplish that kind of setup, or best practices to follow?

I’d really like to avoid having multi-GB games copies present in each user’s home directory, and keep our browser history, game saves, desktop environment setup as separate as possible.

Thanks!

1 Like

Quick status update, so after fiddling a bit more and not finding a simple solution, I decided to have a single OS account for games (Steam, Heroic Launcher) and leveral the Steam switch user feature and have it autostart in Big Picture mode.

I use a non-gaming OS account for casual stuff to keep my browsing history, etc separate and locked away from others. That way my kids can login to that gaming session without me worrying about them messing up with the settings.

1 Like

I have been fighting with this exact same thing. I’d like to have a shared Steam library for all users on my PC. The problem is Steam is moving the game’s Wine(Proton) prefix with the game files into the shared folder. The reason seems to be Steam seeing any added library as an external drive when an immutable file system is in use and hence moves the prefix with game files. Prefixes are per users and you can’t run a game with another user’s prefix. If you delete the prefix from shared library and let Steam re-create it for another user, then the game works for that other user, but no one else.

I haven’t actually gotten to try this on a distro with un-jailed filesystem so I could create a dedicated library folder somewhere else than /var, but probably will someday when I’m bored again. If it works it would definitely be a feature suggestion for Bazzite to have a dedicated, shared library folder somewhere.

1 Like

I tried with CachyOS and open filesystem and exactly the same thing happened. Prefix wont stay in /home.

Omg I actually updated the docs with a PR about this yesterday, they seemed to think it wouldn’t be a common issue :stuck_out_tongue:

One of the things it could be is WINE

Basically you will just want to create an additional Steam library folder for the other users involved, and create a symlink for things like common (maybe shadercache too, and similarly copy or link any appmanifests.. just not temp or compatdata or workshop I think). Then add that new folder as the steam library for the additional user. The symlink of common will work and allow access to common game data, appmanifests make it show up in your steam list, and WINE gets to create new prefixes in a new compatdata folder for the new user.

I don’t know if this fix creates any additional quirks, but it’s been successful for getting games to launch on my other user account on my laptop

1 Like

Thank you, I’ll have a look into it!

Thank you, I will try this.

I don’t see this as a WINE issue, but Steam being an idiot about handling prefixes. Other launchers have no problems with multiple users and prefixes. I will still try this, but don’t much like handling appmanifest files manually.