根据radeontop
,我的显卡的内存时钟卡在 100% (2GHz)。
显卡是Sapphire AMD Radeon RX 580
。我运行的是 1920x1080 显示器,频率为 144hz。问题不会发生在 60hz 上。我运行的是开源amdgpu
驱动程序,Ubuntu 默认安装该驱动程序。我使用的是 Xorg,而不是 Wayland。
这在 Ubuntu 20.04 中没有发生,最早在 21.10 中发生,在全新安装的 22.04(内核为5.15.0-25-generic
)中仍然发生。
这个reddit帖子表示这是故意为之,作为解决视觉故障/闪烁的一种解决方法。我在 20.04 中确实遇到了故障,但这种情况很少见,我宁愿遇到这些故障,也不愿被困在最大内存时钟上。
以下xrandr
命令似乎可以解决问题,但我不确定如何正确自动运行它。
xrandr --newmode "1920x1080x143.98" 346.500000 1920 1968 2000 2080 1080 1083 1087 1157 +HSync -VSync
xrandr --addmode HDMI-A-1 1920x1080x143.98
xrandr --output HDMI-A-1 --mode 1920x1080x143.98
该模式线的计算方法如下:联华电子,通过运行umc 1920 1080 144 -rbt
。
我可以在登录时运行它,但每次显示模式改变时它都会被重置,例如注销时或(我相信)锁定屏幕时。
我可以每 10 秒运行一次,但之后我就无法使用任何需要不同模式的全屏应用程序。
肯定存在更好的方法来应用自定义模式行。
答案1
我没有用于测试的 Radeon,但你可以尝试这个xorg.conf
文件:
Section "Device"
Identifier "Radeon"
Option "monitor-HDMI-A-1" "Samsung"
EndSection
Section "Monitor"
Identifier "Samsung"
Modeline "1920x1080_143" 346.50 1920 1968 2000 2080 1080 1083 1087 1157 +HSync -VSync
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Samsung"
Device "Radeon"
EndSection