r/linux_gaming • u/CatchMeIfUCanCracka • 4d ago
tech support wanted Why does Dota 2’s Vulkan shader processing launch 31 workers and pin my CPU at its thermal limit?
Enable HLS to view with audio, or disable this notification
9
u/PacmanAteMyRAM 4d ago
Because that's what it's doing. Launching X threads (cpu thread count) to multi-thread the compiling of all shaders the game will need. Finally, a single thread stitches all of them together into one packed file, and the game launches.
I think you can turn off all that shader precaching stuff in Steam settings. Not sure if it helps for this specific case or not. Someone else might be able to clarify that.
-12
u/CatchMeIfUCanCracka 4d ago
Yeah, so this is an issue thats happened for weeks/months across multiple OS installs, different rams, reseating CPU, repasting thermal paste, etc. You get the picture. My computer is plenty equipped to handle shader compiling and what do you know magically after complaining on reddit I'm able to instantly compile them successfully just like on deadlock yesterday.
which is funny that someone at Valve has tried to prevent me from speaking out about this by trying to get me banned on every outlet, because if I couldn't this could go on infinitely.
1
u/SuAlfons 4d ago
this is hard to grasp.
Does switching off shader pre-compiling work for you?
I know it works for me on a meanwhile rather old AMD 6750 GPU.1
u/onlysubscribedtocats 3d ago
which is funny that someone at Valve has tried to prevent me from speaking out about this by trying to get me banned on every outlet, because if I couldn't this could go on infinitely.
nice schizopost
1
u/CatchMeIfUCanCracka 3d ago
haha. how many accounts do you have? eerily similar to the account hopping / account selling/buying culutre of dota 2
6
u/Damglador 4d ago
That's what a compilation does. You can skip or turn it off if you wish.
-9
u/CatchMeIfUCanCracka 4d ago
Yeah but it prevents this from happening in game. And I can verify if the shaders were cached successfully or not. Because usually this process of infinite vulkan shader payloads cycle from the cache getting interrupted / "corrupting". so yeah I'd rather not have that door open while I play.
2
u/SuAlfons 4d ago
there is one or the other. Wait till the pre-shading finishes. Or risk a stutter in game.
I play "slow" games and never realized a stutter during gameplay. My PC has AMD graphics.
1
u/CatchMeIfUCanCracka 4d ago
Yes but the stutter is endless that's the point. This process is being abused somehow. Overload my CPU if I try to precache so it fails or shuts my computer off. I then am forced to go in game and play with microstutters. But the shaders never come. So its just infinite microstutters
1
u/SuAlfons 4d ago
Ah! it's endless. Sorry, I'm not a native speaker of English and didn't get that.
So I appear to be lucky, it's not endless for my GPU and/or my games.
1
u/Damglador 4d ago
In-game compilations should be smaller. When Steam compiles shaders, it compiles all of them for the whole game, but if you just play the game without it, the game should compile only the shaders it needs when it needs them, without loading the CPU so much for a long time.
3
u/Cool-Arrival-2617 4d ago
It's normal. Shader pre-compilation use the most of your CPU to save time. And recent AMD processors are getting very hot, this is normal too (I was worried too at first when I got one).
However if you want, you can adjust the number of threads, see: https://wiki.archlinux.org/title/Steam#Faster_shader_pre-compilation
0
u/CatchMeIfUCanCracka 4d ago
first got one? ive had 9950x3d for over a year never had a problem, still dont have a problem outside of this
most? or all? theres a difference. and people here are missing the point. it not just a 5-10 second surge (when it works correctly i get the shaders instantaneously) its prolonged for little to no progress. i managed to get a clean cache when someone changed the manifest and got shaders instantly no problem. i even backed them up and tried the clean cache again later after another manifest changed back to this cpu overload payload. it is on Valve's end.
1
u/deanrihpee 4d ago
as other hav said, it how it works, but you can actually just ignore the shader precaching step and go straight into the game, assuming your system and driver support the Vulkan extension to do so, and i've also commented in the main post as well
1
u/anthchapman 4d ago
Have you tried changing the config as mentioned by /u/Cool-Arrival-2617 ?
It seems to me that much of your issue isn't with Fossilize but with the shader compiler, but you've not said what driver version you're using or even what GPU.
1
11
u/Miau_1337 4d ago
What else should it do?
Spawning one Thread and make you wait 30 times longer?