记录一次 AMD GPU 导致的桌面卡死及修复方式
Linux
Arch
2026-01-23 1719字

我真的是 bug 体质啊,上一个笔记本 Dell G16 因为 Intel AX201 的无线网卡省电模式导致 pacman 升级系统的时候没速度, 最后通过 禁用省电模式 成功解决了笔记本的Wi-Fi速度。

去年买了一个 ThinkPad P14s 专门挑了一款 AMD 集成显卡的机器,心想没有 N 卡驱动,平常用 Linux 该稳定吧?

没想到 bug 体制,哪里都可以遇到 bug,不管什么硬件。

这不,最近桌面环境一天随机死机很多次,我在想是不是我最近折腾了啥? 把系统折腾坏了?

下班的时候重装了一下 EndeavourOS,还是死机,但是 TTY 可以用,这个时候我就警觉了,估计是最新内核的问题。

用命令 dmesg 看了一下日志

[    4.392040] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 1, DC PSR ver 0, sink PSR ver 3 DPCD caps 0x7b su_y_granularity 4
[    4.392173] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392327] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392453] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392587] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392641] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392703] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392774] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0
[    4.392842] amdgpu 0000:c4:00.0: amdgpu: [drm] PSR support 0, DC PSR ver -1, sink PSR ver 0 DPCD caps 0x0 su_y_granularity 0

网上查了一下,系统卡死很可能由 AMD Radeon 890M 的 Panel Self Refresh (PSR) 功能引起。这是一个已知 bug,尤其在 Ryzen AI 9 HX PRO 370 (Strix Point) 平台 + amdgpu 驱动 + Plasma 桌面组合下

修复方式如下:

  1. sudo nano /etc/kernel/cmdline , 末尾加一个 amdgpu.dcdebugmask=0x10 参数
  2. sudo reinstall-kernels , 重新生成内核 entry 和 initrd , 这会自动更新 /efi/loader/entries/ 下的所有 .conf 文件,把新参数应用到当前和未来内核
  3. sudo reboot , 重启系统

验证内核参数, 通过命令 cat /proc/cmdline 看看后面有没有 amdgpu.dcdebugmask=0x10 参数

也可以通过命令 cat /sys/module/amdgpu/parameters/dcdebugmask 来查看 amdgpu 的参数,如果输出 16 就说明禁用 PSR

最后用 dmesg | grep -i psr 命令查看,应该不会看到内核中有任何 PSR 的日志了

这样折腾了一下, 笔记本现在非常稳定了, 再也没有遇到过桌面卡死的问题了