Home » Fix Elden Ring Stuttering and FPS Drops with VKD3D on Linux: Complete Guide
Gaming Tech

Fix Elden Ring Stuttering and FPS Drops with VKD3D on Linux: Complete Guide

✨ Quick Answer

Elden Ring relies on native Direct3D 12. When executed on Linux via Steam Proton, Direct3D instructions are translated to Vulkan via VKD3D-Proton. If the underlying graphics driver performs real-time synchronous compilation without Graphics Pipeline Library (GPL) support, frame delivery pauses for 100-300ms upon discovering new particle effects or enemy assets.

Quick Diagnostics

Cause
Synchronous Direct3D 12 shader compilation stalls in VKD3D when traversing the Lands Between
Solution
Enable Vulkan GPL (RADV_PERFTEST=gpl) and enable background shader pre-caching in Steam
Cause
VRAM fragmentation or restrictive Linux kernel virtual memory mapping limits
Solution
Use latest GE-Proton build and expand vm.max_map_count=1048576

Elden Ring relies on native Direct3D 12. When executed on Linux via Steam Proton, Direct3D instructions are translated to Vulkan via VKD3D-Proton. If the underlying graphics driver performs real-time synchronous compilation without Graphics Pipeline Library (GPL) support, frame delivery pauses for 100-300ms upon discovering new particle effects or enemy assets.

Step-by-Step Solution

Step 1: Enable Vulkan Graphics Pipeline Library (GPL)

On AMD Radeon (Mesa RADV) and NVIDIA (driver 535+), Vulkan GPL eliminates compilation stuttering by pre-assembling fast unoptimized pipelines in microseconds:

BASH
# Check installed Mesa driver version
glxinfo -B | grep -i "OpenGL version"

# Add to Elden Ring Steam Launch Options (for AMD):
RADV_PERFTEST=gpl %command%

Step 2: Utilize the Latest GE-Proton Build

Community GE-Proton releases bundle bleeding-edge VKD3D memory allocator patches:

  1. 1

    Step 1

    Open Steam > Library > Right-click Elden Ring > Properties.
  2. 2

    Step 2

    Under the Compatibility tab, check Force the use of a specific Steam Play compatibility tool.
  3. 3

    Step 3

    Select the latest GE-Proton (or Proton Experimental).

Step 3: Elevate Linux Kernel Virtual Memory Map Limits

The FromSoftware engine generates excessive virtual memory allocations:

BASH
# Temporarily elevate map boundary
sudo sysctl -w vm.max_map_count=1048576

# Persist setting across reboots in /etc/sysctl.d/99-eldenring.conf
echo "vm.max_map_count = 1048576" | sudo tee /etc/sysctl.d/99-eldenring.conf
sudo sysctl --system

Step 4: Disable Easy Anti-Cheat for Offline Performance Benchmarking (Optional)

If diagnosing offline rendering fluidity without multiplayer:

  • Rename start_protected_game.exe to start_protected_game.exe.bak in the game installation directory.
  • Copy eldenring.exe and rename the duplicate to start_protected_game.exe.

❓ Frequently Asked Questions (FAQ)

Does Elden Ring run smoother on Linux than Windows?

Yes. Thanks to Vulkan pipeline caching engineered by Valve for Proton on Steam Deck, Linux gameplay exhibits less hitching during early area explorations than Windows.

Can frame rates exceed 60 FPS on Linux?

The FromSoftware engine ties game physics to a 60 FPS lock. Frame unlocker mods exist, but require offline play to avoid Easy Anti-Cheat security flags.

Prevention Advice

Recommended security practices:

  • Enable background shader pre-caching in Steam: Under Steam > Settings > Downloads > Shader Pre-caching, toggle both options to download crowdsourced shader pipelines.
  • Maintain native 60 FPS lock: Avoid external third-party frame limiters that conflict with internal engine frame timers.