Linux Gaming Repair Center

A game triggers an AMDGPU ring timeout

A missed GPU completion is a failure observation. Preserve its context before comparing workloads or software generations.

On this page
  1. A timeout does not name the cause
  2. Keep the preceding context and recovery
  3. Compare a complete recorded stack
  4. Gather evidence
  5. A controlled test
  6. Related diagnostics
  7. Sources & limitations

A timeout does not name the cause

A ring timeout means that scheduled GPU work did not complete within the applicable deadline. The named ring, process and reset sequence help describe the failure path. They do not prove a defective card, insufficient power or a particular Proton bug. A userspace command stream, kernel or firmware behavior, memory handling and PCIe disruption can produce related symptoms. An eventual VK_ERROR_DEVICE_LOST in the game may follow the kernel reset rather than cause it. Put the game and kernel timestamps together before deciding which event happened first.

Keep the preceding context and recovery

Read the previous boot after a reboot if persistent journal data exists. Keep earlier page faults, AER errors, firmware messages and the reset result together with the timeout. A GPU that disappears from the PCIe bus deserves a transport investigation; a successful reset is a different outcome. A hard-lock can prevent the final message from reaching disk, so silence does not prove that the GPU stayed healthy. If audio continues or another machine still reaches the host, record that separately: display failure and complete system failure are not interchangeable.

Compare a complete recorded stack

Record kernel, firmware package, Mesa driver and Proton component versions together. Change one supported software generation or one in-game workload setting for a controlled comparison. Do not begin by lengthening the scheduler timeout: it can delay detection and hide an observation without repairing the work. GPU recovery changes how the system responds to failure, not necessarily why the workload hangs. If repeat attempts require forced power-offs, preserve existing evidence and prefer a lower-risk reproduction before more testing. Use the PCIe and storage guides when their own evidence appears.

Gather evidence before changing the system

Run one command at a time in the relevant host or game environment. Read its requirements and interpretation first. The website displays commands and never runs them.

Read-only observation

journalctl -k -b -1 -o short-monotonic --no-pager

Requirements: systemd journal with previous-boot retention and permission to read kernel messages.

Read the previous boot’s kernel context. If no previous boot is retained, this cannot reconstruct messages lost during a lock.

Read-only observation

journalctl -kf -o short-monotonic

Requirements: Journal access; use a terminal that does not obscure the game experiment.

Observe current kernel messages while a safe reproduction runs. Stop with Ctrl+C; this does not make the journal survive a hard-lock.

Read-only observation

uname -r

Requirements: Any Linux shell; no elevated privileges.

Record the running kernel rather than the version merely installed on disk. Pair it with the game log and Vulkan driver fields.

A controlled test with a way back

If a short safe reproduction exists, compare the same scene with only a lower in-game frame cap. Record whether timeouts, resets and stalls each change; do not call a missing timeout a solved GPU fault.

Rollback: Restore the previous game frame cap and stop live log following. For any later kernel-generation comparison, keep a known-working boot entry and return to it if needed.

What this test cannot establish: Changing load changes power, temperature and scheduling at once. A timeout is evidence of failed completion, not proof of which of those factors caused it.

Sources and scope

This editorial review uses primary project and distribution references. It does not establish that a fix has been reproduced on your hardware. Installed versions, the game runtime and the selected graphics API can change the result.