Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.

Recently we wrote about a new feature for Linux in the Steam Client Beta, where Steam can now sort out Vulkan shaders before running a game. With the latest build, it gets better.

The idea of it, as a brief reminder, is to prepare all the shaders needed for Vulkan games while you download and / or before you hit Play. This would help to stop constant stuttering seen in some games on Linux, mostly from running Windows games in the Proton compatibility layer, as native / supported Linux games would usually do it themselves. Just another way Valve are trying to get Linux gaming on Steam in all forms into tip-top shape.

Here's what's changed in the latest Steam Beta:

Linux Shader Pre-Caching

  • Added support for merging NVIDIA per-thread cache files after processing new Vulkan pipelines and after a game exits
  • Adjusted core count of background Vulkan pipeline processing to a quarter of logical cores by default
  • Changed processing tasks to idle priority
  • Updated Vulkan layer API version

Want to try out the latest Steam Beta? Go into Settings on Steam and it's on the first section you see:


Steam will then restart to do the update.

Will be great when this is rolled out to everyone, as it's a very clever way to get around the Proton shader stuttering issue using the open source Fossilize library and Vulkan layer.

Article taken from GamingOnLinux.com.
Tags: Beta, Steam, Update, Vulkan
46 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
44 comments
Page: 1/3»
  Go to:

Lolo01 May 30, 2020
I appreciate Steam's effort to improve the playing experience with Proton, even though I haven't seen any difference so far.
Has anyone noticed any improvements?
dpanter May 30, 2020
Far from every title will benefit. You'll have to try something which suffered greatly, games like Warframe, Quake Champions, Path Of Exile to name a few.
I've heard reports of significant improvements in some cases. :)
[email protected] May 30, 2020
I have seen substantial benefits in Remnants of the Ashes. You can see from mangohud that frame latency is consistent mostly now.

Before that, i used to have massive spikes in game due to shaders.


Last edited by [email protected] on 30 May 2020 at 12:25 pm UTC
Brisse May 30, 2020
Oh yes, I've noticed improvements, but as with most things YMMV.
Laboratoryo_ni_Neil May 30, 2020
Is this new feature of the Linux Steam client the answer to my question linked below?

https://www.reddit.com/r/linux_gaming/comments/gpnhr5/stuttering_due_to_shader_compilation_why_not_just/
Blaster-PR May 30, 2020
in monster hunter world there is a big improvement on the first install
awesam May 30, 2020
Anyone else having problems with the background processing getting stuck at 0% processing shaders with certain games?

I believe I triggered the issue by uninstalling a few games before the background process had completed all of them. I reported that on Valves github. As it kept trying to process an uninstalled game.

But now I think there is more to this than that, the background process is now stuck at 0% processing a game that I had not uninstalled. And uninstalling/reinstalling/launching the game makes no difference.

Is there some kind of queue for the background process that can be reset, so that it starts again from fresh? Or any ideas what is causing this?
Desperalaw May 30, 2020
I really want to thank Valve for their efforts concerning Linux gaming.
Also, this new shader pre-caching/pre-compiling helped removing the stuttering I had in GTA IV, making the game smoother with DXVK.
kokoko3k May 30, 2020
Is this new feature of the Linux Steam client the answer to my question linked below?

https://www.reddit.com/r/linux_gaming/comments/gpnhr5/stuttering_due_to_shader_compilation_why_not_just/
Nope.
It downloads precompiled shaders, but it does not precompile.
awesam May 30, 2020
Is this new feature of the Linux Steam client the answer to my question linked below?

https://www.reddit.com/r/linux_gaming/comments/gpnhr5/stuttering_due_to_shader_compilation_why_not_just/
Nope.
It downloads precompiled shaders, but it does not precompile.

There is a new "allow background processing of Vulkan shaders" option, that when enabled does appear to precompile :)
Vundult May 30, 2020
Does anyone know if this will work with non-steam games added to your library?
F.Ultra May 30, 2020
View PC info
  • Supporter
Does anyone know if this will work with non-steam games added to your library?

I have a hard time believing that they even could make that work.
Xpander May 30, 2020
Quake Champions runs super smooth™ now. Compared to stuttery mess it used to be on every new map.
Not liking the game itself much though. The class ability thing is a bit weird for game like this imo and the game is quite slow paced compared to say Xonotic.

Some random testing action:
https://youtu.be/5abdFqxp01E


Last edited by Xpander on 30 May 2020 at 4:08 pm UTC
awesam May 30, 2020
I solved the issue with the background shader processing stalling at 0%, by uninstalling Steam and nuking the whole ".steam" folder the shadercache folder at where I have the Steam library. Then reinstalled Steam and the processing went without issues.

So the results are in, the TOP 10 games with the largest shader caches I currently have installed are:

261MB TEKKEN 7
204MB RESIDENT EVIL 2
198MB The LEGO NINJAGO Movie Video Game
176MB Street Fighter V
141MB Prey
131MB Vampyr
129MB A Plague Tale: Innocence
106MB SOULCALIBUR VI
89MB Planet Coaster
83MB Redout: Enhanced Edition

Not surprising to see TEKKEN 7 up there as it was a stutter fest :P
kokoko3k May 30, 2020
Is this new feature of the Linux Steam client the answer to my question linked below?

https://www.reddit.com/r/linux_gaming/comments/gpnhr5/stuttering_due_to_shader_compilation_why_not_just/
Nope.
It downloads precompiled shaders, but it does not precompile.

There is a new "allow background processing of Vulkan shaders" option, that when enabled does appear to precompile :)

Maybe i'm missing something, but how can it knows in advance what shaders the game will need?
Do you have a source?
kuhpunkt May 30, 2020
Does anyone know if this will work with non-steam games added to your library?

Definitely not. You can do it with Remote Play, though.
awesam May 30, 2020
Is this new feature of the Linux Steam client the answer to my question linked below?

https://www.reddit.com/r/linux_gaming/comments/gpnhr5/stuttering_due_to_shader_compilation_why_not_just/
Nope.
It downloads precompiled shaders, but it does not precompile.

There is a new "allow background processing of Vulkan shaders" option, that when enabled does appear to precompile :)

Maybe i'm missing something, but how can it knows in advance what shaders the game will need?
Do you have a source?

I don't understand how magic works myself and would like to see someone explain it in simple terms (Liam future article suggestion here :P )

But from my understanding, it uses Fossilize to somehow explore/record/replay the pipelines without having to actually play the game. If one searches Fossilize you find only a couple of articles on GOL and Phoronix about it like this for example.

I don't have better sources than that. But somehow it does work and is noticeable with certain games. Redout for example is so fast-paced it is easy to spot any stutter. With the background processing enabled the game is smooth on the very first run :)
tuubi May 30, 2020
View PC info
  • Supporter Plus
I solved the issue with the background shader processing stalling at 0%, by uninstalling Steam and nuking the whole ".steam" folder the shadercache folder at where I have the Steam library. Then reinstalled Steam and the processing went without issues.

So the results are in, the TOP 10 games with the largest shader caches I currently have installed are:

261MB TEKKEN 7
204MB RESIDENT EVIL 2
198MB The LEGO NINJAGO Movie Video Game
176MB Street Fighter V
141MB Prey
131MB Vampyr
129MB A Plague Tale: Innocence
106MB SOULCALIBUR VI
89MB Planet Coaster
83MB Redout: Enhanced Edition

Not surprising to see TEKKEN 7 up there as it was a stutter fest :P
1.9GB for native Borderlands 2 here. :O No wonder it took a while to process.
Xaero_Vincent May 30, 2020
This is interesting.

I've seen this Vulkan shader pre-compile feature try to compile shaders for OpenGL games like Deus Ex Mankind Divided?

It also tries to do it with Proton games that have other launchers like Uplay behind them and just get stuck at 0%.
Beamboom May 30, 2020
If I have understood what a shader is, I can not fathom how this works? Can someone explain in very simple terms, please?

Shaders are what's deciding on how things will look with lights, shades and effects like glares, wetness, fire, all those things that happens on top of textures, right?

Well, in most games that will depend on what you do, when you do it and where you go? Like in GTA, there's time of day and weather, not to mention where on the map I drive?!
And - if there are some generally applicable pre-rendered work, then why not include that as part of the game install to begin with? And why are these pre-caching files handed out in small bits now and then?

I'm like... 100% blank!


Last edited by Beamboom on 30 May 2020 at 8:39 pm UTC
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! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.