protonscr

Watch Dogs Legion GPU hang - NULL page fault on RDNA4 (RX 9060 XT)

vkd3dopen
HansKristian-Work/vkd3d-proton#3193 · opened 2026-08-04 by Selene0623 · updated 2026-08-28 · 2 comments · github
SSelene0623 2026-08-04 github

Software information

Watch Dogs Legion (Ubisoft Connect), DX12 mode, no mods.

System information

  • GPU: AMD Radeon RX 9060 XT (RDNA4, Navi 44, SOC 0x7590, PCI 0000:0a:00.0)
  • Driver: amdgpu (kernel 7.1.5-1-cachyos), Mesa RADV
  • Wine/Proton: CachyOS native Proton
  • vkd3d-proton version: 3.1.0

Issue

GPU hang during gameplay. The crash follows the same pattern as #3130 (Starfield on RDNA4):

ring gfx_0.0.0 timeout, signaled seq=108457621, emitted seq=108457624
Process WatchDogsLegion pid 832939 thread vkd3d_queue pid 833084
Ring gfx_0.0.0 reset failed
GPU reset begin!. Source: 1
MES(1) failed to respond to msg=REMOVE_QUEUE  (x5)
failed to unmap legacy queue
gfx_v12_0_hw_fini failed to halt cp gfx
GPU mode1 reset
VRAM is lost due to GPU reset!
Failed to initialize parser -125
device wedged, but no recovery needed

Devcoredump analysis

Key findings from the devcoredump:

[gfxhub] Page fault observed
Faulty page starting at address: 0x0000000000000000
Protection fault status register: 0x0

regCP_CPF_STALLED_STAT1    0x00000001
regCP_CPF_BUSY_STAT        0x00000006
regCP_CPF_STATUS           0xb4000063
regGCVM_L2_PROTECTION_FAULT_STATUS_LO32  0x00701031
regCP_MES_HEADER_DUMP      0xdef0def0 through 0xdef7def7

The fault is a NULL page dereference in GPU virtual address space (address 0x0000000000000000). The L2 page fault handler correctly identified the unmapped address. MES was mid-operation when the GFX ring timed out.

This appears to be VKD3D-Proton passing a NULL GPU pointer to the command processor. The GPU is doing the right thing by faulting — the issue is in the DX12-to-Vulkan translation layer.

Notes

  • DXVK (DX11) does not exhibit this issue — only VKD3D-Proton (DX12) path is affected
  • Same hardware/driver combo works fine with DXVK games (Starfield DX11 mode, Division 2 DX11 mode)
  • Related: #3130 (Starfield, same RDNA4 ring timeout pattern)
  • GPU recovers via MODE1 reset but VRAM is lost, requiring game restart
Rrunar-work 2026-08-28 github

Do you still have this issue? If so, can you provide some steps to reproduce this hang, like how long it usually takes to trigger, the graphics settings you're using and if it happens in a particular location?

SSelene0623 2026-08-28 github

Do you still have this issue? If so, can you provide some steps to reproduce this hang, like how long it usually takes to trigger, the graphics settings you're using and if it happens in a particular location?

It is totally random but happens after extended gameplay - usually while doing something ingame. This may or may not help but I have also ALT+TABbed in and out througout the session and may have paused the game - left - and came back and played multiple times. It does not happen frequently. I use full ULTRA graphics settings and HDR on DX12 at 2560x1080.

Nothing extracted yet.