Home » How to Optimize Vulkan Shader Precompilation in Steam Proton
Gaming Tech

How to Optimize Vulkan Shader Precompilation in Steam Proton

Quick Diagnostics

Sudden graphical frame drops (stuttering) and micro-freezes when playing modern games on Linux under Steam Proton are usually caused by active real-time Vulkan shader precompilation. The processor compiles new graphical models on the fly as you play, causing severe and instant drops in framerate.

Step-by-Step Solution

Step 1: Enable Vulkan Shader Background Processing in Steam

Configure Steam to compile shader resources asynchronously in the background before you launch your game:

  1. 1

    Step 1

    Open Steam and navigate to Settings > Shader Pre-caching.
  2. 2

    Step 2

    Ensure the checkbox Enable Shader Pre-caching is ticked.
  3. Google AdSense Ad (In-Article) In-Article Ad
  4. 3

    Step 3

    Check the box Allow Vulkan shader processing in the background.

Step 2: Enable DXVK Async for DirectX 11 games

For DirectX 11 titles, you can force DXVK to compile shaders asynchronously by adding specific launch parameters in Steam:

BASH
# Define async compile directive for DXVK
dxvk.enableAsync = true

(Right-click the game > Properties > General > Launch Options and input):

PLAINTEXT
PROTON_ASYNC=1 %command%

Step 3: Clear corrupted shader caches

If stuttering issues persist, purge the old Vulkan shader cache to force a clean reconstruction of textures for your NVIDIA or AMD graphics card:

BASH
# Remove Steam's shader cache directory contents
rm -rf ~/.steam/steam/steamapps/shadercache/*

Prevention Advice

Recommended security practices:

  • Do not use the PROTON_ASYNC=1 launch flag in competitive multiplayer online games that utilize restrictive kernel-level anti-cheat engines (such as Easy Anti-Cheat or BattlEye). Asynchronous rendering shifts the game's native frame drawing sequence, which anti-cheat algorithms can flag as client-side memory manipulation, resulting in a permanent account ban.