amdgpu freezes on RX 7800 XT

Hello, has anybody met this, please?

On FreeBSD 14.3-RELEASE-p3 with graphics/drm-61-kmod, the system experiences frequent GPU resets and amdgpu job timeouts on a Radeon RX 7800 XT. The problem occurs during regular desktop usage (sway, Firefox, bunch of terminals).

System:

Code:
% uname -a
FreeBSD chrostik 14.3-RELEASE-p3 FreeBSD 14.3-RELEASE-p3 GENERIC amd64

% pkg info drm-61-kmod
drm-61-kmod-6.1.128.1403000_6
Name           : drm-61-kmod
Version        : 6.1.128.1403000_6
Installed on   : Mon Sep 29 18:03:22 2025 CEST
Origin         : graphics/drm-61-kmod
Architecture   : FreeBSD:14:amd64
Categories     : graphics kld
Maintainer : x11@FreeBSD.org
WWW : https://github.com/freebsd/drm-kmod/
Comment        : DRM drivers modules
Annotations    :
        FreeBSD_version: 1403000
Flat size      : 16.9MiB
Description    :
amdgpu, i915, and radeon DRM drivers modules.
Currently corresponding to Linux 6.1 DRM.
This version is for FreeBSD 14-STABLE 1400508
and above.

% pciconf -lv | grep -B3 -A1 display
vgapci0@pci0:3:0:0:    class=0x030000 rev=0xc8 hdr=0x00 vendor=0x1002 device=0x747e subvendor=0x1da2 subdevice=0xd475
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Navi 32 [Radeon RX 7700 XT / 7800 XT]'
    class      = display
    subclass   = VGA

dmesg:

Code:
[drm ERROR :amdgpu_job_timedout] ring sdma1 timeout, signaled seq=50646, emitted seq=50648
[drm ERROR :amdgpu_job_timedout] Process information: process  pid 0 thread  pid 0
drmn0: GPU reset begin!
drmn0: free PSP TMR buffer
drmn0: MODE1 reset
drmn0: GPU mode1 reset
drmn0: GPU smu mode1 reset
drmn0: GPU reset succeeded, trying to resume
[drm] PCIE GART of 512M enabled (table at 0x0000008000300000).
[drm] VRAM is lost due to GPU reset!
[drm] PSP is resuming...
[drm] reserve 0xa700000 from 0x83e0000000 for PSP TMR
drmn0: RAP: optional rap ta ucode is not available
drmn0: SECUREDISPLAY: securedisplay ta ucode is not available
drmn0: SMU is resuming...
drmn0: smu driver if version = 0x00000032, smu fw if version = 0x0000003f, smu fw program = 0, smu fw version = 0x00503400 (80.52.0)
drmn0: SMU driver if version not matched
drmn0: SMU is resumed successfully!
[drm] DMUB hardware initialized: version=0x07001900
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:96
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:104
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:112
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:120
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:96
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:104
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:112
[drm] REG_WAIT timeout 1us * 1000 tries - dcn32_dsc_pg_control line:120
[drm] kiq ring mec 3 pipe 1 q 0
[drm] VCN decode and encode initialized successfully(under DPG Mode).
drmn0: [drm] jpeg_v4_0_hw_initdrmn0: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
drmn0: ring comp_1.0.0 uses VM inv eng 1 on hub 0
drmn0: ring comp_1.1.0 uses VM inv eng 4 on hub 0
drmn0: ring comp_1.2.0 uses VM inv eng 6 on hub 0
drmn0: ring comp_1.3.0 uses VM inv eng 7 on hub 0
drmn0: ring comp_1.0.1 uses VM inv eng 8 on hub 0
drmn0: ring comp_1.1.1 uses VM inv eng 9 on hub 0
drmn0: ring comp_1.2.1 uses VM inv eng 10 on hub 0
drmn0: ring comp_1.3.1 uses VM inv eng 11 on hub 0
drmn0: ring sdma0 uses VM inv eng 12 on hub 0
drmn0: ring sdma1 uses VM inv eng 13 on hub 0
drmn0: ring vcn_unified_0 uses VM inv eng 0 on hub 1
drmn0: ring vcn_unified_1 uses VM inv eng 1 on hub 1
drmn0: ring jpeg_dec uses VM inv eng 4 on hub 1
drmn0: ring mes_kiq_3.1.0 uses VM inv eng 14 on hub 0
drmn0: recover vram bo from shadow start
drmn0: recover vram bo from shadow done
drmn0: GPU reset(1) succeeded!
[drm ERROR :amdgpu_job_timedout] ring sdma1 timeout, signaled seq=50649, emitted seq=50649
[drm ERROR :amdgpu_job_timedout] Process information: process  pid 0 thread  pid 0
drmn0: GPU reset begin!

No overclocking, all updated. Recent UEFI. ASUS ROG STRIX X870 E-GAMING + Ryzen 7900.
 
Are you using ports or packages for graphics/drm-kmod ? Sometimes compiling that port (as opposed to using pre-compiled packages) on your own machine helps, and OP has a pretty capable machine.

Frankly, I'm surprised that a GPU this recent even works under FreeBSD. Well, this GPU's techpowerup.com reference page provides a lot of useful information about the GPU's specs, it's a good starting point for researching: https://www.techpowerup.com/gpu-specs/radeon-rx-7800-xt.c3839
 
Interesting, I have a 7900GRE and running very well.

I just checked, my FreeBSD uptime is more than 3 weeks. I have a single monitor that I have to switch between my desk machine and my laptop, and no crashes at all.
Using the standard driver and drm-kmod kernel installed via pkg. As a new FreeBSD user, I don't know how to use ports.

It could be something related to Wayland. I'm using X with DWM.
 
Interesting, I have a 7900GRE and running very well.

I just checked, my FreeBSD uptime is more than 3 weeks. I have a single monitor that I have to switch between my desk machine and my laptop, and no crashes at all.
Using the standard driver and drm-kmod kernel installed via pkg. As a new FreeBSD user, I don't know how to use ports.

It could be something related to Wayland. I'm using X with DWM.
Thank you for your feedback! Yes, I indeed do think that it might be more Wayland related. Hopefully, 15.0 once release will solve those issues.
 
Back
Top