protonscr

NVIDIA: DX12 games eventually freeze/crash unless VKD3D shader cache is disabled (VKD3D_SHADER_CACHE_PATH=0)

vkd3dopen
HansKristian-Work/vkd3d-proton#2793 · opened 2026-01-12 by AreebDurrani · updated 2026-01-19 · 1 comments · github
AAreebDurrani 2026-01-12 github

On NVIDIA GPUs, DX12 games using VKD3D-Proton will eventually freeze or crash after some time unless the VKD3D shader cache is disabled via:

VKD3D_SHADER_CACHE_PATH=0

With the shader cache disabled, the freezes/crashes no longer occur (at the cost of increased shader compilation stutter).

This issue is not related to DLSS or Frame Generation. It reproduces: In games with no DLSS support, whether DLSS is enabled or disabled, and across multiple GPUs

Hardware confirmed:

RTX 4070 Laptop GPU

RTX 5070 Desktop GPU

Software environment:

Driver: NVIDIA Linux driver 590.48.01-1

VKD3D-Proton: 3.0b

Wine: 10.20 staging

Kernel: 6.18.3-zen1-1-zen

Session: Wayland

Compositor: KDE

Affected games:

This occurs in multiple DX12 titles, including games that do not support DLSS at all.

Confirmed to occur in:

Warhammer 40,000: Space Marine Mastercrafted Edition (GOG Version)

Clair Obscur: Expedition 33 (GOG Version)

Reproduction behavior:

Start a DX12 game via Proton, play normally. After some amount of time (varies by game; typically minutes to an hour), the game will:

Freeze permanently, or
Crash without producing a useful error message

Expected behavior:
Games should continue running indefinitely without freezing or crashing.

Actual behavior:
Games eventually freeze or crash unless the VKD3D shader cache is disabled.

Workaround:
Disabling the VKD3D shader cache fully prevents the issue:

VKD3D_SHADER_CACHE_PATH=0

This workaround is reliable across all tested systems and games, but introduces shader compilation stutter.

Logs / diagnostics:

Unfortunately, these freezes do not appear to generate useful error output:

No clear VKD3D errors

No Vulkan validation errors

No obvious NVIDIA Xid messages in dmesg at the time of the freeze

This lack of diagnostics is part of what makes the issue difficult to debug, but the shader-cache workaround consistently avoids the problem.

If there are specific debug flags or cache-related options you would like tested, I’m happy to try them.

Notes

This issue is independent of DLSS / Frame Generation

It reproduces even in games that do not contain DLSS code paths

The fact that disabling the shader cache alone resolves the issue suggests a possible interaction between:

VKD3D pipeline/shader cache handling

NVIDIA driver behavior (590.xx branch)

OOneShot95 2026-01-19 github

On Nvidia drivers - 590.48.01, this issue is still present.

Launch options