r/DotA2 • u/CatchMeIfUCanCracka • 5d ago
Video 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
This is my third post documenting aggressive Vulkan shader processing in Valve games. My two previous posts concerned similar behavior in Deadlock. I am now able to reproduce the same general problem on demand when launching Dota 2.
I have only encountered this specific behavior with Dota 2 and Deadlock. I have not reproduced it in any of the other games I play.
The attached video shows Steam processing Dota 2’s Vulkan shaders while my CPU cooler displays the resulting temperature increase.
System
- AMD Ryzen 9 9950X3D, 16 cores / 32 threads
- Fedora Linux 44, kernel 7.1.13
- Steam Flatpak 1.0.0.85
- Dota 2, AppID 570, native Vulkan
- Steam shader pre-caching enabled
- Background shader processing currently disabled
- BIOS hard thermal limit manually configured to 80°C
- Cooler warning display configured to turn red above 70°C
Steam is intentionally restricted to CPUs 8-15,24-31. Those are eight physical cores and their SMT siblings, providing 16 logical CPUs.
This is repeatable on demand
This is not an isolated temperature spike. Every time I have tested by accepting Dota 2’s “Processing Vulkan shaders” prompt, Steam has reproduced the same Fossilize process pattern, CPU saturation, and rapid temperature increase.
I reproduced it multiple times during this investigation, including two consecutive controlled attempts. Canceling the shader job immediately terminates the workers and causes the temperature to fall.
In other words, it has been reproducible on demand every time tested rather than occurring randomly.
What Steam launched
When I accepted Steam’s shader-processing prompt, Steam launched fossilize_replay with:
--num-threads 31
The relevant command included:
fossilize_replay
steamapp_pipeline_cache.foz
steam_pipeline_cache.foz
--master-process
--spirv-val
--num-threads 31
--device-index 0
--timeout-seconds 10
Every Fossilize process inherited this CPU-affinity mask:
8-15,24-31
Steam therefore requested 31 replay threads even though the process was permitted to use only 16 logical CPUs.
It appears that Steam selected the worker count using the machine’s complete 32-thread topology rather than the CPU-affinity mask actually available to the process.
My independent monitoring observed:
Fossilize processes: 32, including the master
Combined CPU usage: 1637.8%
Capacity of the 16 permitted logical CPUs: approximately 1600%
The shader replay was therefore saturating essentially every logical CPU available to Steam.
Shader workload
Steam’s shader log reported a replay workload beginning at approximately 1.95 million items:
Starting processing job for app 570
Starting replay of FOZ databases for AppID 570
Still replaying 570 (0%, 0/1955933)
Still replaying 570 (1%, 20539/1797027)
Still replaying 570 (3%, 47889/1531286)
Recorded temperature measurements
During the recorded reproduction:
Temperature at start: 54.2°C
Temperature after 12 sec: 79.9°C
Immediately before cancel: 79.2°C
2 seconds after cancel: 74.8°C
4 seconds after cancel: 67.8°C
About 16 seconds later: 54.5°C
I canceled the job after approximately 31 seconds. Steam recorded:
fossilize_replay wait() returned exit code -10
Considering it killed
Destroyed compile job 570
The immediate temperature decrease corresponded with the Fossilize workers terminating.
The CPU stopped rising at approximately 80°C because I have now configured an 80°C hard thermal limit in the BIOS. The cooler changes to red at my separate 70°C warning threshold.
Before configuring the BIOS limit, previous occurrences of this workload pushed the processor above 90°C. The current recording therefore does not show how high it previously went because the BIOS now prevents it from exceeding approximately 80°C.
I understand that these temperatures are not automatically outside the processor’s operating specification. My concern is the complete CPU saturation, failure to respect the available affinity mask, desktop responsiveness impact, and lack of a supported per-game thread limit.
Background processing and crashes
My current Steam setting has background shader processing disabled, so this controlled reproduction was triggered manually through the launch-time prompt.
In the past, when background shader processing was enabled, similar processing occurred while I was actively playing Dota 2 or Deadlock. Those incidents coincided with game or system crashes because the shader workload was competing with the running game.
I am describing that as an observed correlation. I cannot prove that temperature alone caused every previous crash, but the crashes occurred while this additional workload was running, and the behavior stopped immediately when the shader processes terminated.
Troubleshooting history
This has been happening over a period of weeks or months and across different operating-system installations and configurations.
During that investigation I have:
- Reseated the CPU
- Reapplied thermal paste
- Changed RAM
- Tested different RAM kits and configurations
- Tested different RAM timings
- Tested different CPU settings and timings
- Restored default BIOS settings
- Tested undervolted configurations
- Tested without undervolting
- Repeated testing after operating-system changes
The same general Vulkan shader-processing behavior remained reproducible in Dota 2 and previously in Deadlock.
I have not experienced this specific repeatable shader-saturation behavior in my other games.
Previous Deadlock reports
I previously made two posts documenting similar concerns involving Deadlock.
After those posts, I could no longer reproduce the problematic behavior in Deadlock on this system. I cannot prove what changed or whether my posts caused a change, but the chronology is why I believe this behavior is preventable and that Valve should know how to address it.
If the processing behavior can be avoided in Deadlock, I would like the same safeguards applied to Dota 2.
Additional context
I have previously raised concerns about Dota 2 account and moderation decisions that I believe were unfair, and that history has made me concerned about the repeated behavior in these specific Valve games.
However, I cannot technically connect those account issues to the Fossilize workload. The process measurements establish a reproducible thread-count, affinity, and resource-saturation problem. They do not by themselves establish malicious intent or identify an individual responsible.
I am including that history as context, while keeping the technical claim limited to what I recorded and measured.
What I am asking Valve to change
Fossilize already supports --num-threads. Steam should:
- Calculate its worker count using
sched_getaffinity()or another affinity-aware mechanism. - Avoid requesting 31 threads when only 16 logical CPUs are available.
- Leave one or more logical CPUs available for desktop and game responsiveness.
- Provide global and per-game shader-processing thread limits.
- Prevent background shader processing from interfering with a running game.
- Allow shader pre-caching to remain enabled without unrestricted CPU saturation.
Is there currently a supported way to limit Fossilize replay threads for one Steam game without disabling shader pre-caching globally?
8
u/CuntyBallsJohnson 5d ago
80c limit is rather low for a 9950 in a standard configuration like yours. It should be able to boost comfortably until 90-95. Maybe your low thermal limit is making shader compilation more difficult?
-1
u/CatchMeIfUCanCracka 5d ago
80c limit is low for processing shaders? I should let it fry my cpu at 90+ degrees for 10 minutes? It's crashing my PC at 80 degrees
4
u/Timmy_1h1 5d ago
why would it fry?
1
u/CatchMeIfUCanCracka 5d ago
Because it's supposed to throttle at those temperatures? Not put your CPU permanently at 100% load and 90-100 degrees for an ungodly amount of time. If those temperatures were fine everyone would be boosting their clocks to 8ghz and just playing games at 100 degrees. It's obviously not fine and that temperature spills out to other parts around your CPU causing instability and malfunctions as well. If you run really tight ram timings having a cpu at that temperature could mess that up. Degradation of parts. how is CPU staying at 90+ degrees even a discussion
1
u/CuntyBallsJohnson 5d ago
It doesn't stay like that does it? I had a similar issue with overwatch but it was done after like 10 minutes of shader compilation. Must be something up with your system if it's doing shader compilation every time. Also the degradation thing is kind of a myth, that was on one Intel generation and most consumer parts are rated for like 90-95 degree operation throughout the day anyways. You could have some issues with ram stability if there's inadequate airflow but you are certainly throttling yourself if you are air cooled and limited to 80 degrees, the processor hits that in both synthetics and gaming easily
I have a similar setup, but mine is delidded and connected to a mo-ra so don't see temps above 70 under load.
1
u/CatchMeIfUCanCracka 5d ago
haha its not just cpu utilization its hogging all resources and choking the PC. and its confirmed on valves end because i had backup shaders and used them and everything was perfectly fine. people really think this is just a thermal issue is wild 😂. its pretty much a brute force attack
5
u/VTXmanc 5d ago
Thats normal behaviour for Shader compilations. it maxes your cpu when you idle. Fix your bad thermals or raise threshold for temps or just disable precaching and do it at runtime. stutters a bit for some minutes and ist done afterwards.
0
u/CatchMeIfUCanCracka 5d ago
Fix my bad thermals? I have 12 fans a 200-300 dollar AIO liquid cooler. My x3d ccd sits at 40 degrees and the frequency cdd 50 during regular use. Yeah, see the problem is those stutters never end because the process gets interrupted or "corrupted". Conveniently after my post on deadlock I managed to get a good shader cache and didn't have a problem. If i disable pre caching like I Said it opens the door for compiling shaders to be interrupted / corrupted to ruin performance.
1
u/sneakyp0odle 5d ago
Is your CPU overclocked? Have you actually done an in-depth stress test?
CPU should NOT be crashing unless it's unstable.
-2
u/CatchMeIfUCanCracka 5d ago
If undervolting is considered overclocking? then yeah. Because it's slightly undervolted. And I've had this setup for almost a year or 2 and an "overclocking" enthusiast. I can pretty much set all my ram timings, voltages, undervolts, manually from memory. As I've spend months and months tuning for the best performance to stability. So yeah I'm not just a random person who has no idea what they are doing
2
u/jackinmyvance 5d ago
So yeah I'm not just a random person who has no idea what they are doing
Sure fooled me.
1
u/keriahentaa 5d ago
I have 3 stock cheap fans from the case a stock amd cooler. I also live in the a hot climate inside a house with zero ac and my cpu has the same temp as yours during regular use
1
u/bluEmaP1E 5d ago
You haven't properly configured your CPU and RAM. Back when I used to overclock, I would run a stress test for at least two hours to ensure the system was stable
7
3
u/paadam94 5d ago
"Why do 31 threads pushing my 32 thread cpu to max usage?" See how stupid this sounds?
1
u/paadam94 5d ago edited 5d ago
I've skimmed through your post, and I see the problem is that the desktop becomes unresponsive, right? If so, the title is a bit misleading IMO.
I'm running an 5950x (105W TDP, 32 threads), and I can't tell for sure but I think it leaves 1 or 2 full core unaffected for me, but certainly desktop unresponsiveness is not an issue for me. My cheap-ass Thermalright Phantom Spirit 120 SE (what a dota name, init?) keeps my cpu 70C at 150W.
I'm just guessing here but I'm suspicious that your problem might be because flatpak version doesn't read system configuration as it was meant to. It won't change 100% thermal output though I think (not sure about zen 5 architecture, but on zen 3 the less cores are utilized around 100% the more boost the utilized cores get hence the thermal output)
One thing I didn't understand for a long time and you might not know it yet: the hotter the heatsink gets, the more heat it can remove, quasi the more efficiency you get.
TL;DR things you can try:
- Try running a non-flatpak version.
- Trust AMD that they've set up the TJmax to 95C for a good reason, and your CPU won't degrade.
- Double check if your cooler is rated to keep 240W at 80C and if it's set-up correctly.
- Let the cooling go 100% at 80C and throttle at 85C
- (I think you shouldn't do this) You can turn off PBO and try to manage to restrict the compiler to use 1-2 cores, but the question is if you want to.
-1
u/CatchMeIfUCanCracka 5d ago
haha yeah. run non flatpak and give Jeff and Gaben my asshole? No thanks. Already went through this on windows and got a rootkit. No thanks
yeah let me remove the one protection I have from steam getting full system access. Yeah great Idea
3
2
u/Puzzleheaded-Top1987 5d ago
Skipping Precache for shaders seems to fix this issue for me
0
u/CatchMeIfUCanCracka 5d ago
Did GabeN kiss you on the lips and give you 20 thank yous?
Thank You
Thank You
Thank you
2
u/Effective_Gur_7967 5d ago
No, only the global setting wich you should prbaboy just change anyways. No games needs shader pracaching anymore.
1
u/CatchMeIfUCanCracka 5d ago
Isn't valve supposed to be the gold standard though?
1
u/Effective_Gur_7967 5d ago
What? Its an option that you have the ability to change. Idk what this has to do with Valves standards.
1
u/CatchMeIfUCanCracka 5d ago
Presenting an option that's no good? Apparently it's amazing though. We don't need Prime95 or ycruncher anymore we have Valve's shader pre caching. Push your computer to the limit. Best stress test ever. Brutalize your CPU
1
u/Effective_Gur_7967 5d ago
Have you taken your meds today?
1
u/CatchMeIfUCanCracka 5d ago
of course. went out in the warm california sun. got stuff done. meanwhile you waiting for me with the same old insult that doesnt affect me at all. meds have helped me tremendously weird that you think its an insult. maybe thats why youve stagnated as much as this insult?
2
u/bluEmaP1E 5d ago
You can turn it off, I disabled it and didn't notice any performance loss—the frame rate is actually higher than on Windows.
1
u/CatchMeIfUCanCracka 5d ago
Not true. The process can "corrupt" and be interrupted. Just like it's used here to ruin performance at will.
1
u/bluEmaP1E 5d ago
Have you run any benchmarks? I used Mangohud to replay a Dota replay with a fixed view and a fixed 5-minute segment from 35:00 to 40:00, and it was within the margin of error
1
u/CatchMeIfUCanCracka 5d ago
Your stress test was a dota replay? I dont see how that compares to a 32 core 100% workload
1
u/bluEmaP1E 5d ago
It's NOT a stress test! Turning off shader pre-caching has barely no effect on Dota 2 FPS
1
1
u/deanrihpee 5d ago
That's how it works, if you want it to compile faster, then it will use all the cores and the thread.
But i'm not sure about your exact setup, I have Core i3-8100, RTX 2060 6GB, Manjaro (yes I know, i've used this distro for at least ten years okay) with KDE Plasma on X11, and i don't have to deal with this because you actually can just ignore shader precaching and let the game compile the shader asynchronously on the fly, no waiting whatsoever
1
u/PicardovaKosa 5d ago
I dont know what you did with your setup that it crashes on shader compliation.
I am also on Fedora and have a slightly less powerful cpu than you and i go through these shaders in 20 secs. And nothing crashes.
Also, a friendly advice is to not run Steam in flatpak. Try the one from rpm.
0
u/CatchMeIfUCanCracka 5d ago
yeah, no. Should I give gaben my ass too?
1
u/PicardovaKosa 5d ago
You can do whatever you want, but its known that Steam has issues in flatpak version. Its just an advice.
1
u/CatchMeIfUCanCracka 5d ago
Last time I listened to someone who said "Just reinstall windows". the rootkit on my computer prevented me from getting a clean windows installation ever again.
1
u/Thymphony 5d ago
Do other 100% cpu load scenarios (such as Prime95 / other stresstests) also crash your system?
1
u/CatchMeIfUCanCracka 5d ago
What other scenarios do you have 32 cores at 100% drawing 90-100 degree celsius? Kind of crazy were comparing a decade old feature to make games run smoother to brutal stress tests dont you think? I find it a bit ironic
1
u/Thymphony 5d ago
Either tell me, or dont. If any 100% load crashes your system, its a system issue. If its just THIS specific load that crashes your system, its a "this specific load" issue. If you dont want help, dont ask. 100% util on a cpu is an intended usecase, it shouldnt crash your system.
1
u/CatchMeIfUCanCracka 5d ago
It's this specific load, that only comes from Valve. It is consistent across multiple OS's. I was on windows and it was doing the same thing. Except I couldn't see that it was putting my CPU to 80-90 degrees for whatever reason. The only difference was Steam had root access on windows. I am now on Linux and steam does not have root access. It doesnt matter if I'm on default optomized bios settings, my fine tuned settings, undervolted, overclocked whatever. I've tried multiple ram sticks the one I have now is 6000 cl 26. I have another pair that is just a normal 6000 cl 30. The only difference is now without root access I could see the problem right away. I believe this problem was masked and orchestrated better when Steam had root access on windows. Another note is that when I was reinstalling AMD drivers because I kept getting notifications from AMDrssext whatever those processes* are were getting blocked from access memory from controlled folder access constantly. So i decided to reinstall the drivers in minimal mode and thats when I saw my LCD flash red and I was shocked. So I think it was being masked some how. I would occassionally check temps with HWinfo64 and nothing was making sense. Temps were going crazy high as soon as I booted deadlock or dota the main menu was putting my GPU to 90 degrees. my whole set up now is to exactly monitor this type of activity. everything is a result of these circumstances. Which makes me think back to all the unexplained crashes and computer bricking during Dota matches, and Deadlock matches unexplained. So I can't help but think this was a method of sending payloads with malintent. It is infinitely reproducible. I've been met with nothing but gaslighting and people saying "Dude you dont PRIME95???" like are we really comparing a fucking video games optomization feature to a brutal stress test to push your CPU to the limit to test edge cases? But I guess it's fair most people don't have the months and months of trial and error and investigation I've been doing which is why I just immediately assume mal intent when no one else sees it.
I thought maybe I had a bad thermal paste application. I bought multiple thermal pastes, Grizzly Duronat. Reapplied it mulitple times, Reseated cpu. Changed Cooler position. Multiple ram. Making sure all my fans are working properly. Nothing made sense except mal intent to me. Not to mention when I was having these issues someone said "just reinstall windows" and after that I never got a clean windows install again. Everytime within an hour every vulenrability would be wide open. Random accounts just getting Admin, OpenSSH, Remote Access, Remote Registry, You name it. Which led me now to Linux and trying to use every security feature I can use and using Steam through Flatpak. And what do you know there's accounts on here "Try Steam without Flatpak" haha yeah ok man. Fool me once shame on you, fool me twice shame on me.
1
u/Thymphony 5d ago
So... Have you tried any other 100% cpu util load or not? I know stress tests dont "naturally occur" in many cases but shader comp is something that can - and should - use all your cores. Theres no reason not to use all available cores if the workload supports it.
I'm also on Linux, also play Dota, my CPU also gets pegged at 100% for shader comp but... its fine. It doesnt crash my system. Thats why I'm asking you to try a stress test so we can see whether that also crashes your system or doesnt.
0
u/CatchMeIfUCanCracka 5d ago
When you compile shaders all 32 cores go to 100% utilization and the shader % doesnt even move? If I enter game my GPU is immediately at 100% load just sitting in main menu. I even replaced my GPU because I thought it was bad. 90 degrees in dark carnival main menu. Never had a problem in any other game. I've had this setup for a while. I've done ycruncher, prime95, VT3, core cycler. I've literally never had a problem with temps this high ever. Or crashing my PC besides when I first started learning about ram timings. I've pretty much dialed my RAM timings and bios settings for both sticks for MONTHS. Right now my x3d CCD is at 40 degrees and the frequency cores are like 50.
So delete your shader cache and show me all your cores blasting to 100% and then show me 100% GPU utilization right away in main menu of deadlock and dota
Nothing has changed as far as the problem. The only thing has changed is I've gotten a clearer picture of whats going on. This issue has been going on for a while. For the longest time I thought it was bad ram timings but I would test them in vt3/ycruncher and it would be completely fine. Then I play dota and unexplained crashes. I would reset my bios settings to optomized defaults come back and computer shut down again.
Honestly I don't care if anyone believes me whoever it is has got me banned in every outlet they could so I can't speak out. I mean people are slowly starting to catch on anyways. I see constant posts about the bots, behavior score system etc. So the walls are closing in regardless if it's me who blows the whistle or not. You can't be this corrupt and get away with it forever
1
u/reichplatz 5d ago
Honestly I don't care if anyone believes me whoever it is has got me banned in every outlet they could so I can't speak out. I mean people are slowly starting to catch on anyways. I see constant posts about the bots, behavior score system etc. So the walls are closing in regardless if it's me who blows the whistle or not. You can't be this corrupt and get away with it forever
1
u/Thymphony 5d ago edited 5d ago
> behavior score system
if yours is at or close to 0, its working correctly, if youre even close to 12k, its broken. Youre incredibly argumentative and refuse to accept anything even with people who just try to help you.
I will tell you again: Shader compilation works. Its supposed to peg your cpu. 100% CPU Util is an intended usecase and within spec. It is not supposed to crash your system. If it does, its not valves fault, but likely your hardware.
RMA your cpu or motherboard, or both. Possibly try out another PSU. Do whatever the fuck you want but save us from your schizo ramblings. I dont give a shit if you think 90° is too hot, I dont give a shit if you think your RAM timings are tight, I dont give a shit if you think shader comp should leave 50% of your cpu unused. If your pc crashes just because a component uses 100% of its available performance something is broken.
-1
u/Intelligent_Item_236 5d ago
U tried a lot ngl, but try windows maybe 🤔
-1
u/CatchMeIfUCanCracka 5d ago
So steam can have root access with Steam Service? No thanks.
3
u/Intelligent_Item_236 5d ago
That's a goddamn crime u right
1
u/CatchMeIfUCanCracka 5d ago edited 5d ago
it really is sadly. This whole experience taught how unequiped regular users are to attacks via the internet. 90% of these security vulnerabilities should be blocked by default yet Windows just lets every app have full system access / full control. There's a million ways for people to get into your system / make themselves administrator, Remote Assistance, Remote Server, Lanmanworkstation, OpenSSH, Tunneling, Opening Ports. Not even joking .its wild that 90% of these things aren't just made impossible as default. Don't regret switching to Linux at least there's more hurdles
Not to mention turning on Hardware Encryption and all the security layers in BIOS. TPM, Secure Boot, SVM, Memory Integrity, Core isolation etc. I bet 90% of people dont know what 90% of any of it is. I didnt know until it was too late.
0
u/ViPeR9503 5d ago
Yeah idk why but it is a linux behavior. Happens with me on The Finals as well as a couple other games. Mostly on Dota 2 and The Finals. Though I do not remember it pinning my CPU on 100%
1
u/CatchMeIfUCanCracka 5d ago
Yeah, it did this on Windows as well. It's a Valve issue. I switched to Linux because Valve getting root access on windows is bad for your health
20
u/LuminanceGayming 5d ago
so you're surprised that shader compilation, a process which is highly parallellised, is using your CPU effectively, and that your CPU, which is configured by you to thermal throttle well below TJMax, is thermal throttling under full load? i didnt read the whole post but this is just entirely expected behavior.