I’m thinking about making a dedicated gaming PC which is to be shared in our household. ChimeraOS/HoloISO seems the ideal solution to that… Except that games thay it means that all save files of games that don’t use Steam Cloud OR write save files on Valve’s recommended directory are shared between users.
Is there any tool that can recognize the current active Steam User and swap save files on the background? The other solution is to forego using HoloISO/ChimeraOS/SteamOS and install a traditional distro and make different users have different system accounts, but that sounds a nightmare to deal with due to Steam Family Sharing requiring that all steam users are logged into each system users, so the library is shared across all of them. Not to mention config files are going to be separated as well…
You could make a different account for each person so it would be a different /home, and a different instance of steam
Afaik it isn’t an option in SteamOS/HoloISO/ChimeraOS and would require a more “traditional” distro to be used, which does fixes those issues, but now we have other issues, like how those distros aren’t made to be used as consoles, and there’s the issue with Steam Family Sharing (as I understand, you need to be logged with the Steam Account in each system user you wish to share the library with)
you have two problems here:
- save and config files of linux native games. They will usually create a directory somewhere in your home directory - usually under .var or .config
- and then the save and config files for wine enabled games. They are saved in the steamapps/compatdata directory tree together with all the (windows) files wine needs to run the program. One folder for each game.
you would need a separate compatdata structure for every steam account to keep the saves separated.
A possible solution would be to create a start script for every steam user that links the respective folder to compatdata, and then starts steam with the correct credentials.
You may need to separate other folders too, although I am not sure which those may be. Steam itself can do several users, since it’s based on the same code as on Windows. So you may just test with swapping the compatdata folder and check what it’s doing.
A funny thing: Proton/wine seems to have a mechanic to provide a username. Because on my games installed by Heroic Launcher i find the windows Profile folder (in the Heroic prefixes folder which is equal to steams compatdata) under “c:\Users[Linuxusername]” while in the steam compatdata the folder is just named “c:\Users\user”
I found that out because I recently copied my saves files from some games that are not cloud- saved to their folders.
but I haven’t seen a setting in Steam to use different profile folders in Proton. Which means you will most probably break cloud features when trying to enforce this by start parameters.The issue is that AFAIK there is no way to get an event when the Steam user is swapped
Yeah, I don’t have a solution for this neither.
My suggestion with creating a start script for each user would require to install a more traditional distro.
Doesn’t steamos have its own user system to separate game files?
On my steam deck I’ve got my steam account and my partner’s and we both have separate saves
It depends on the game. If the game uses Valve’s recommended file path there’s no problem. If the game uses Steam Cloud it will sync your save file with what it should have.
deleted by creator
I don’t know anything about those distros, but if there isn’t a good way to do it here’s a shitty one: maintain a separate OS partition/installation for each person and have the “login screen” be the bootloader menu.
Those distros are basically focused on offering a console like experience on Linux, as in, a machine that is hooked to a TV, has no keyboard or mouse and only method of input is a gaming controller. They all start directly into Steam Big Picture mode, and there’s a single system user, all users are Steam Users. This works, but has the issues with save files I’m trying to get a solution that hopefully doesn’t involve changing to a traditional distro
I understood all that from your post. I’m just saying that if the distros end up being as inflexible as you’ve described, you may need to look for a way to get flexibility at a different level of the “stack.”
You can add and launch arbitrary non-Steam games from Steam, right? Can you use Steam to launch a script that moves around files in the background and relaunches Steam? And have a named launcher to “switch” to each user?
Uninstall and reinstall the game between users…
More seriously, I think bazzite is keeping a traditional login screen instead of using the steam one, so you could have actual segregated user accounts
I ran into a similar issue a while back. What I ended up doing was creating a admin account and then hiding it from the SDDM login screen. Then create your standard user accounts that login from SDDM without a password (You just press enter). Now you can select the user and every steam account is separate.
Only thing I haven’t been able to do is get a controller to work on sddm but I haven’t really tried yet. 😂Yeah, I’m thinking about doing some really weird shit by sharing the steam folder between users and then mounting compatdata inside each /home so that save files from proton games are individualized.
Sadly this requires a more traditional distro instead of ChimeraOS or HoloISO, which I didn’t really want, but it offers more possibilities later down the line