On Nvidia drivers - 590.48.01, this issue is still present.
I've found a better workaround that prevents the crash without causing the severe compilation stutter of VKD3D_SHADER_CACHE_PATH=0.
Setting VKD3D_CONFIG=pipeline_library_app_cache completely resolves the freezing/crashing for me.
Since this shifts the caching responsibility away from vkd3d-proton and onto the game's native D3D12 ID3D12PipelineLibrary implementation, it strongly suggests the crash is specifically occurring within vkd3d-proton's internal disk-cache handling/serialization when interacting with the NVIDIA 590.xx drivers, rather than a general shader compilation failure.
VKD3D_SHADER_CACHE_PATH=0x2 2026-10VKD3D_CONFIG=pipeline_library_app_cachex1 2026-10
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)