Steam for Linux

Steam for Linux

jr2 3 Feb, 2023 @ 5:23pm
Have 3 Steam installs on 3 different OSes (Manjaro [Arch based], MX Linux [Debian based], Windows 10) all sharing the same Library locations. Can they syncronize updates better?
As it says in the title, I'm sharing Game Library locations for all 3. I have a library on an NTFS drive, a library on an exFAT drive (PS if you have Linux and have issues with this get on kernel 5.4 or later, and remove any legacy exFAT support packages), and a library on an ext4 data partition.

Now, whenever I boot into a different OS, Steam seems to have updates for a bunch of different games (with a skew towards small patches, which makes me think they might be platform specific shaders or something?), even though they should have been up to date because of the other Steam clients.

Is there no way around this, or can the Steam clients share install information if they are on the same system and have platform-specific updates delivered no matter which OS and client is running?

It's not feasible from a drive storage perspective to just have 3 duplicate libraries running on the same rig (not to mention even with the updates usually it's not as bad as a full upgrade of all out of date games), so if this is the price for running Steam on 3 different OSes on the same machine that's fine, I was just wondering if this was an easy fix for the dev team.

I'm an edge case, I know, but I think Steam Deck users that dual boot SteamOS and Windows 10 or 11 from an SD card might appreciate better syncro of game updates across different OS platforms on the same Library locations.
< >
Showing 1-9 of 9 comments
Marlock 3 Feb, 2023 @ 6:09pm 
the small patches might be shader cache updates, which are different for each OS, video driver and game resources update

every time you switch between those 3 OSs Steam might be triggering a shader cache redownload due to the current set matching the last OS you used

disabling shader pre-caching will stop those annoying downloads... but you may face a little more stuttering when entering new scenes in games, because shaders will be compiled while you play
Last edited by Marlock; 3 Feb, 2023 @ 6:21pm
Zyro 4 Feb, 2023 @ 9:32am 
Do you get this every time for the games, or twice after a game update and then it's fine?
jr2 4 Feb, 2023 @ 6:35pm 
Originally posted by Zyro:
Do you get this every time for the games, or twice after a game update and then it's fine?

Will have to check, but for example I just booted Windows which updated a bunch of stuff, then booted MX Linux and now it's got 60+ games to update when it was fully up to date before.



Originally posted by Marlock:
the small patches might be shader cache updates, which are different for each OS, video driver and game resources update

every time you switch between those 3 OSs Steam might be triggering a shader cache redownload due to the current set matching the last OS you used

disabling shader pre-caching will stop those annoying downloads... but you may face a little more stuttering when entering new scenes in games, because shaders will be compiled while you play

Oooh, you just gave me an idea. I can perhaps symlink different folders for each OS to that location... it would need to be relative, eg to ~/.steam/shadercache would put it in /home/<username>/.steam/shadercache -- that would handle Linux I believe. Windows, hmmm... actually nvm I don't *think* Windows filesystems can handle Linux symlinks. *sigh* Will have to look into this. Maybe there's a Steam setting to choose the shader cache location, in which case, the settings for each Steam install are unique IIRC so that would solve it.

EDIT: As of right now, the Shader cache options in settings are just on/off and allow background processing, no ability to set location BUT until Lord GabeN favors us with that option, it looks like perhaps something could be done with these:

https://www.reddit.com/r/SteamPlay/comments/on2p3d/override_shader_cache_default_location/

__GL_SHADER_DISK_CACHE_PATH=
DXVK_STATE_CACHE_PATH=
and for AMD & Intel GPUs,
MESA_GLSL_CACHE_DIR
Last edited by jr2; 4 Feb, 2023 @ 6:42pm
Marlock 6 Feb, 2023 @ 3:23pm 
windows does have some sort of symlink of their own

no gui option in Windows Explorer to create it, but there are 3rd party apps for this

not sure how transparently it works for apps like steam, though...

crazy idea:
use the original folder on windows and test if files inside a folder that's used as a mount point in fstab are destroyed or just hidden away by the mount target content

each linux distro can mount a different folder over the same path via their respective fstab configs

eg:
windows: path/to/shaders
linux 1: mount path/to/linux1shaders to path/to/shaders
linux 2: mount path/to/linux2shaders to path/to/shaders
Last edited by Marlock; 6 Feb, 2023 @ 3:27pm
Zyro 7 Feb, 2023 @ 2:35am 
Originally posted by Marlock:
windows does have some sort of symlink of their own

no gui option in Windows Explorer to create it, but there are 3rd party apps for this

not sure how transparently it works for apps like steam, though...

crazy idea:
use the original folder on windows and test if files inside a folder that's used as a mount point in fstab are destroyed or just hidden away by the mount target content

each linux distro can mount a different folder over the same path via their respective fstab configs

eg:
windows: path/to/shaders
linux 1: mount path/to/linux1shaders to path/to/shaders
linux 2: mount path/to/linux2shaders to path/to/shaders

This could lead to the data being stored on NTFS, though.
jr2 8 Feb, 2023 @ 7:06am 
Haven't really had a problem storing stuff on NTFS in the last few years, really. Only exception is if you fail to hit RESTART in Windows instead of shutdown (shutdown logs off and hibernates the kernel). Other option is to disable fast boot or whatever it's called.

I'll have to give this a shot!
Zyro 8 Feb, 2023 @ 12:24pm 
Originally posted by jr2:
Haven't really had a problem storing stuff on NTFS in the last few years, really. Only exception is if you fail to hit RESTART in Windows instead of shutdown (shutdown logs off and hibernates the kernel). Other option is to disable fast boot or whatever it's called.

I'll have to give this a shot!

There's been plenty of reports of problems here due to NTFS. Having a single drive to catch them all is a good idea, but I'd really recommend something like exFAT for it.
jr2 8 Feb, 2023 @ 6:10pm 
Originally posted by Zyro:
There's been plenty of reports of problems here due to NTFS. Having a single drive to catch them all is a good idea, but I'd really recommend something like exFAT for it.

I might just migrate all the data from the NTFS library to the exFAT one... trouble is that's a lot of space, hnnng. Maybe I'll shrink down the NTFS partition on the main spinny disk and make another exFAT partition to complement the alt spinny disk I've got right now.

Currently I have a small NTFS library on a 1TB NTFS partition on a SATA SSD (860 Evo), this has W10 on it

Then there's a big NTFS library on a 8TB spinny WD Red with like a 6TB NTFS data partition on it.

Then there's a 2TB WD Green with a 2TB exFAT partition and a Library on it.

Then I have a smaller 250 GB SATA SSD with the Linux OSes, a small ext4 data partition with a small library on it (use that for Steam runtimes and Proton as IIRC one of them won't play nice on MS partitions due to a filename or somesuch).

Yes that's a ridiculous number of drives. I can explain; I'm not cray-cray. Started with the 2TB WD Green. Added 250GB Sammy 850 Evo when I went SSD. Upgraded to 1TB 860 Evo when that ran out of room. WD Green getting stuffy so added the 8TB WD Red. This over the course of like... idk 10-15 years, that WD Green used to host my XP install on an old Athlon 3200 XP rig I had haha.

Anyways, I like your idea about having everything shared on exFAT so I'll probably do that and try to get the shaders figured out as well. Will post back in a while, have to work OT a lot this week.

tyvm for all the input and if anyone has other stuff I or readers from the future should know about, or more suggestions, feel free to add.
jr2 14 Feb, 2023 @ 6:34pm 
Status update: figured out why some games wouldn't launch (launched then closed) in Linux. exFAT (any FAT filesystem) doesn't have support for symlinks, and Steam Proton needs that to run Windows games on Linux, it appears. Backed up the drive and formatted NTFS (if anyone is doing this, don't forget to update /etc/fstab with the new UUID and filesystem type in any Linux installations, and assign the old drive letter in Windows).
< >
Showing 1-9 of 9 comments
Per page: 1530 50