We do often include affiliate links to earn us some pennies. See more here.

Shader cache downloads being a nuisance? Valve may have solved it

By - | Views: 52,810

Valve's shader cache system can be extremely helpful for Linux gaming, however it can also at times be quite problematic but Valve may have solved a big problem with it.

The idea behind the system is that you're supposed to see small regular downloads for the shader cache of each game, as Valve continue to build it up and then spread it out to everyone to help improve game performance on Linux and Steam Deck. However, over the years quite a lot of people have reported how it kept giving full downloads of the whole thing instead of being incremental.

Writing on the GitHub bug report from 2021 today, Valve developer Pierre-Loup Griffais said:

Shader cache downloads are designed to be incremental. Reports here indicate a daily download of the full shader cache file size, which is inconsistent with expectations - a small download and full disk write is expected instead.

After looking at the logs shared on this issue and on #9200, we've investigated and found a server-side problem with the system that keeps track of the ordering of shaders in those updates.

We've just rolled out an initial fix and will continue to monitor the situation. If the issue persists, please comment on this report and attach your shader_log[.previous].txt as indicated above.

Hopefully now fewer people (or no one) will see the issue but do let them know on the bug report if it happens to you.

Article taken from GamingOnLinux.com.
Tags: Meta, Steam
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
Page: 1/3»
  Go to:

that would be really nice if it was fixed. though i always wondered why they did not simply specify a reasonable cooldown timer per game once the cache has been downloaded once.

Last edited by Schattenspiegel on 15 February 2023 at 9:06 pm UTC
I'd love to have the option to choose which games get shader cache downloads too. Thanks for the good news!
MayeulC 15 Feb
That's a welcome improvement, hopefully not needing to download (and compile) multiple gigabytes of shaders every time.

I also second a per-game option. There are only a few games I care about at any given time, though I leave them on my HDD for faster access. I think my shader cache now uses north of 100GB... I'm not even sure if that's still useful, since Mesa also has a size limit?

I also wonder if old shaders are evicted from servers?
Grogan 15 Feb
I had that get turned on by accident (steam client update did it once) and it was horrendous. I'd rather compile and cache my own shaders, thank you. (The pre-cached shaders are probably pretty darned practical on the Steam Deck though, I would expect)
Valve continues to make Linux gaming more practical and this increases how quickly you can swap and play various games. Nothing worse than trying to start a game and having to wait for an update. Granted shader cache updates can usually be skipped to get load the game faster
ok so now we have only a few hundred kb downloads and half an hour of shader pre-compiling in the background...for however many people use this feature and dare to have more than one game installed ... this seems a bit wasteful energy wise, does it not?
Phlebiac 16 Feb
I restarted Steam and got 12 downloads, which look like some of the usual culprits, such as Rise of the Tomb Raider. So not sure if it had the desired effect for me?
Rhythagoras 16 Feb
Really glad they made an effort to solve this... For the last month or so, Dota 2 was re-downloading the entire shader cache every day (between 600 and 800mb). Today it only downloaded 129kb. Much better!
Botonoski 16 Feb
They oughta build up options for users to manage their shader cache more readily, be nice to turn it off on a per game basis since so many simpler games do not noticeably benefit from it performance wise. Even just a single button to purge cache for a game or for the entire library would he nice, in case you need to free up space or suspect the cache is causing technical issues.
STiAT 16 Feb
Note that you still need to download the full shader cache once, and get increments after that.

I will probably disable background processing again, depending on how many updates I get daily having 50 games installed.

Steam still has to process the whole cache, it's just downloading less. And I do not play all games I have installed all the time, so background processing is a waste if the increments happen often on a lot of games.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.