VKD3D_CONFIG=shader_cache doesn't exist and doesn't do anything and is as nonsensical as the rest of the AI hallucinations you posted. Pipeline compilation also doesn't submit any work to the gfx ring at all because it happens exclusively on the cpu.
via eGPU (Thunderbolt)
Most likely kernel related if anything.
Thanks for the quick response and clarification. Apologies for the noise — will investigate on the kernel/Thunderbolt side instead.
proton experimentalx1 2026-03VKD3D_CONFIG=shader_cachex2 2026-03RADV_DEBUG=llvm`x1 2026-03RADV_DEBUG=nodcc,nohiz`x1 2026-03RADV_DEBUG=nosched`x1 2026-03RADV_PERFTEST=nosam`x1 2026-03VKD3D_CONFIG=no_execute_indirect_drawing`x1 2026-03VKD3D_CONFIG=shader_cache`x1 2026-03VKD3D_SHADER_THREADS=1`x1 2026-03
Summary
Diablo IV freezes on zone transitions (dungeon portals) with
ring gfx_0.0.0 timeouton RDNA4 (Navi 48). Audio continues, display is frozen. The GPU recovers via ring reset but the game is unplayable past that point.VKD3D_CONFIG=shader_cacheresolves the issue, suggesting the default parallel pipeline compilation path overwhelms the gfx ring during bulk asset/shader loads on zone entry.Environment
-W 3440 -H 1440 -r 240 -f --hdr-enabled)Reproduction
Reproducible 100% of the time on the same zone. Different zones load fine.
Kernel log
The
vkd3d_queuethread is always the faulting process. Multiple occurrences show the same pattern — always on zone load, always gfx ring.What was tried (did NOT help)
RADV_DEBUG=noschedRADV_PERFTEST=nosamRADV_DEBUG=nodcc,nohizRADV_DEBUG=llvm(LLVM backend)VKD3D_CONFIG=no_execute_indirect_drawingVKD3D_SHADER_THREADS=1aloneFix
This completely resolves the freeze. The zone loads fine every time with this flag set.
Analysis
The default vkd3d pipeline compilation path appears to submit a burst of shader compile work to the gfx ring during zone transitions that exceeds what RDNA4/RADV can process within the kernel timeout window.
shader_cachelikely changes the submission pattern (serialized or batched differently), avoiding the burst.This may be RDNA4-specific due to differences in how the hardware handles concurrent shader compilation, or it may be a latent issue that RDNA4's timing characteristics expose more readily.
Suggested improvement
vkd3d-proton could potentially:
shader_cachebehavior the default, or enable it automatically for affected GPU families