Go to file
2021-11-28 16:08:03 +01:00
.cargo Compress binary 2021-07-30 12:50:59 +02:00
.github/workflows Prepare code for adding voltage 2021-08-02 22:55:51 +02:00
amdfand Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
amdgpu Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
amdvold Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
examples Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
services Better error messages, better error handling, improve temp config, move forward with voltage 2021-11-21 12:42:36 +01:00
.gitignore Initial 2021-07-02 13:36:36 +02:00
build.sh Default temp input 2021-08-20 19:18:07 +02:00
Cargo.lock Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
Cargo.toml Better error messages, better error handling, improve temp config, move forward with voltage 2021-11-21 12:42:36 +01:00
LICENSE.APACHE2.txt Fix apache2 license file 2021-07-04 08:42:45 +02:00
LICENSE.md Primary license 2021-07-05 08:07:06 +02:00
README.md Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00

GitHub

AMDGPU Fan control service

Available commands:

  • monitor - Print current temp and fan speed
  • service - Set fan speed depends on GPU temperature
  • set-automatic - Switch to GPU automatic fan speed control
  • set-manual - Switch to GPU manual fan speed control
  • available - Print available cards

amdfand set-automatic | set-manual [OPTIONS]

Optional arguments:

  • -h, --help Help message
  • -c, --card CARD GPU Card number

Usage

cargo install argonfand

sudo argonfand monitor # print current temperature, current fan speed, min and max fan speed 
sudo argonfand service # check amdgpu temperature and adjust speed from config file 

Config file

# /etc/amdfand/config.toml
log_level = "Error"
temp_input = "temp1_input"

[[speed_matrix]]
temp = 4.0
speed = 4.0

[[speed_matrix]]
temp = 30.0
speed = 33.0

[[speed_matrix]]
temp = 45.0
speed = 50.0

[[speed_matrix]]
temp = 60.0
speed = 66.0

[[speed_matrix]]
temp = 65.0
speed = 69.0

[[speed_matrix]]
temp = 70.0
speed = 75.0

[[speed_matrix]]
temp = 75.0
speed = 89.0

[[speed_matrix]]
temp = 80.0
speed = 100.0

Roadmap

  • Write metrics
  • Add support for multiple cards
    • Multiple services must recognize card even if there's multiple same version cards is installed
    • Support should be by using --config option
  • CLI for fan config edit
  • CLI for voltage edit
  • GUI application using native Rust framework (ex. egui, druid)

🔖 License

This work is dual-licensed under Apache 2.0 and MIT. You can choose between one of them if you use this work.