protonscr

Resident Evil Requiem: SQC(data) GPUVM permission fault in vkd3d_queue on RX 9070 XT (same RE Engine pattern as #3346 / #3290)

vkd3dopen appid 3764200
HansKristian-Work/vkd3d-proton#3373 · opened 2026-10-14 by sndrge · updated 2026-10-20 · 2 comments · github · game page · search this game
Ssndrge 2026-10-14 github

Summary

Resident Evil Requiem reliably hangs the GPU on an RX 9070 XT (RDNA4, gfx1201) after 1–25 minutes of normal play.

Fastest trigger: opening the 3D item inspection view (rotate/zoom an item, blurred background) after unlocking an upgrade showcase. It hangs on the first or second inspection most of the time; occasionally only on the third attempt after reloading a save. Loading screens (e.g. loading a save from the title screen) and a specific cutscene trigger it as well, so it seems tied to the game creating new resources rather than to one particular view.

Clean repro: 3 out of 3 fresh launches on an unmodified game folder (no injectors, only Proton's builtin dinput8.dll in the process) hung within 1–3 minutes: twice in the item inspection view, once on a loading screen. The kernel log shows a gfxhub permission fault from SQC (data) in the vkd3d_queue thread, then a gfx_0.0.0 ring timeout and reset. The game freezes (cutscene audio keeps playing); the desktop recovers.

This looks like the same pattern as #3346 (Dragon's Dogma 2, RX 9070 XT) and #3290 (Monster Hunter Wilds, also seen on RX 9070 XT). Both are RE Engine titles, like Requiem. I'm filing separately because Requiem isn't mentioned there, and we have done a fairly complete isolation on the system side. The same game on the same hardware under Windows ran 68 minutes without a hang.

System

  • GPU: Sapphire RX 9070 XT (1002:7550, subsystem 1DA2:E489), VBIOS 113-1E4893U-N8K
  • Kernel: 7.3.0-rc6 (CachyOS); also reproduced on Arch linux 7.2.6
  • Mesa/RADV: 26.2.4 (also reproduced on 26.2.3, both the CachyOS and the official Arch build)
  • Proton: proton-cachyos 11.0-20261005, vkd3d-proton 44cf7c2 (vkd3d-1.1-5641-g44cf7c2); also reproduced on GE-Proton 11-7, and on Valve Proton Experimental 11.0-20260910b in an earlier run that had extra transfer-queue options set
  • linux-firmware-amdgpu: 20260916; also reproduced with 20260622 (see below)
  • Desktop: KDE Plasma Wayland; also reproduced on GNOME Wayland
  • Game build: 23634047, 2560x1440, RT High, upscaling None, frame generation Off

Kernel log (representative, identical in every hang)

amdgpu 0000:2f:00.0: [gfxhub] page fault (src_id:0 ring:24 vmid:7 pasid:115)
amdgpu 0000:2f:00.0: GCVM_L2_PROTECTION_FAULT_STATUS:0x00701430
amdgpu 0000:2f:00.0:          Faulty UTCL2 client ID: SQC (data) (0xa)
amdgpu 0000:2f:00.0:          MORE_FAULTS: 0x0
amdgpu 0000:2f:00.0:          WALKER_ERROR: 0x0
amdgpu 0000:2f:00.0:          PERMISSION_FAULTS: 0x3
amdgpu 0000:2f:00.0:          MAPPING_ERROR: 0x0
amdgpu 0000:2f:00.0: ring gfx_0.0.0 timeout, signaled seq=1035008, emitted seq=1035010
amdgpu 0000:2f:00.0: Ring gfx_0.0.0 reset succeeded
amdgpu 0000:2f:00.0: [drm] device wedged, but no recovery needed

The devcoredump names re9.exe, thread vkd3d_queue. The faulting page is the first page (address 0) in every capture.

This is not a one-off: since September 19 we have 17 complete devcoredumps from separate hangs, all with this signature, and 8 hangs on October 14 alone across the configurations below.

What we ruled out (each as a separate run, all still hang with the same signature)

Changed Result
Kernel: CachyOS RC vs. stock Arch 7.2.6 hang
RADV: CachyOS vs. official Arch build of the same Mesa version hang
Proton: proton-cachyos, GE-Proton 11-7, Proton Experimental hang
Descriptor heap robustness quirk (as in #3328) applied to re9.exe in a local vkd3d-proton build hang (custom core verifiably loaded)
GPU firmware rolled back to linux-firmware 20260622 hang
amdgpu.ppfeaturemask removed (stock clocks/voltage, no overdrive, no undervolt) hang
MangoHud off / frame limiter changed hang
Upscaling off, frame generation off hang
KDE → GNOME hang
Mesa main 7c648edb36 (26.3.0-devel, 2026-10-14), RADV only, loaded via VK_DRIVER_FILES (verified in process maps) hang (~6 min, item inspection)
AllowMeshShader=Disable in the game's config.ini (value verified at hang time) hang (item inspection)

Game-independent probes on the same card were clean: 10 GiB Vulkan VRAM test for 60 minutes, native Vulkan ray tracing sample, and vkd3d-proton test_raytracing (1826 checks, 0 failures). Stellar Blade (UE4, DX12 via vkd3d-proton) runs for hours without issue.

The game logs d3d12_resource_validate_texture_alignment: Invalid resource alignment 0x1000 (required 0x10000) from GetResourceAllocationInfo3 (as in #2927). We could not tie it in time to the hangs, so this is only a note.

Available data

  • 17 complete amdgpu devcoredumps from separate hangs (September 19 – October 14)
  • One RADV_DEBUG=hang report (with nocache/syncshaders) from an earlier hang. Last trace marker inside a DRAW_INDEX_INDIRECT_MULTI; graphics pipeline fea0e6522d172cd5 (VS e942adb3a4e6c48b, FS 601e523bce38b197), with SPIR-V/NIR/ACO disassembly
  • A save right before an upgrade showcase (item inspection trigger)

I'm happy to share any of these, run a build with extra checks, or test patches. With the item inspection trigger I can test a change in a few minutes.

Ssndrge 2026-10-14 github

steam-3764200-re9-hang.log.gz

Proton log (PROTON_LOG=1, attached) from a clean run (no mods). It hung at the 2nd item inspection, about 1:40 after launch. The only edit is a redacted home path.

Observations, not a diagnosis:

  • Device lost at 4741.3 (d3d12_command_queue_execute: Failed to submit queue(s), vr -4). Same kernel signature as above (SQC(data), address 0x0, status 0x00501430).
  • About 4 s before (4737), and at the previous inspection that did not hang (4719), the game creates 9 reserved resources that fall back to committed: d3d12_resource_create_reserved: Sparse is not supported for vk_format 37/43/64/92/124 with 4 samples and vk_format 124/126 with 1 samples. The same batch appears at every inspection.
  • The Invalid resource alignment 0x1000 warnings (2293×) occur about 50 s earlier, not close to the hang.
Ssndrge 2026-10-20 github

Cross-posted to Mesa, since the same SQC (data) signature also shows up in native Vulkan and radeonsi on gfx1201 (e.g. mesa#16120, mesa#15272): https://gitlab.freedesktop.org/mesa/mesa/-/issues/16650

Proton versions

Launch options

DLLs