AmdFan
是 amdgpu-fan 的一个分支,包含安全更新和新增功能。 这适用于独立 GPU,而非集成 APU。
为什么要分支?
- 替代方案已被弃用
- 缺乏所需功能
- 安全修复未得到处理
- 基本功能无法正常工作
Amdgpu_fan 已被弃用
早在几年前,该项目便不再应用任何安全修复或改进。当我尝试使其运行时,项目中的一些 bug 也让我感到困扰。 缺失的功能
有一些我想要的功能,但当时并未提供。
- 阈值允许在改变风扇速度前设定温度范围
- 频率设置以允许更好的控制
- 监控以能够查看实时风扇速度和温度
安全修复
针对近期一些 YAML 漏洞,旧 amdgpu_fan 项目中仍存在一些未处理的拉取请求,我已在该分支中解决了这些问题。
基本功能
使用 amdgpu_fan 将显卡设置为系统管理时,会将 GPU 风扇固定在 100%,而不是允许系统管理风扇设置。我也在此版本中修复了该 bug。
这些问题均在 Amdfan 中得到解决,只要我仍拥有一些 AMD 显卡,我就打算至少为自己维护该项目。由于这是开源项目,任何人都可以帮忙。我本想将这些修复贡献给主项目,但它现已处于非活跃状态。
文档
Usage: amdfan [OPTIONS] COMMAND [ARGS]...
Options:
-v, --version Show the version and exit.
--help Show this message and exit.
Commands:
daemon Run the controller as a service
manage Run the fan controller
monitor View the current temperature and speed
print-default Convenient defaults
set Manually override the fan speed
每个子命令也支持 --help,以获取更多详细信息。
控制风扇
使用 Amdfan 控制风扇有两种方式。请注意,为了控制风扇,您可能需要以 root 身份运行这两种方法中的任何一种。
推荐的方式是通过在启动时启动的系统服务。这将基于在给定间隔内检测到的温度来控制风扇。
如果您不想使用服务,也可以手动控制风扇。虽然这仅建议在首次配置时进行,但请记住,您也可以使用它来暂时从守护进程手中接管控制权,直到您将风扇速度恢复为 auto。

监控
你可以使用 Amdfan 配合 monitor 标志来监控你的 AMD 显卡。通常,这不需要 root 权限。

配置
运行 amdfan print-default --configuration 会输出首次将 /etc/amdfan.yml 作为服务运行时生成的默认配置。如果未指定某个值,则尽可能使用默认值。
以下配置可能是一个合理的设置:
speed_matrix:
- [4, 4]
- [30, 33]
- [45, 50]
- [60, 66]
- [65, 69]
- [70, 75]
- [75, 89]
- [80, 100]
threshold: 4
frequency: 5
# cards:
# - card0
如果未找到配置文件,将生成一个默认配置文件。如果您希望在运行守护进程之前对默认配置进行任何更改,请运行 amdfan print-default --configuration | sudo tee /etc/amdfan.yml 并在那里进行修改。
speed_matrix(必需):一个阈值列表[temperature, speed],用于插值计算风扇转速。threshold(默认0):允许温度有一定的余量,以避免频繁改变风扇转速frequency(默认5):更新之间的等待时间(以秒为单位)cards(必需):一个卡片名称列表(来自/sys/class/drm),我们想要控制这些卡片。
注意!您可以向守护进程发送 SIGHUP 信号,以请求重新加载配置而无需重启整个服务。此外,如果您正在使用 pidfile,您可以使用 amdfan daemon --signal=reload 发送信号来重新加载配置
安装
用户:使用您的包管理器安装该包。它在 Arch Linux 和 Gentoo 上可用。对于其他发行版,请请求维护者将该包引入您的系统,或自行阅读安装说明,风险自负。
维护者:请查看安装说明。