In short:
- Pre-compiled Vulkan shader caches and Proton prefixes silently consume gigabytes, especially on the 64GB eMMC model.
- Use Decky Loader’s Storage Cleaner plugin to safely remove cache from uninstalled games directly in Game Mode.
- Never symlink shader cache folders to a microSD card; slower read speeds cause noticeable lag spikes during gameplay.
You just uninstalled three games, yet your Steam Deck still screams about full storage. The culprit rarely shows up in your library list. Valve ships pre-compiled Vulkan shader caches with Steam games to avoid stutter on first play, and these files are stored locally per game under the steamapps/shadercache directory. Add Proton compatibility data on top, and gigabytes vanish silently into hidden folders. If you own the base model, this silent bloat turns into a daily headache.
What Exactly Is Eating Your Steam Deck Storage?
When you launch a Windows game on SteamOS, Proton translates DirectX calls into Vulkan instructions your AMD APU understands. Compiling those shaders on the fly causes massive frame drops. To prevent that, Valve pre-compiles them and stores the result locally. Every game gets its own folder inside /home/deck/.steam/steam/steamapps/shadercache.

The second invisible space hog is compatibility data, known as compatdata. This folder holds each game’s Proton prefix, which mimics a Windows C: drive and can grow to several gigabytes per game, especially for games with many saves or mods. You delete a 50GB game, but leave behind a 3GB prefix filled with fake registry files and cached assets. Multiply that by twenty titles, and your drive suffocates.
Key takeaway: Shader cache and Proton compatibility data silently consume gigabytes of storage on the Steam Deck. These hidden folders grow with every game you install, even after uninstallation.
Steam itself exposes a ‘Shadercache’ size per game in the game’s Properties > Installed Files tab, letting users see how much space is used without third-party tools. Check it right now. Pick your five most-played games and look at those numbers. You will likely find hundreds of megabytes attached to titles you haven’t touched in months.
Why the 64GB eMMC Model Suffers the Most
The original 64GB eMMC Steam Deck model is particularly affected by shader cache growth because the eMMC is both small and slower than the NVMe drives in higher-capacity versions. With barely 50GB usable after SteamOS takes its share, caching ten modern games fills the drive completely.
Beyond capacity, the eMMC read speeds bottleneck the very system meant to help you. Loading pre-compiled shaders from a slow flash chip introduces micro-stutters during gameplay, defeating the purpose of the cache in some heavy titles. Upgrading the internal SSD remains the ultimate fix, but if you bought the 64GB version to save money, throwing another hundred dollars at an NVMe drive probably isn’t your plan.
Auditing Your Hidden Space Hogs
Before deleting anything, figure out what occupies your drive. Switch to Desktop Mode by holding the power button and selecting “Switch to Desktop.” Open the Dolphin file manager and navigate to:
/home/deck/.steam/steam/steamapps/shadercache/home/deck/.steam/steam/steamapps/compatdata
Right-click those folders and check their properties. Seeing 15GB sitting in compatdata for games you uninstalled last year hurts, but at least you know where the space went. Take note of the folder names, they correspond to Steam AppIDs, so you can cross-reference them with your installed library.
Pruning Safely with Decky Loader and CryoUtilities
Wiping folders manually in Desktop Mode works, but doing it from Game Mode saves time. Decky Loader is a community plugin loader for SteamOS that hosts utilities like Storage Cleaner, which can delete shader cache and compatdata per game directly from Game Mode. Once installed, press the Quick Access button (the three dots), open the Decky menu, and select Storage Cleaner.
You get a list of games with checkboxes next to their cache and prefix sizes. Tick the ones you no longer play and hit clean.
If you want deeper control, look at CryoUtilities by CryoByte33. While famous for adjusting swap file sizes and memory management, it includes options to manage storage overhead more aggressively. It operates through a simple script you run in Desktop Mode, giving you toggles for various system optimizations beyond just wiping cache folders.
One warning from experience: keep your SteamOS update channel set to Stable. Beta channels frequently clash with Decky Loader plugins, breaking the Quick Access menu integration until you re-enable Developer Mode and CEF Remote Debugging after an update.
The SD Card Symlink Trap: Don’t Do It
A popular workaround floats around the Steam forums: moving your shader cache and compatdata folders to your microSD card, then creating symlinks back to the internal drive. One user on the Steam Community detailed how dragging those folders to the SD card and linking them back freed up over 20GB on their internal SSD.
Another community member immediately warned against this exact method in the same thread, pointing out that routing Proton reads through the SD card bus actively hurts performance in most cases. They noted that people will do that, forget they did it, and later blame Linux for lower framerates. They aren’t wrong.
MicroSD cards, even fast A2-rated ones, cannot match internal storage latency. When a demanding game requests shader compilation data during a complex scene, waiting on the SD card reader introduces hitching. If you already symlinked your folders and notice weird lag spikes in previously smooth games, revert the changes. Move the folders back to the internal SSD using the exact reverse steps.
Watch out: Moving shader cache or compatdata to a microSD card via symlinks introduces latency and micro-stutters. Always keep these folders on the internal drive for optimal performance.
Our take on managing Deck storage
Treating shader cache like disposable junk misses the point: it exists to keep your framerates stable. Deleting everything blindly forces Proton to rebuild caches on next launch, causing the exact stuttering Valve tried to eliminate. Audit your drive once a month using the Steam Properties tab or Storage Cleaner. Target uninstalled games first. Leave active titles alone unless you desperately need room for tonight’s download. Managing storage on a handheld means curating your library ruthlessly, not nuking system files every time the progress bar hits 99%.
FAQ
What exactly is shader cache on the Steam Deck?
It is a collection of pre-translated graphics instructions. Instead of converting Windows DirectX code to Vulkan while you play (which causes stuttering), SteamOS downloads ready-made translations for your specific hardware.
Is it safe to delete shader cache?
Yes. SteamOS will simply redownload or recompile the necessary files the next time you launch that specific game. Expect slightly longer load times or minor stuttering during the first few minutes of that session.
Does clearing shader cache affect performance?
Temporarily, yes. Without the pre-compiled files, the Deck has to compile shaders in real-time until the cache rebuilds. After that initial hiccup, performance returns to normal.
Can I move shader cache to my microSD card permanently?
You technically can via symlinks, but you shouldn’t. The slower read speeds of microSD cards introduce latency when games request those files, often resulting in worse performance than just leaving them on the internal drive.
How do I see how much cache a specific game uses?
In Game Mode, highlight the game, press the Start button or the gear icon, go to Properties, then Installed Files. Steam displays the exact size of the shader cache for that title.