问题现象
终端一直跳出报错信息[13310.209292] amdgpu 0000:03:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] ERROR ring comp_1.0.1 test failed (-110)
原因分析
自检超时:内核模块在启动时会对多个“ring”引擎(如 comp_1.0.1、comp_1.0.3 等)依次发出测试命令,等待显卡响应;当响应耗时超过内核预设阈值(-110 表示 ETIMEDOUT)时,便报出此错误并重复尝试,导致日志持续刷屏。
驱动与硬件适配:Debian 12 默认 6.1 内核对较新 AMD Polaris 架构(如 RX 560)支持尚不完善,社区报告 6.1 内核在 resume 或启动时容易触发 ring 测试失败。forums.gentoo.org
运行时电源管理(runpm):amdgpu 模块开启 runpm 后,会在设备工作空闲时切换低功耗状态;在一些硬件上此过程会导致引擎响应延迟或重置,从而触发测试失败。
解决方案
1. 禁用运行时电源管理(临时)
编辑 Grub 配置
bash
复制编辑
sudo nano /etc/default/grub
在
GRUB_CMDLINE_LINUX_DEFAULT
中追加ini
复制编辑
amdgpu.runpm=0
示例:
ini
复制编辑
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.runpm=0"
更新 Grub 并重启
bash
复制编辑
sudo update-grub sudo reboot
验证
重启后执行dmesg | grep amdgpu_ring_test_helper
,若不再出现*ERROR* ring comp_1.0.1 test failed (-110)
,则说明已生效。
注意:此方法只是绕过了电源管理导致的超时,不会真正修复内核对硬件的兼容性问题。
2. 升级内核与固件(根本)
要彻底消除 ring 自检失败,应使用包含修复补丁的更高版本内核(6.2 及以上)并更新 amdgpu 固件。
1. 启用 Debian Backports
编辑 /etc/apt/sources.list
,添加 (以 Bookworm backports 为例):
ini
复制编辑
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
更新软件源:
bash
复制编辑
sudo apt update
2. 安装新版内核
bash
复制编辑
sudo apt -t bookworm-backports install linux-image-amd64
此命令会安装最新的 6.12+ 系列内核,并在后续的 backports 更新中自动升级。community.frame.work
3. 更新 amdgpu 固件
bash
复制编辑
sudo apt -t bookworm-backports install firmware-amd-graphics
或者手动从 Linux Firmware Git 拉取最新 amdgpu/
目录并复制到 /lib/firmware/amdgpu/
下。community.frame.work
4. 重启并验证
bash
复制编辑
sudo reboot
重启后,再次检查 dmesg 日志,确认不再出现 ring 超时错误