Anno 1800 occasionally hangs Renoir APU on Linux 5.9.11
Brief summary of the problem:
When playing Anno 1800 on my AMD Ryzen 4800U laptop, after some time the system suddenly starts to hang. Music continues to play, but the display is completely frozen. Only way to make the computer useable again is to do a hard reset by long-pressing the power button.
According to dmesg, a ring gfx timeout happens and after resetting the GPU it fails to initialize parser (error -125).
Hardware description:
- Lenovo IdeaPad 5 Laptop (ARE15)
- CPU: AMD Ryzen 7 4800U with Radeon Graphics
- GPU: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c1) (prog-if 00 [VGA controller])
- System Memory: 16 GB
- Display(s): 15.6" Full-HD
- Type of Display Connection: eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
System information:
- Distro name and Version: Arch Linux
- Kernel version: 5.9.11-arch2-1 #1 (closed) SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000
- AMD package version: No package
- Mesa version: 20.2.3-1
How to reproduce the issue:
Play Anno 1800 via Steam Proton 5.13.2. It seems to freeze randomly, sometimes after some minutes, sometimes after more than one hour.
Attached logs:
Dec 03 17:01:25 jan-laptop kernel: [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] *ERROR* Waiting for fences timed out!
Dec 03 17:01:25 jan-laptop kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=904880, emitted seq=9048>
Dec 03 17:01:25 jan-laptop kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process Anno1800.exe pid 6064 thre>
Dec 03 17:01:25 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset begin!
Dec 03 17:01:26 jan-laptop kernel: [drm] free PSP TMR buffer
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset succeeded, trying to resume
Dec 03 17:01:26 jan-laptop kernel: [drm] PCIE GART of 1024M enabled (table at 0x000000F400900000).
Dec 03 17:01:26 jan-laptop kernel: [drm] VRAM is lost due to GPU reset!
Dec 03 17:01:26 jan-laptop kernel: [drm] PSP is resuming...
Dec 03 17:01:26 jan-laptop kernel: [drm] reserve 0x400000 from 0xf41f800000 for PSP TMR
Dec 03 17:01:26 jan-laptop kernel: [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] *ERROR* Waiting for fences timed out!
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
Dec 03 17:01:26 jan-laptop kernel: [drm] kiq ring mec 2 pipe 1 q 0
Dec 03 17:01:26 jan-laptop kernel: [drm] DMUB hardware initialized: version=0x01000000
Dec 03 17:01:26 jan-laptop kernel: [drm] Failed to add display topology, DTM TA is not initialized.
Dec 03 17:01:26 jan-laptop kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
Dec 03 17:01:26 jan-laptop kernel: [drm] JPEG decode initialized successfully.
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 1
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 1
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 1
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 1
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 1
Dec 03 17:01:26 jan-laptop kernel: [drm] recover vram bo from shadow start
Dec 03 17:01:26 jan-laptop kernel: [drm] recover vram bo from shadow done
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: [drm] Skip scheduling IBs!
Dec 03 17:01:26 jan-laptop kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset(2) succeeded!
Dec 03 17:01:26 jan-laptop kernel: [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!