I had this problem for awhile, eventually I said enough and turned off shader pre-caching. Never noticed a difference in performance.
Linux Gaming
Gaming on the GNU/Linux operating system.
Recommended news sources:
Related chat:
Related Communities:
Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.
It depends on the game, turning off shader pre-caching can cause a lot of stutters. I agree it should be turned off unless you need it though.
I tried to but then I got massive stuttering
What proton version are you using? I think shader cache updates go inline with proton version updates so I’d you’re on experimental or bleeding edge you’ll get more updates
Fixed GE 8-25 for most games, fixed GE 8-6 for the displayed game "A Hat in Time"
Didn't know this. I'll have to try to set it to a certain version instead of proton experimental. Thanks
Same issues here, opening steam each night greets me with every single game downloading 500 mb - 5 gb of shader updates. It’s insane. I don’t get why my steamdeck doesn’t do this but an Arch desktop does?
It doesn't? My deck has shader updates for nearly every installed game every time I touch it.
I get a few, but not every single game like my desktop does.
It should update about when you get a new driver version. I'm using your desktop gets more frequent updates than your Steam Deck.
Whenever I install updates on my Steam Deck, I get a bunch of shader updates.
Same here
My Deck and Linux desktop regularly have shader cache updates every few days, but they're generally tiny and finish near-instantly. I've never seen the behavior here of needing to download multiple gigabytes of shaders daily (and I'm thankful for it, with the frustrating data cap I have from my ISP).
On arch you can just turn shader caching off, the newer mesa versions cache the shaders in the background, you don't need steams thing anymore Edit: spelling
Personally I deactivated pre-caching quite recently actually as I noticed as well this getting quite excessive for certain games. So I now wait until this is a thing: https://github.com/ValveSoftware/steam-for-linux/issues/6486 Seemingly the issue seems to be with games that have a big workshop like A Hat in Time or just huge games like No Man's Sky. I got 10GB and 5GB shader cache updates daily for these games respectively before I turned it off.
Aren't shader caches dependent on your graphics driver version? If your graphics driver gets updated it'll need to either generate them again or pull the new version from steam.
It does it on my deck too though after almost every reboot
There is a bug report with some discussion here: https://github.com/ValveSoftware/steam-for-linux/issues/8076
I would recommend to turn off auto updates, I was also having a lot of shader cache to download daily(when rebooting) but after scheduling auto updates between 4AM - 5AM and that fixed it for me
I agree that there should be better control in steam over what games are prioritized for both updates and shader caching.
But I was under the impression that most shader precaching was done by compiling locally in the background (via fossilize), not downloading. I agree that a 10GB download for AHIT is sus, but I don't see anywhere on the screen that denotes it is downloading shaders.
Nonetheless, the shader pipeline problems of these new APIs (both pipeline explosion and caching) are not solved yet. IMO caching is not solved because GPU vendors don't allow their new drivers to work with "old" shader pipelines. They have no incentive to (it would require extra driver work, and you couldn't force users to use your latest compiler optimizations), and gamers don't know to ask for it.
If you see that little i there, that is information that says "shader precaching" as the information when hovered over. It will generally be a blue patchnotes icon for a game update and an i for steam updates like precaching.
oooo, TIL
Hat in time tho 🩷
It's getting fucking ridiculous and I tried to turn it off but the stuttering was horrible
Shader caching is a thing that happens when you're playing a game. The first time you see an effect (like particles), your computer has to process that and cache it for the future. This can sometimes cause stuttering for larger effects, so shader pre-caching is a thing that downloads all these shaders for you so you won't stutter while playing.
It's useful for older PCs where stuttering can be very noticeable, but it's probably something you should turn off unless you think you need it.
Yeah normally, but in some circumstances on Linux an excessive amount of shader caches are downloaded. I tried Linux gaming on a ~50GB partition and quickly ran out of space because of all the shaders.