Skip to content

Shader Cache Ryujinx [UPDATED]

Ryujinx’s shader cache is automatic, per-game, and GPU/driver-specific. Do not download random caches. Do not delete unless broken. Let it build naturally for stutter-free gameplay after the first 30–60 minutes of play.

If you must share caches (e.g., same hardware between friends), copy the shader.cache file only and ensure identical Ryujinx version, GPU model, and driver branch.


Before we dive into the cache itself, we must understand the enemy: stutter.

When a game developer creates a game for the Nintendo Switch, they write instructions for the Switch’s specific NVIDIA Tegra X1 GPU. These instructions are written in a language called Shader Language. A shader dictates how light bounces off a surface, how water ripples, or how a character’s hair moves in the wind.

When you play that game on a PC via Ryujinx, your PC (which likely has an NVIDIA RTX or AMD Radeon GPU) does not natively speak the Switch’s language. Ryujinx acts as a real-time translator. The first time your character walks into a new area—say, a snowy mountain in Breath of the Wild—the emulator sees a new shader instruction. It must translate that Switch shader into a PC shader (GLSL or SPIR-V). shader cache ryujinx

This translation takes computation time. It might only take 10 to 50 milliseconds, but that is enough to freeze your frame. That freeze is stutter. The second time you walk into that snowy mountain, the translation has already been saved. Your PC just reads the pre-translated version, and the game runs smoothly.

That saved translation is the shader cache.


Building your own cache is simple, but time-consuming. You play the game; Ryujinx learns.

Step-by-step guide:

Pros: 100% safe, no downloading files from strangers.
Cons: Takes 10–20 hours of gameplay for large open-world RPGs.


The shader cache is a stored collection of compiled GPU shader programs that a Nintendo Switch game requires to render frames. On the Switch, the GPU makes heavy use of shaders that are either precompiled or compiled quickly on the device. When emulating the Switch, the emulator must translate the Switch GPU shader code into shaders that the host GPU and graphics API (Vulkan, OpenGL, Direct3D, Metal) understand. Compiling those translated shaders at runtime is expensive: it causes stutters and long hitches when a game requests a shader that hasn’t been compiled yet. A shader cache preserves those compiled host-side shaders so they don’t need to be recompiled every time the same rendering path is used.

Ryujinx compiles GPU shaders from the Nintendo Switch’s native format (Maxwell) into your PC’s GPU format (e.g., Vulkan/OpenGL). This compilation is expensive. The shader cache stores the compiled result so that next time the same shader is needed, it loads instantly instead of stuttering.

Ryujinx has two main caching systems:

Proper term: “Shader Cache” (not “pipeline cache” – that’s more Yuzu’s term).


There are two main phases of shader handling in Ryujinx:

Ryujinx uses a multi-layered approach:

The cache typically includes:

Scroll To Top