Steam for Linux

Steam for Linux

Zeddy Nov 12, 2023 @ 10:27pm
Shader pre-caching is agony
When I have shader pre-caching enabled, every time steam starts up it decides on a handful of games it wants to pre-cache and starts downloading about a dozen gigabytes of shader cache. No game can be started (even if they're not the game's being cached) until this process is done downloading and processing, which can take a good chunk out of an hour.

Sometimes during the process, steam itself also just crashes and have to try the whole thing again. I have to clean out my library not becuse of lacking hard drive space, but because every installed game adds to the hefty startup bloat of steam using shader caching.

It would be good to have more control of which games are shader cached and when it happens.
< >
Showing 1-4 of 4 comments
dirk.dierickx Nov 13, 2023 @ 1:54am 
there is an option to do this in the background, so you can start games while it is downloading. however, i have disabled auto download completely. when i want to play a game and it has an update, it will download before starting the game, most of the time it doesn't take that long for one individual game.
Marlock Nov 13, 2023 @ 5:36am 
you can already disable pre-caching globally instead of just processing in the background

it might cause a bit of stutter in some games while shaders are compiled on-the-fly...

...but not having to deal with the constant downloads is probably worth it, and the stutter has been worked on (shader compilation is happening faster and faster on AMD cards, where this used to be a bigger problem, and now it's basically on par on linux with windows)

what's direly missing is a per-game config, so we can disable it for all games then enable it for games that actually need it to fix stutter
Last edited by Marlock; Nov 13, 2023 @ 6:39am
Zeddy Nov 13, 2023 @ 6:18pm 
Originally posted by Xenophobe:
it would be nice if they moved shader caching to the per game level instead of just global. that way we could enable it only for games we're currently playing and leave other installed games disabled.
Yeah! That's the functionality I'm after! I'd like to have a 40-100GB game ready in my library in case I'd like to play it one day (as opposed to, you know, the next day which is what I'd have to do if it wasn't installed), but I don't like Steam updating every game's shaders every day.



Originally posted by Marlock:
you can already disable pre-caching globally instead of just processing in the background

it might cause a bit of stutter in some games while shaders are compiled on-the-fly...

...but not having to deal with the constant downloads is probably worth it, and the stutter has been worked on (shader compilation is happening faster and faster on AMD cards, where this used to be a bigger problem, and now it's basically on par on linux with windows)
Not having shader caches enabled gave me a lot of grief, I recall. I've disabled it for now and immediately pre-rendered movies player wrong in Resident Evil 2. That one was solved by using Glorious Eggroll, though, and otherwise I've had no issues. I'll keep it like this and see if the cure is worse than the disease at this point.
Marlock Nov 17, 2023 @ 12:57pm 
pre-rendered movies player wrong
Ah, yes... I keep forgetting Valve shoved linux-friendly reencoded game videos into the shader pre-cache feature instead of making it a separate one...

despite them not being shaders...

sigh

GE-Proton can* bundle patent-encumbered codecs Valve can't
*= i suspect it's not entirely legal for them to do so but not as enforceable as if Valve broke those rules... IANAL though
Last edited by Marlock; Nov 17, 2023 @ 1:00pm
< >
Showing 1-4 of 4 comments
Per page: 1530 50