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
- Switch your Steam Deck to Desktop Mode.
- Navigate to the Elden Ring installation folder:
~/.local/share/Steam/steamapps/common/ELDEN RING/Game/ - Right-click and create a new text file named
dxvk.conf. - (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.
| Parameter | Value | Technical Purpose |
dxvk.enableAsync | true | Allows shaders to compile in the background without freezing the frame ($T_{wait} \to 0$). |
dxvk.gplAsyncCache | true | Uses the Vulkan Graphics Pipeline Library to pre-compile effects. |
dxvk.numCompilerThreads | 4 | Dedicates 4 of the Deck’s 8 threads specifically to shader compilation. |
dxgi.syncInterval | 0 | Disables 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:
- 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. - 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 Cacheand Delete the cache for Elden Ring to force a fresh, clean rebuild. - Proton Version: Use Proton Experimental or GE-Proton (v10.0+). These versions contain the most recent
vkd3d-protonpatches specifically designed to handle Elden Ring’s “command buffer” spam. - 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. - 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.