protonscr

"Illegal opcode in command stream" crash in V Rising (Linux, RADV/RDNA3)

dxvkopen d3d11
doitsujin/dxvk#5841 · opened 2026-08-13 by gamingwithngfw · updated 2026-08-23 · 6 comments · github
2 matching comments, n / p to jump
Ggamingwithngfw 2026-08-13 github

Bug Report: GPU Reset / "Illegal opcode in command stream" crash in V Rising (Linux, RADV/RDNA3)

Fault searching help from Claude produced this report.
Otherwise this report would not have been made/filed.

Summary

V Rising repeatedly triggers a GPU command stream (gfx_0.0.0 ring) hang on an AMD RX 7900 XTX (RDNA3), caused by an illegal opcode submitted via the DXVK dxvk-submit thread. This forces the kernel's amdgpu driver to perform a full GPU reset, which wipes VRAM and cascades into crashes/freezes of the game itself and other unrelated GPU-consuming processes running at the same time (Xwayland, KDE Plasma, Steam, Discord).

This has occurred multiple times across different sessions, with three distinct downstream symptoms depending on timing:

  1. A soft RADV-side rejection ("CS has been rejected") without a full kernel reset
  2. Full kernel-level GPU reset with cascading crashes of Xwayland/Plasma/Steam/Discord
  3. Full kernel-level GPU reset followed by V Rising freezing/spinning at high CPU instead of crashing cleanly

System information

  • OS: CachyOS (Arch-based)
  • CPU: AMD Ryzen 9 7900X
  • GPU: AMD Radeon RX 7900 XTX (RDNA3, RADV NAVI31)
  • Kernel: linux-cachyos 7.1.8-1
  • Mesa / RADV: 26.1.6-1
  • vulkan-radeon: 26.1.6-1
  • Steam: native Linux client
  • Proton: tested on both a CachyOS-provided Proton build and Proton Experimental
  • Desktop: KDE Plasma, Wayland session
  • Game: V Rising (Steam AppID 1604030)

Steps to reproduce

No specific reliable repro steps identified — the crash/hang occurs intermittently during normal play (both combat-heavy and non-combat scenes observed), typically after 10–40 minutes of continuous play.

(Blisto) Collapsed LLM analysis for less noise

Evidence collected

Incident 1 — RADV-side rejection (no full GPU reset)

radv/amdgpu: The CS has been rejected, see dmesg for more information (-2).

Game process terminated shortly after; no further kernel detail was captured for this specific incident (persistent journal logging was not yet enabled at the time).

Incident 2 — glibc heap corruption during shutdown

steam: Trying to close low level socket support, but we still have sockets open!
steam: malloc(): unaligned tcache chunk detected

Occurred during game process teardown; distinct from the GPU reset events but suspected to be a downstream symptom of the same underlying instability.

Incident 3 — Full kernel GPU reset with cascading crash (most detailed capture)

kernel: amdgpu 0000:03:00.0: ring gfx_0.0.0 timeout, signaled seq=2197973, emitted seq=2197975
kernel: amdgpu 0000:03:00.0: Process VRising.exe pid 11725 thread dxvk-submit pid 11801
kernel: [drm:gfx_v11_0_bad_op_irq [amdgpu]] *ERROR* Illegal opcode in command stream
kernel: amdgpu 0000:03:00.0: Starting gfx_0.0.0 ring reset
kernel: amdgpu 0000:03:00.0: MES failed to respond to msg=RESET
kernel: amdgpu 0000:03:00.0: failed to reset legacy queue
kernel: amdgpu 0000:03:00.0: reset via MES failed and try pipe reset -110
kernel: amdgpu 0000:03:00.0: The CPFW hasn't support pipe reset yet.
kernel: amdgpu 0000:03:00.0: Ring gfx_0.0.0 reset failed
kernel: amdgpu 0000:03:00.0: GPU reset begin!. Source: 1
kernel: amdgpu 0000:03:00.0: MES failed to respond to msg=REMOVE_QUEUE
kernel: amdgpu 0000:03:00.0: failed to unmap legacy queue
kernel: [drm:gfx_v11_0_hw_fini] *ERROR* failed to halt cp gfx
kernel: amdgpu 0000:03:00.0: MODE1 reset
kernel: amdgpu 0000:03:00.0: GPU mode1 reset
kernel: amdgpu 0000:03:00.0: GPU smu mode1 reset
kernel: amdgpu 0000:03:00.0: GPU reset succeeded, trying to resume
kernel: amdgpu 0000:03:00.0: VRAM is lost due to GPU reset!
kernel: amdgpu 0000:03:00.0: GPU reset(1) succeeded!
kernel: amdgpu 0000:03:00.0: [drm] device wedged, but no recovery needed
kernel: amdgpu 0000:03:00.0: [drm] *ERROR* Failed to initialize parser -125!
kernel: QSGRenderThread[2420]: segfault at 10 ip 00007f4999ebb0d7 sp 00007f492610c9b0 error 4 in libc.so.6

Immediately following this reset, the following unrelated processes also crashed as a direct result of the lost GPU context:

kwin_wayland_wrapper: amdgpu: The CS has cancelled because the context is lost. This context is innocent.
Xwayland (pid 2090): terminated abnormally with signal 6/ABRT
plasmashell: Main process exited, code=dumped, status=11/SEGV
Discord (both running instances): terminated abnormally with signal 11/SEGV
steam: src/common/pipes.cpp (900): fatal stalled cross-thread pipe (pipe is disconnected)
firefox: [GFX1-]: Detect DeviceReset DeviceResetReason::DRIVER_ERROR

Incident 4 — Second GPU reset, game freeze instead of crash

Occurred in a later session after adding DXVK_ASYNC=0 and switching to Proton Experimental:

kernel: amdgpu 0000:03:00.0: GPU smu mode1 reset
kernel: amdgpu 0000:03:00.0: GPU reset succeeded, trying to resume
kernel: amdgpu 0000:03:00.0: VRAM is lost due to GPU reset!
kernel: amdgpu 0000:03:00.0: GPU reset(2) succeeded!
kernel: amdgpu 0000:03:00.0: [drm] device wedged, but no recovery needed
kernel: QSGRenderThread[12270]: segfault at 10 ip 00007f7057abb0d7 sp 00007f6fcafc9530 error 4 in libc.so.6

Following this, VRising.exe did not crash but instead became unresponsive while consuming ~239% CPU (busy loop, GPU itself idle at 39W/327W cap afterward — consistent with the render thread stuck retrying against a lost GPU context). Steam also crashed shortly after via the same X11 connection-loss cascade:

steam: radv/amdgpu: The CS has been cancelled because the context is lost. This context is innocent.
steam: XIO: fatal IO error 110 (Connection timed out) on X server ":0"

What was tried

The following launch options / configuration changes were tested and did not prevent the underlying illegal-opcode trigger (though they changed how the aftermath manifested):

  • DXVK_ASYNC=0 (forces synchronous shader compilation)
  • RADV_DEBUG=nohang
  • Proton Experimental (in place of a CachyOS-provided Proton build)
  • PROTON_ENABLE_WAYLAND=1

GPU was confirmed to be running at stock clocks/voltages throughout (no overclock/undervolt software installed — no LACT, no CoreCtrl). Temperatures and power draw were normal/idle both before and after incidents; this does not appear to be thermal or power-delivery related.

Related upstream reports

A similar "Illegal opcode in command stream" GPU-hang pattern on the same GPU generation (RX 7900 XTX / RDNA3) has been reported for other games under DX12/VKD3D-Proton (tracked upstream at HansKristian-Work/vkd3d-proton#3004), where extensive testing across multiple Proton versions and kernel parameters did not resolve it. A separate report on an older AMD GPU (RX 5700) showed the same gfx_0.0.0 ring / dxvk-submit thread signature in a different game (Deadlock), suggesting this may be a broader RADV/DXVK command-stream validation gap rather than something specific to V Rising alone.

Suggested next steps for maintainers

  • Since the illegal opcode originates from V Rising's DXVK command submission (DX11 via DXVK, not DX12/VKD3D), this may point to a specific D3D11 call pattern in V Rising that DXVK translates into an invalid GFX11 command on RDNA3.
  • A /sys/class/drm/card1/device/devcoredump/data GPU coredump was noted as available immediately after Incident 3 in the kernel log (AMDGPU device coredump file has been created) but was not captured before rotation — capturing this on a future occurrence would give Mesa/RADV maintainers much more actionable detail.
BBlisto91 2026-08-13 github

Hi there.
In the future please just fill out the issue template with a short concise description of the issue. The LLM descriptions and analysis of logs mostly just add unnecessary noise.
Also remember to post a Proton or dxvk log.

Gonna gather out the probably most relevant info from your issue below:

GPU: AMD Radeon RX 7900 XTX (GPU was at stock clocks/voltages throughout. Temperatures and power draw also normal)
Mesa / RADV: 26.1.6-1
Proton: tested on both a CachyOS-provided Proton build and Proton Experimental
Game: V Rising (Steam AppID 1604030)

V Rising gets GPU hangs randomly after 10-40 mins of gameplay. No reliable repro.

kernel: amdgpu 0000:03:00.0: ring gfx_0.0.0 timeout, signaled seq=2197973, emitted seq=2197975
kernel: amdgpu 0000:03:00.0: Process VRising.exe pid 11725 thread dxvk-submit pid 11801
kernel: [drm:gfx_v11_0_bad_op_irq [amdgpu]] *ERROR* Illegal opcode in command stream
kernel: amdgpu 0000:03:00.0: Starting gfx_0.0.0 ring reset
Ggamingwithngfw 2026-08-13 github

Hi
Sorry for llm noise, total noob at linux gaming and linux in general.

Uuptonblunt 2026-08-14 github

The same happened to me today.. I'm also using running CachyOS and a 7900 XTX

Crash sequence — 13 August 2026
17:28:15 kernel: amdgpu 0000:03:00.0: ring gfx_0.0.0 timeout
17:28:15 kernel: amdgpu 0000:03:00.0: Process VRising.exe pid 42403 thread dxvk-submit pid 42467
17:28:15 kernel: amdgpu 0000:03:00.0: Starting gfx_0.0.0 ring reset
17:28:15 kernel: [drm:gfx_v11_0_bad_op_irq [amdgpu]] ERROR Illegal opcode in command stream
17:28:17 kernel: amdgpu 0000:03:00.0: MES failed to respond to msg=RESET
17:28:17 kernel: amdgpu 0000:03:00.0: failed to reset legacy queue
17:28:17 kernel: amdgpu 0000:03:00.0: Ring gfx_0.0.0 reset failed
17:28:18 kwin_wayland: Pageflip timed out! This is a bug in the amdgpu kernel driver
17:28:19 kernel: amdgpu 0000:03:00.0: MES failed to respond to msg=REMOVE_QUEUE
17:28:19 kernel: amdgpu 0000:03:00.0: failed to unmap legacy queue
17:28:20 kernel: [drm:gfx_v11_0_hw_fini...] ERROR failed to halt cp gfx
17:28:21 kernel: amdgpu 0000:03:00.0: [drm] ERROR Failed to initialize parser -125!

Then the desktop stack started falling over:
17:28:50 systemd-coredump: Process Xwayland dumped core
17:35:03 systemd-coredump: Process plasmashell dumped core

The common graphics library showing in those crashes was: libgallium-26.1.6-arch3.1.so

Ggamingwithngfw 2026-08-14 github

Hi
I did not have enabled logging for the first couple of crashes. (In case there is time mismatch in the logs below and the info stated above).
I used these settings for V rising: PROTON_ENABLE_HDR=1 PROTON_ENABLE_WAYLAND=1 PROTON_FSR4_UPGRADE=1 DXVK_ASYNC=0 DXVK_LOG_LEVEL=info DXVK_LOG_PATH=~/dxvk_logs PROTON_LOG=1 %command%

steam-1604030-sanitized.log
VRising_dxgi.log
VRising_d3d11.log

Sserhii-nakon 2026-08-23 github

I found this one https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16158 more likely it related