Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I'm not sure why this needs to have a whole github repo for 1 line.
Great, the entire shader cache? Ugh. So then it broke something, because now my game stutters slightly while something loads during gameplay. Should have just left it alone, it was working fine before this.
So if this code doesn't make any changes, and only deletes the entire shader cache, shouldn't the problem be solved once the shader cache is rebuilt? Does the deck re-download the shaders or do I have to rebuild them myself? I tried reinstalling the game and it's still stuttering.
Any reason why there is such a large discrepancy in shader file sizes between the two?
Steam compile shaders for all instances, so you will never experience hitches. Your non-steam games never experience all moments where you need to compile shaders.
I would enable
https://www.phoronix.com/news/RADV-GPL-Getting-Good
https://www.supergoodcode.com/through-the-loop/
Yes, it seems it only deletes the shader cache. The problem should be gone after seeing each shader compilation stutter once, as the cache is rebuilt.
I suggest that if you run a script, try to view its code first and if it's short enough, try to understand what it's doing before you run it. In the case of "DeckCleaner", which simply has 1 line of real functionality, it is very easy to figure out. In this way, you can be empowered to understand how you're affecting your system.
Do I enter that command via Konsole in desktop mode?
Thank you all for the responses so far, I've been reading up a lot on this and it seems like everyone is saying once you play enough of a game it will rebuild the shaders... Obviously a lot of people mention that that's not feasible since who wants to play the same game twice, but the funny thing is, the game in question is GTA San Andreas 1.0 PC (not the remaster) and the very first time I installed it I never had a single stutter.... So I don't get how the first run didn't have any shader compiling stutters meanwhile post shader deletion does have stutter, makes no sense.
Then there's the question of shouldn't the game be old enough and hardware on the deck strong enough that even if it is compiling new shaders on the fly, I wouldn't notice it?
Really wish I didn't use deck cleaner... I also ready shader killer has the functionality I wa looking for which is deleting ONLY uninstalled games and leftover shaders.
Thanks all for the help!
There are many ways to set environment variables. Each one is different depending on your needs. This method works in game mode but I do not know if it will screw up steam input recognition.
Example
For non steam games.
Target: konsole
Starts In: .....
Launch options: --fullscreen
I want to unset LD_PRELOAD. Make LD_PRELOAD = ""
Target: env
Starts In: .....
Launch options: LD_PRELOAD="" konsole --fullscreen
For steam games, add the variables before %command%
In Settings Gear -> Properties
General -> Launch Options:
RADV_PERFTEST=gpl %command%
https://wiki.archlinux.org/title/steam
https://help.steampowered.com/en/faqs/view/7D01-D2DD-D75E-2955
https://userbase.kde.org/Session_Environment_Variables
https://wiki.archlinux.org/title/environment_variables
Do not regret. Deal with it. People who are great at technology just deal with all their mistakes whatever they are.
Disable the toggle, wait a few seconds, and re-enable it.
All cached shaders will be deleted, and Steam will re-download them for all installed games. (maybe don't do this on a mobile hotspot or other metered connection)
If you delete the folders manually (like you did with the script) Steam won't know that they've been deleted and won't download them again.
Not gonna lie, I did learn a lot about this entire shader business... But it felt like I was forced to while going crazy trying to fix this lol.
It's fine. Graphic drivers are compilers. Compilers turn source code into runnable programs. D3d, Opengl, and Vulkan all compile GPU code into runnable GPU programs.
Shader hitches are the graphic driver compiling graphic code before you can run them. The process is essential to how GPU work. Shader cache is essential because it helps you avoid recompiling the same shader you just ran. It helps reduce CPU overhead.
Because Valve controls the OS and hardware, Steam has the ability to download pre compiled shader which means your steam deck have near 0 CPU overhead for running GPU code. Valve provides a huge performance benefit for steam games.
However, Valve has been investing a ton a money in Linux GPU drivers in general. You can enable GPL shader pipeline which makes shader compiles super fast. Even with overhead, you should not have shader compile hitches at all.
GPL shader or shader cache isn't the only way to get rid of shader hitches.
Look at Dolphin monster idea below. Emulate the whole GPU
https://dolphin-emu.org/blog/2017/07/30/ubershaders/
Hey thanks for the explanation, I've been reading up on RADV_PERFTEST=gpl you mentioned and from all I've read, it sounds like it's a good thing... What I'm kind of surprised about is how it's been out for MONTHS and people were talking about how this will be on by default "in the future"... But these posts were from like 10 months ago.
What's the reasoning behind valve not turning it on by default? Are there any downsides?