GPU Cache

Mesa Shader Cache

Compiled GLSL and SPIR-V shader programs from Mesa’s OpenGL and Vulkan drivers are stored on disk so games and 3D apps do not have to recompile the same GPU code every launch. That cache lives under mesa_shader_cache and contains driver-specific shader binaries, pipeline state data, and related metadata that Mesa rebuilds automatically per application. Kudu removes only these disposable shader cache files, not save data, configs, accounts, or game assets.

Why clean Mesa Shader Cache?

  • Shader blobs compiled against an older Mesa build or previous GPU driver stack can become invalid after an update, causing long first loads, hitching, or repeated recompilation stutter in games
  • Corrupted cache entries can make a title hang on the splash screen, show a black scene, or crash when entering areas that trigger specific shaders
  • Per-application shader binaries accumulate over time and can consume hundreds of megabytes or more in ~/.cache, especially after testing many games or Proton prefixes
  • Stale pipeline cache data may cause inconsistent performance between launches, where one run is smooth and the next recompiles shaders again with visible frame-time spikes
  • Graphics artifacts such as missing effects, broken shadows, or incorrect lighting can come from cached compiled shaders that no longer match the current Mesa compiler behavior
  • After switching GPUs, changing Mesa versions, or moving between native and compatibility layers, old cache entries can be ignored poorly and leave you with shader compilation pauses during gameplay
What gets cleaned

Cache paths Kudu targets

Linux

~/.cache/mesa_shader_cache
Frequently asked

Common questions about Mesa Shader Cache

Free & open source

Download Kudu and reclaim your disk space.

Available on Windows, macOS, and Linux. No account required, no feature gates, no telemetry without consent. All cleaning targets are open source and community-auditable.