既然你是AMD内建 GPU搭配Linux系统,不如先看看这篇吧
https://wiki.archlinuxcn.org/zh-tw/AMDGPU
启动参数
编辑
需要通过附加内核参数 amdgpu.ppfeaturemask=0xffffffff 来解锁在 sysfs 中对其的访问
限制。
并非所有比特位都有定义,随着时间的推移可能会添加新功能。设置所有 32 位可能会(在
将来的更新中)启用不稳定的功能,这些功能可能会导致屏幕闪烁或无法从挂起中恢复等问
题。
结合默认的 ppfeaturemask 设置 PP_OVERDRIVE_MASK 位 0x4000 应该就足够了。 要为系
统计算一个合理的参数,可以执行:
$ printf 'amdgpu.ppfeaturemask=0x%x\n' "$(($(cat /sys/module/amdgpu/parameters/p
pfeaturemask) | 0x4000))"
另外我查到这边一样提到这种设定方式
https://superuser.com/questions/1583194/how-to-make-amdgpu-ppfeaturemask-work-wi
th-kernel-5-4-0-of-ubuntu-20-04
(缩) https://reurl.cc/eG7N37
你提到的参数的相关讨论则在这里:
https://www.reddit.com/r/linux4noobs/comments/1ahb8pf/what_exactly_does_amdgpupp
featuremask0xfffd3fff_do/
(缩)https://reurl.cc/Q5Gvb0
0xfffd3fff means that everything is enabled except for PP_OVERDRIVE_MASK, PP_GFX
OFF_MASK, and PP_STUTTER_MODE
意思是这边的功能都给他打开除了这三个东东不开
至于功能跟实际参数详细定义跟解释如下:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/
gpu/drm/amd/include/amd_shared.h#n178
(缩)https://reurl.cc/vp4ZWa
Bonus,额外的调整:
可以为最大 P-state 7 设置 GPU 核心频率, 以 Polaris GPU 为例可以执行下面的命令设
置为 1209MHz 频率和 900mV 电压:
# echo "s 7 1209 900" > /sys/class/drm/card0/device/pp_od_clk_voltage
同样的操作可以应用于 VRAM,例如 Polaris 5xx 系列卡上的最大 P-state 2:
# echo "m 2 1850 850" > /sys/class/drm/card0/device/pp_od_clk_voltage
警告: 仔细检查输入的值,因为错误可能会导致硬件损坏!
执行下面的命令让修改生效:
# echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage
要检查超频是否成功,可以读取 3D 负载下的时钟和电压:
# watch -n 0.5 cat /sys/kernel/debug/dri/0/amdgpu_pm_info
可以使用下面的命令重置为默认设置:
# echo "r" > /sys/class/drm/card0/device/pp_od_clk_voltage
※ 引述《lc85301 (pomelocandy)》之铭言
: 写在前头:标题有点耸动,其实是没那么夸张的
: 这篇也许不适用大部分的 Windows User
: 主要是针对 Linux 为主的 User,以下列出我的系统配置供参
: CPU+GPU: AMD 7950X
: MB: Gigabyte X670 GAMING X AX V2
: BIOS: 有升到 Version: F32f
: OS: Archlinux Xorg + MateDesktop
: ====
: 前情提要: #1c31Ldfs (PC_Shopping)
: 大约在去年 4 月初发菜单,应该是 4 月中下单拿到机器
: 初用没什么大问题,7950X 跟本来的 2400G 比起来也快很多
: 但过去一年有个最头痛的点,是这颗的 GPU 不稳定
: 会发病的时间有几个
: 1. 是在玩 Minecraft 的时候
: 2. 是我用 vscode 跑 hugo 写 blog 的时候
: 会遇到画面变成这个样子:
: https://imgur.com/a9sZUBH
: 在 dmesg 内会出现如下的讯息:
: https://imgur.com/H90iXvm
: 通常只要出现这个状况,只有重新开机才能回复正常
※ 引述《lc85301 (pomelocandy)》之铭言
: 写在前头:标题有点耸动,其实是没那么夸张的
: 这篇也许不适用大部分的 Windows User
: 主要是针对 Linux 为主的 User,以下列出我的系统配置供参
: CPU+GPU: AMD 7950X
: MB: Gigabyte X670 GAMING X AX V2
: BIOS: 有升到 Version: F32f
: OS: Archlinux Xorg + MateDesktop
: ====
: 前情提要: #1c31Ldfs (PC_Shopping)
: 大约在去年 4 月初发菜单,应该是 4 月中下单拿到机器
: 初用没什么大问题,7950X 跟本来的 2400G 比起来也快很多
: 但过去一年有个最头痛的点,是这颗的 GPU 不稳定
: 会发病的时间有几个
: 1. 是在玩 Minecraft 的时候
: 2. 是我用 vscode 跑 hugo 写 blog 的时候
: 会遇到画面变成这个样子:
: https://imgur.com/a9sZUBH
: 在 dmesg 内会出现如下的讯息:
: https://imgur.com/H90iXvm
: 通常只要出现这个状况,只有重新开机才能回复正常
: 另外有找了 Linux 上的烧机软件,但没抓到什么问题
: 整体就是诡异,vscode + hugo 是会有什么问题?
: 但我写一篇 blog 的时间,就足以让它当个 3-4 次
: 当然我今年工作太忙 blog 没什么产出,Minecraft 也不是真玩而是测一些设计
: 所以觉得没差就将就用
: ====
: 病情加剧:
: 转机大概是发生在去年 10 月左右,因为 factorio space age 出了
: 但我 legacy 都还没过,就把它拉出来玩
: minecraft 3D 不行那 2D 的游戏总可以吧,也是真的可以玩
: 但那时开始注意到,桌面上方状态列,AMDGPU 的温度有异常
: 不是如下图 sensors 显示的 600 多度,就是低到可以当冷气的个位数温度
: https://imgur.com/aePz11k
: 然后跟朋友连线 factorio 的时候,本来不会有的 GPU reset 开始变频繁了
: 如上面的画面花掉变少了,但 X 会当掉让图形接口重开始登入,这个频率开始上升
: 甚至 factorio 连线 10 秒左右就当掉
: ====
: 维修:
: 过完年之后,把电脑装箱送去原店面检修,描述症状,上电进 BIOS 之后
: 温度写着 17 ℃ ,店员也觉得不太正常
: 但因为在一年内,直接换了一颗新的 7950X,当天就能拿回家
: ====