Stuttering y Caída de FPS en Elden Ring con VKD3D en Linux: Solución Completa
Elden Ring utiliza Direct3D 12 de forma nativa. Al ejecutarse en Linux mediante Steam Proton, el motor traduce las instrucciones gráficas a Vulkan mediante la capa VKD3D-Proton. Si la compilación de shaders se produce en tiempo real de forma síncrona o el controlador no utiliza Graphics Pipeline Library (GPL), el juego experimenta congelamientos perceptibles (stuttering) de 100-300ms cada vez que aparece un nuevo enemigo, efecto visual o zona en pantalla.
El Diagnóstico Rápido
RADV_PERFTEST=gpl) y habilitar preprocesamiento de shaders en Steamvm.max_map_count=1048576Elden Ring utiliza Direct3D 12 de forma nativa. Al ejecutarse en Linux mediante Steam Proton, el motor traduce las instrucciones gráficas a Vulkan mediante la capa VKD3D-Proton. Si la compilación de shaders se produce en tiempo real de forma síncrona o el controlador no utiliza Graphics Pipeline Library (GPL), el juego experimenta congelamientos perceptibles (stuttering) de 100-300ms cada vez que aparece un nuevo enemigo, efecto visual o zona en pantalla.
La Solución Paso a Paso
Paso 1: Activar Vulkan Graphics Pipeline Library (GPL)
En tarjetas gráficas AMD (controlador Mesa RADV) y NVIDIA (driver 535+), Vulkan GPL elimina el tartamudeo compilando los sombreadores en micro-bloques rápidos:
# Comprobar la versión instalada del controlador Mesa
glxinfo -B | grep -i "OpenGL version"
# En opciones de lanzamiento de Elden Ring en Steam (para AMD):
RADV_PERFTEST=gpl %command%
Paso 2: Utilizar la versión recomendada de GE-Proton
Las versiones oficiales de Valve y GE-Proton incorporan optimizaciones personalizadas para el bucle de renderizado de Elden Ring:
-
1
Paso 1
Abre Steam > Biblioteca > Clic derecho en Elden Ring > Propiedades. -
2
Paso 2
En la pestaña Compatibilidad, marca Forzar el uso de una herramienta de compatibilidad específica de Steam Play. -
3
Paso 3
Selecciona la versión más reciente de GE-Proton (o Proton Experimental).
Paso 3: Incrementar el límite de descriptores de memoria en Linux (vm.max_map_count)
El motor de FromSoftware genera un número masivo de mapeos de memoria que superan los límites tradicionales de Linux:
# Aumentar temporalmente el límite de mapeo
sudo sysctl -w vm.max_map_count=1048576
# Hacer la configuración persistente en /etc/sysctl.d/99-eldenring.conf
echo "vm.max_map_count = 1048576" | sudo tee /etc/sysctl.d/99-eldenring.conf
sudo sysctl --system
Paso 4: Desactivar el Easy Anti-Cheat para pruebas offline (Opcional)
Si juegas en modo individual sin multijugador y buscas la máxima fluidez absoluta:
- Renombra
start_protected_game.exeastart_protected_game.exe.baken la carpeta del juego. - Haz una copia de
eldenring.exey nómbralastart_protected_game.exe.
❓ Preguntas Frecuentes (FAQ)
¿Elden Ring funciona mejor en Linux que en Windows?
Sí. Gracias a la precompilación de shaders a nivel de driver en Vulkan que Valve desarrolló para Proton en Steam Deck, la versión de Linux a menudo tiene menos stuttering que la versión nativa de Windows en su lanzamiento.
¿Se puede jugar a más de 60 FPS en Linux?
El juego viene bloqueado a 60 FPS por diseño de la física del motor. Existen mods para desbloquear los FPS, pero requieren jugar en modo offline para evitar sanciones de Easy Anti-Cheat.
Consejo de Prevención
Prácticas de seguridad recomendadas:
- Activa la caché de sombreadores en segundo plano en Steam: Ve a Steam > Parámetros > Descargas > Sombreador previo al almacenamiento en caché y marca ambas casillas para descargar cachés comunitarias.
- No limites los FPS con herramientas externas: El motor de Elden Ring está diseñado para 60 FPS fijos; usar limitadores agresivos de terceros puede desestabilizar la sincronización de cuadros (frame pacing).