protonscr

GPU hangs with DXVK on RX 5700 (Navi10) - Native Vulkan stable

dxvkopen
doitsujin/dxvk#5439 · opened 2026-01-08 by bneenb · updated 2026-06-07 · 4 comments · github
1 matching comments, n / p to jump
Bbneenb 2026-01-08 github

Hi all,

I have a problem with some games using vulkan. I launch them via Steam or Heroic using Proton or Proton-GE.
The game mainly used for reproducing is Derail Valley since it fails most reliably. I had the same problems with other Games as well.

Even though I am comfortable with some Linux basics, my skills don't allow me to debug something like this in detail. So I spent a couple days debugging with the help of Claude Code. With it I tried to eliminate all kinds of factors which could cause this error. But the only thing which is left is a possible bug.

So, if you don't accept AI supported bugreports feel free to close it.
If it sounds plausible, I would be happy to support to fix it.

Thank you!

Everything beyond this point is generated by Claude Code based on the investigation it helped me to do:

System Information

  • GPU: AMD Radeon RX 5700 (Navi10, first-gen RDNA)
  • Driver: RADV (Mesa 25.3.1)
  • OS: EndeavourOS (Arch-based)
  • Kernel: Tested on both 6.18.3-arch1-1 (mainline) and 6.12.63-1-lts
  • Proton versions tested: GE-Proton 10-28, GE-Proton 9, Proton Experimental
  • Display: Multi-monitor, high refresh rate

Problem Description

DXVK games consistently crash with hard system locks requiring a hard reset. The crashes occur after varying amounts of playtime (27 seconds to 26+ minutes depending on configuration).

Critical finding: Native Vulkan games (Counter-Strike 2) run stable for 25+ minutes under heavy load. OpenGL via WineD3D is also stable. Only DXVK causes crashes.

Symptoms

  • Game freezes, sometimes with green/pink artifacts, sometimes frozen image, sometimes black screen
  • System becomes completely unresponsive (no mouse, no TTY switch)
  • Requires hard reset
  • Kernel logs show various GPU errors (see below)

Reproduction

  1. Launch any DXVK game (tested primarily with Derail Valley, but affects multiple games)
  2. Play normally
  3. System hard-locks after random time (1-30 minutes)

Extensive Testing Performed

I've spent significant time isolating this issue. Here's the full test matrix:

Configuration Time to crash Kernel errors
RADV + ACO (default) varies Illegal opcode + ring timeout
RADV + LLVM (RADV_DEBUG=llvm) varies Ring timeout only
AMD Pro proprietary driver ~3 min None (silent crash)
GE-Proton 10-28 ~17 min Page faults in CB/DB
GE-Proton 9 (older DXVK) varies None (silent crash)
RADV_PERFTEST=nosam ~26 min Page faults in CPF
RADV_PERFTEST=nongg ~27 sec None (silent crash) - FASTEST
DXVK_ASYNC=0 varies Crashes
amdgpu.gfxoff=0 kernel param ~2 min None (silent crash)
DXVK_FRAME_RATE=60 varies None (silent crash)
130W power limit (vs 160W stock) varies None (silent crash)
100W + 1500MHz underclock ~15 min None (silent crash)
Linux LTS kernel 6.12.63 ~7 min Illegal opcode + ring timeout
Kernel params + DXVK config ~9 min Ring timeout only

Kernel parameters + DXVK config test (latest)

Tested with:

  • Kernel params: amdgpu.gfxoff=0 amdgpu.noretry=0 amdgpu.lockup_timeout=1000 amdgpu.gpu_recovery=1
  • DXVK config:
    dxvk.enableGraphicsPipelineLibrary = False
    dxvk.numCompilerThreads = 1
    d3d11.maxFeatureLevel = 11_0
    
  • Result: Crashed after ~9 minutes with ring timeouts (no illegal opcode)

Stable configurations (proving hardware/driver works)

Test VRAM usage Result
Counter-Strike 2 (native Vulkan) Heavy STABLE 25+ min
Furmark 2.10.2 Vulkan Low STABLE 10 min
vkmark benchmark Low STABLE (score 27981)
Game with PROTON_USE_WINED3D=1 Heavy STABLE

Kernel Error Examples

RADV + ACO crash (typical):

amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=425937, emitted seq=425940
amdgpu 0000:03:00.0: amdgpu:  Process DerailValley.ex pid 7182 thread dxvk-submit pid 7238
amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded

Followed by repeated timeouts in a loop affecting dxvk-submit, firefox, and kwin_wayland.

Proton-GE page fault crash:

[gfxhub] page fault (src_id:0 ring:0 vmid:1 pasid:32769)
  in process DerailValley.ex pid ... thread dxvk-submit
  addr 0x00008001c3e28000
  GCVM_L2_PROTECTION_FAULT_STATUS: ...
  Faulty UTCL2 client ID: CB (0x0) / DB (0x4)
  WALKER_ERROR: 0x5
  PERMISSION_FAULTS: 0x7
  MAPPING_ERROR: 0x1

Silent crashes (AMD Pro, nongg, gfxoff=0, GE-Proton 9):

No GPU errors logged at all - system just hard-locks instantly.

What This Rules Out

  • Not a shader compiler issue: Both ACO and LLVM crash
  • Not RADV-specific: AMD Pro proprietary driver also crashes
  • Not a DXVK regression: Both old (GE-Proton 9) and new DXVK crash
  • Not a kernel regression: Both 6.12 LTS and 6.18 mainline crash identically
  • Not hardware instability: 40% power reduction + 14% underclock still crashes
  • Not power management: gfxoff=0 still crashes
  • Not NGG: Disabling NGG crashes even faster (~27 seconds)
  • Not SAM/ReBAR: nosam still crashes
  • Not async compilation: DXVK_ASYNC=0 still crashes
  • Not GraphicsPipelineLibrary: Disabled via DXVK config, still crashes
  • Not compiler threads: Single thread mode still crashes
  • Not DX11 feature level: Capped to 11_0, still crashes
  • Not page fault handling: noretry=0 still crashes
  • Not GPU recovery: gpu_recovery=1 still crashes

Conclusion

The issue appears to be specific to how DXVK's D3D11-to-Vulkan translation interacts with the amdgpu kernel driver on Navi10 hardware. Native Vulkan (CS2) works perfectly, OpenGL works perfectly, but DXVK triggers GPU hangs.

The variety of error types (illegal opcode, page faults, silent hangs) depending on configuration suggests DXVK may be hitting multiple edge cases in the Navi10 command processor or memory management.

Workaround

PROTON_USE_WINED3D=1 - Forces OpenGL instead of Vulkan. Stable but lower performance/quality.

Questions

  • Are there any other DXVK debug options or workarounds I should try?
  • Is there a known issue tracker for Navi10-specific DXVK problems?
  • Would a DXVK HUD log or API trace be helpful for debugging?
  • Should this be filed against DXVK, Mesa/RADV, or the amdgpu kernel driver?
Hhamsteruser 2026-02-14 github

Try add amdgpu.ppfeaturemask=0xfffd7ef7 to bootloader settings.

https://codebrowser.dev/linux/linux/drivers/gpu/drm/amd/include/amd_shared.h.html#PP_FEATURE_MASK

calculate any mask with python: print(f"0x{(0xffffffff & ~(0x8 | 0x8000)):08x}")

Ddobosken 2026-02-26 github

https://gitlab.freedesktop.org/drm/amd/-/issues?sort=created_date&search=ring timeout

https://gitlab.freedesktop.org/mesa/mesa/-/issues?sort=created_date&search=ring timeout

Radeon cards have a tendency to nuke themselves, seemingly at random, regardless of workload. Seems to be a silicon lottery kind of thing.

Jjohndoe31415 2026-06-07 github

Try add amdgpu.ppfeaturemask=0xfffd7ef7 to bootloader settings.

Can you explain what your assumption is here? It seems to disable bits 3, 8, 15, 17 which, given the code you linked, correspond to

  •   PP_SCLK_DEEP_SLEEP_MASK = 0x8,
    
  •   PP_ULV_MASK = 0x100,
    
  •   PP_GFXOFF_MASK = 0x8000,
    
  •   PP_STUTTER_MODE = 0x20000,
    

Since I'm desparate and also affected by this very issue I'll try this out, but I sure would like to know what the underlying root cause would be.

Jjohndoe31415 2026-06-07 github

Radeon cards have a tendency to nuke themselves, seemingly at random, regardless of workload. Seems to be a silicon lottery kind of thing.

I seem to be affected by this very issue albeit with different games (positively confirmed with Subnautica, System Shock, Far Cry Primal and The Last Caretaker). Issue in dmesg varies but sometimes it also just casues hard reboots.

The issue is so nasty (sometimes resulting in a hard reboot without me being able to check any dmesg output) that I had suspected a hardware failure, like your post indicates. The card runs ROCK EFFING SOLID using Windows 10 on any of these games but also on burn-in GPU benchmarks. This has nothing to do with silicon lottery, this is a driver issue.

Proton versions

Launch options