Steam Deck: Editing dxvk.conf to Fix Stuttering in Elden Ring

While most users look for dxvk.conf, Elden Ring actually uses the VKD3D configuration for its DX12 logic. However, creating a dxvk.conf in the game folder can still influence the underlying Vulkan presentation layer.

File Path & Creation

  1. Switch your Steam Deck to Desktop Mode.
  2. Navigate to the Elden Ring installation folder:~/.local/share/Steam/steamapps/common/ELDEN RING/Game/
  3. Right-click and create a new text file named dxvk.conf.
  4. (Advanced) To affect the DX12 translation directly, you can also set environment variables in the Steam Launch Options.

Optimized “Tarnished Stability” Configuration

Paste the following into your dxvk.conf file. This forces the Steam Deck to prioritize Asynchronous Compilation and increases the memory pool available for command buffers.

ParameterValueTechnical Purpose
dxvk.enableAsynctrueAllows shaders to compile in the background without freezing the frame ($T_{wait} \to 0$).
dxvk.gplAsyncCachetrueUses the Vulkan Graphics Pipeline Library to pre-compile effects.
dxvk.numCompilerThreads4Dedicates 4 of the Deck’s 8 threads specifically to shader compilation.
dxgi.syncInterval0Disables internal sync to let the Steam Deck’s system-level limiter handle pacing.
[eldenring.exe]
dxvk.enableAsync = true
dxvk.gplAsyncCache = true
dxvk.numCompilerThreads = 4
dxgi.syncInterval = 0
dxgi.nvapiHack = false

HowTo: Engineering the Ultimate Steam Deck Stutter Fix

Follow these GameEngineer.net technical steps to stabilize your frame times:

  1. Steam Launch Options: Right-click Elden Ring in Steam > Properties. In the Launch Options, paste this:RADV_PERFTEST=gpl %command%This forces the AMD Vulkan driver (RADV) to use the Graphics Pipeline Library, which is the single most effective “stutter-killer” in 2026 for the Deck.
  2. The “Shader Pre-Caching” Myth: Ensure “Enable Shader Pre-Caching” is ON in Steam Settings. Valve sends pre-compiled shaders to your Deck, but they can get corrupted. If stuttering persists, go to Steam Deck Settings > Storage > Shader Cache and Delete the cache for Elden Ring to force a fresh, clean rebuild.
  3. Proton Version: Use Proton Experimental or GE-Proton (v10.0+). These versions contain the most recent vkd3d-proton patches specifically designed to handle Elden Ring’s “command buffer” spam.
  4. GPU Clock Fix: Open the Steam Deck “Quick Access Menu” (the ... button). Under Performance, set the GPU Clock Frequency to a manual fixed value (e.g., 1200MHz or 1600MHz). Letting the clock fluctuate ($F_{var}$) during traversal is a primary cause of micro-stutter in the open world.
  5. The “30/60” Rule: For the most stable experience on the Deck’s 800p screen, set the system Refresh Rate to 40Hz and the Framerate Limit to 40. This provides a significantly smoother $25\text{ms}$ frame time than the erratic $30\text{–}45\text{ FPS}$ range.

Technical Explanation: GPL and Pipeline State Objects (PSO)

Elden Ring stutters because it frequently asks the GPU to create Pipeline State Objects (PSOs) on the fly. In standard DX12, if a PSO isn’t ready, the game “stalls” the CPU until the GPU finishes compiling it.

By using RADV_PERFTEST=gpl and dxvk.gplAsyncCache = true, we utilize the Graphics Pipeline Library. Mathematically, this splits the compilation into two parts: a fast, “pre-link” stage and a slower background stage. Instead of a hard stall ($Frame_{stutter}$), the game renders a temporary “placeholder” or skips the effect for a few milliseconds, keeping the movement fluid. This shifts the bottleneck from the Render Thread to the Background Compiler, ensuring the main game loop remains uninterrupted.

Leave a Comment