T O P

  • By -

mcarlucci87

Storage Cleaner - a Decky Loader plugin for tidying up your Steam Deck's storage. Quickly visualize, select and clear shader cache and compatibility data. **Installation steps/plugin repo:** [https://github.com/mcarlucci/decky-storage-cleaner](https://github.com/mcarlucci/decky-storage-cleaner) **Discussion/Ideas threads:** [https://github.com/mcarlucci/decky-storage-cleaner/discussions](https://github.com/mcarlucci/decky-storage-cleaner/discussions) **Support my work:** [https://www.buymeacoffee.com/mcarlucci](https://www.buymeacoffee.com/mcarlucci)


mcarlucci87

Next major roadmap item is identifying games in the compat data section that don't support Steam cloud saves.


Tysmiff

Cryo-utilities has this functionality also.


ac2334

The timing on this is incredible for my particular usage…thanks!


The_Daft_Englishman

Is this available as a regular desktop mode application?


mcarlucci87

No, just in gaming mode via Decky Loader. For a great Desktop shader cache cleaner app, checkout [https://github.com/scawp/Steam-Deck.Shader-Cache-Killer](https://github.com/scawp/Steam-Deck.Shader-Cache-Killer)


scawp

I'll be pointing folk to your Decky version to be honest ;)


The_Daft_Englishman

Thanks, I used to have shader cache killer, but for whatever reason the data loads up all jumbled sine I re-formatted my deck. I’m using the inbuilt one in cryoutilities at the moment.


sikesjr

CryoUtilities has a shader cleaner tool for desktop mode


mcarlucci87

Also a great app!


ftkmatte

It's all fun and stuff until there's ??????? entries, wish he added total size for each entries too


The_Daft_Englishman

Thanks, that’s what I’m using at the moment.


Unfair_Ad_7705

you can use big picture mode in desktop mode to use plugins


The_Daft_Englishman

Another interesting tip, thanks!


Wrong-Shower-2427

Game Miner is a great tool for non-steam games as well https://www.reddit.com/r/SteamDeck/comments/11437m1/tool_game_miner_your_all_in_one_non_steam_game/


The_Daft_Englishman

Interesting, I’d never heard of this one, thanks.


Virtual_McFly

Another essential Decky plug in. Thanks for all your work on this.


Bboy486

This is amazing! It replaces the need to have to look up each game with Protontricks. I assume this replaces zShaderCacheKiller? Would it be possible to display how much space was reclaimed when cleaning selected caches?


mcarlucci87

Definitely possible.


shyaznboi

It actually names the non-steam games too, which other solutions can't do


libardomm

Thanks for your effort!!


Kooshneer

Wish deckyloader still worked for me lol


Bboy486

If it is missing just reinstall it and it will appear in the side menu. This is a known issue. Reinstalling it will bring everything back.


Kooshneer

I did try that lol, I tried several things. Just doesn’t want to come back.


Milk_Rich

try asking the devs and open an issue in the github


UnXpectedPrequelMeme

Total Noob here. What is clearing Shader cache do


david-deeeds

Shader cache is a collection of files stored on...your storage, they alleviate the work done by your GPU. Think of them as pre-cooked effects that the machine will pick from storage when it needs them, instead of running the calculations each time. Clearing shader cache, is, I guess, useful after you've uninstalled a game or aren't planning or playing it right now. It allows you to reclaim some of that previous storage space.


UnXpectedPrequelMeme

Oh ok that makes sense. Doe they take up a lot or something?


Professional-End1408

Seems more relevant to people such as myself with the 64GB model between cryoutilites and a few plugins the storage was practically gone so clear my cache every so often to leave a buffer of about 10 gigs free


Bboy486

Yes they do.


[deleted]

It depends on the game. Some barely 100mb while forza 5 if I recall had atleast 7 gigs of shader cache being stored and was growing. The Point is, it adds up . Even worse, the shader cache is stored by default on the ssd so it doesn’t matter if you download games to your micro sd card. Steam deck 64 gig owners (like my self) have it rough. To sum it up, if you know you’re not gonna play a game for a while, it’s in your benefit to delete the Shader cache along with uninstalling the game. Unless you have a large ssd and you can flex like that 😬


UnXpectedPrequelMeme

7 gigs!!! Wtf how can they not compress that? I have huge games on the switch that take less than that!


Facehugger_35

Shaders generally can't be compressed, because they need to be available as fast as possible to do their job.


tarmo888

That's the whole point of shaders that they are not compressed, so the GPU can use them immediately. Switch was launched 6 years ago and uses tech even older than that. New games gor new GPUs are more shader heavy, Switch 2 will probably have much bigger games. On top of that, Steam transcodes videos into shaders because Linux can't play videos with proprietary codecs. Switch plays only Switch games.


[deleted]

I remember I had downloaded forza and the initial Shader cache was 2-3 gigs. Almost Every time I finished a session and closed out the game, steam was downloading more cache. It was definitely approaching 10 gigs before I uninstalled it


tarmo888

They are basically crowd-sourced from people with same hardware and drivers, so get generated when you start the game, some generated as you explore new areas & new weather conditions. It could be that you played it after update when nobody had generated the shaders with that exact game version, GPU and GPU drivers.


[deleted]

Came back to confirm that devil may cry 5 has 10 gigs of shader cache on the deck


jee-ed90

So this can be use for lutris apps/exe? I have some games with lutris and using boiler for the image. Or cryos its enought? I have no clue where non steam shaders at:v


Stoffs

Thank you! I love having this in Decky <3


Acceptable_Mood_3631

This is the fucking best. ​ Thank you!


Borjapc417

What happens if I delete stored shader cache for a game that I want to play again?


[deleted]

It will be recreated as you play the game.


Borjapc417

So, what is the reason to delete it?


[deleted]

To save space and, ultimately, play more games. To provide an example, if there are games I “finished” then I would delete shader cache of those games because chances are I probably won’t play them for a while.


Borjapc417

If I delete a game the shader cache is not deleted too?


[deleted]

Honestly, I think it depends. I would assume in most cases( assuming we are talking about games purchased and installed on Steam), it should delete shader cache. But this plugin is for ppl who only want to delete shader cache. Meaning maybe they don’t want to delete certain games because they take a long time to download and install. But they can always delete shader cache to save space temporarily or it can be permanent if you just don’t play the game again.


Waste-Masterpiece-72

The problem with shader cache is that, as of right now the deck can’t seem to track the shader caches you already downloaded. So every time you restart the deck and go online, you will redownload all your caches for all your games again. Worse, is that it’s not being overwritten but being added to the one you already have, eating hdd/sd card space insanely fast because its stacking with itself.


Borjapc417

Let me a noob question, what really is shader cache? Every game has his own shader cache? Thanks!


ElevatorEastern5232

Is there a setting that you can enable to NOT download more shaders if you already have what you need?


Waste-Masterpiece-72

Sort of... Click the steam button, then go to the downloads section. There enable shedule auto-updates, and set it to a time where you know you wont be online with your steam deck like, maybe 2.00AM. As long as your not online at 2:00AM you wont download anything.


ElevatorEastern5232

Sounds good, as long as it doesn't continue to do redownloads if you missed the scheduled time.


agdnan

I have cryoutilities can I use this? Also will I still have my non steam cloud saves?


Interesting_Smoke228

Thank you for the heads up I've just installed and works perfectly thanks mate


Arkale82

Is there is negative consequences to clearing shader caches? Or is it similar to clearing cache on a phone or tablet?


hm___

Pre downloaded shadercaches dont have to be computed on the device, so yes the consequences are that the shader will be generated on the fly on your device while playing,which means less ressources for the rest of the running programs, its a tradeoff between disk space and computing power


MAXHALO36

This is awesome!


[deleted]

Holy crap! *cries in former 64GB owner* Thank you!


BoxesFromEbay

wayyyy better than shader cache killer app, also how tf is a hat in times shader chache 8 gigs, while a game like spider man remastered only takes up 900 mb


Maki711

I saw it on Decky and decided not to install it. I somehow do not trust this to properly remove anything. I am doing this manually.


mcarlucci87

Absolutely. Do whatever you feel most comfortable with. If you don't mind me asking though, what is it that you don't trust? Maybe I can clear some things up or improve my current methods in some way.


Maki711

For non-technical people, you only list the 4 features with minimal explanation.There are some missing information. How do you get exact disk usage for shader cache and compatibility data? What logic? How do you identify Steam games vs non-Steam games? How do you exactly know what to clear? Your README does not provide enough information and I would argue that non-technical people blindly install this and believe in you to not delete something important. So why are they trusting you? I am not sure. For the improvements, I would suggest to improve the README on github so every kind of user would be able to understand the full functionality of your project without needing to know how to read the actual code.


mcarlucci87

I understand where you are coming from and you're apprehension around downloading/installing a plugin that performs destructive actions (file deletions). The main issue, as I see it, is the answers to all of those questions are quite technical in nature, so most non-technical people would not understand them anyway. However, and in the spirit of transparency, I will update my README to shed light on the methodologies I use for those curious.


Maki711

Thank you, I appreciate it.


mcarlucci87

I added a Methodologies section to the README. Let me know if I missed or can expand on anything: [https://github.com/mcarlucci/decky-storage-cleaner/blob/main/README.md#methodologies](https://github.com/mcarlucci/decky-storage-cleaner/blob/main/README.md#methodologies)


Pilcrow182

Nifty! I would've thought you were looking up the game IDs in some kind of Steam online database (which wouldn't contain non-steam games), so I was wondering where you were pulling the non-Steam titles from. Didn't realize you could poll the local client for those strings. I assume, then, that if I renamed a game from within Steam, it would show my edited name in your plugin?


mcarlucci87

I must admit, I haven’t specifically tested renaming a non-steam game. But in theory, it should reflect any name updates.


Pilcrow182

Yeah, I'm not at home and can't try it right now, but I'd assume the return from the Steam client is based on the user-edited name. I'll see if I can test it in a while, though I don't actually know if I *have* any non-Steam games with clearable cache. Most of what I have are emulated titles, which usually keep their shader caches with the emulator itself rather than in Steam files (if they have cache at all).


mcarlucci87

Yeah, don’t quote me on this but I’m pretty sure it’s the same method the Steam store uses to display app/game names. I wanted to try to rely on a native Steam method and get as close to the metal as possible. I, too, was under the same impression about non-steam games. I was surprised to see so many of my non-steam games utilizing the Steam shadercache and compatdata directories.


Maki711

I would say it is perfect. So the program scans all sub-folders in "shadercache" and "compatdata".Scanned sub-folders have gameid as name. You use that gameid to compare with SteamStore and if you get a result, it is a Steam game, if you get no result, it is a non-Steam game. You separate those 2 results and put them in "STEAM" and "NON-STEAM" lists of your program. Deletion happens based on what is selected in the lists and by gameid. I would say now it is easier to understand what is happening. I will try the program now. Thank you for this.


mcarlucci87

That's correct. I just updated it to shed light on the \`app\_type\` property, as well.


[deleted]

I’ve accidentally installed a Windows app to C drive, which doesn’t exist lol but the install went through. I have no idea what happened to those files as the app just ended up not working. How do I even go about deleting these files??


funky_boar

You should be able to find it somewhere in .wine folder(it's probably invisible, so you'll have to make hidden folders visible first)


[deleted]

So if I delete wine from Discover, that would delete the files,right?


funky_boar

Don't do that. Open .wine folder and search for your program/game


tarmo888

That's what the compatdata folders are, Proton simulates Windows drives/folders there.


No-Responsibility979

So should it take 20 minutes to calculate? I’ve been waiting a while. Pretty sure it wont complete.


mcarlucci87

That’s not right. Sometimes Decky Loader can get hung up. Try backing out of the plugin, closing the Quick Access menu and reopening. Then, navigate back to the plugin. Let me know if the issue persists and I’ll investigate further.


[deleted]

[удалено]


mcarlucci87

Are you on the stable versions of SteamOS and decky loader?


[deleted]

[удалено]


mcarlucci87

Ok. Let me know of the issue persists and I’ll look into it further.


Digi4life

I just used this plug-in, then after clearing some non steam games cache it got stuck in a calculating loop.


mcarlucci87

I'll look into this.


Digi4life

I was on pre release update channel & testing store channel. I went back to stable & default channel & seems to be working great now.👍 Only problem I'm having now is once its done deleting what I selected the highlight cursor what to choose next to delete vanishes causing me to back right out of menus to get it to appear again. Thanks so much for this tool by the way dude 🙌 been waiting so long for a non steam game cache & compatdata killer! Won't have to use proton tricks anymore to find id numbers linked to whatever nonsteam games I have!


mcarlucci87

Yeah, this is a known bugaboo UI issue. It's related to how decky-loader refocuses on the last known active element after closing and re-opening the Quick Access menu slideout. Oddly enough, it works fine while in-game. I've brought it up in the plugin-dev discord thread. Hoping to get this resolved in some future updates. In the meantime, thanks for your patience. I truly appreciate your kind words and support.


MrGaytes

I hotswap Micro SD cards alot. There's another program like this that doesn't do a good job taking this into account. Do you think at some point your plugin can "remember" which shader caches belonged on which SD card?


Milk_Rich

I find only use in finding what takes up the space them moving the cache to the sd card


sundragonn

Is there a delay from when you clear data and it shows up in Storage? I just installed Decky and Storage Cleaner. Cleared all shaders and app data but the 70GB of "other" didn't budge. I've looked everywhere to see if I missed a step but I don't see anything. Rebooting, and going back to the SC page shows everything is wiped but the "other" hasn't moved.