dominiksalvet / asus-fan-control

Fan control for ASUS devices running Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

asus-fan-control (AFC)

CI status GitPack POSIX Shell Hits

In default, some ASUS devices running Linux control their system fans inappropriately. Typical symptoms include:

  • Running fans even when not under any load
  • Not running fans under load appropriately
  • Spinning up fans in short performance peaks

AFC solves the problems above and even more. Tested devices with links to their first testers:

ASUS VivoBook ASUS ZenBook ASUS ROG Others
N580VD UX310UA G751JY B9440UA
S530UA UX330UAK G752VL FX505GM
X507UF UX360UAK GL502VMK FX505GT
X510UA UX410UA GL502VSK FX553VD
X512FA UX410UQ GL553VD TP550LAB
X542UF UX430UA GL553VE X540LA
UX430UN GL702VSK

ProTip! Your device is not in the table? Take a look at contributing.md file and you can easily add it.

Compatibility notes:

  • Devices with AMD processors do not work with AFC.
  • Devices with the 7th gen Intel processors work well.
  • Other devices may vary.

Table of Contents

Install

Dependencies

  • systemd suite
  • acpi_call module (see below)

Using GitPack

AFC supports GitPack. Global installation/update:

sudo gitpack install github.com/dominiksalvet/asus-fan-control

If your system has APT, GitPack will install acpi_call automatically.

From AUR

We have an AUR package available. Global installation/update:

mkdir -p /tmp/asus-fan-control/ && cd /tmp/asus-fan-control/ &&
git clone https://aur.archlinux.org/asus-fan-control.git . &&
sudo makepkg -si

For AUR installations, enable running AFC automatically:

sudo systemctl enable afc

Usage

AFC does not run in the background (i.e., it is not a daemon process). It is executed automatically whenever necessary (e.g., on OS boots) to keep the effect of a permanent change. It is also possible to invoke it manually as shown below:

sudo asus-fan-control

It uses custom temperatures if previously set, otherwise the default temperatures are used.

Custom Temperatures

The fan speed policy is usually defined by 8 increasing numbers representing temperature boundaries in degrees Celsius between individual fan speed levels. E.g., UX430UA's default temperatures are 55 60 62 65 68 72 76 80 as shown:

Speed level Temperature (C°)
0 (off) 54 and less
1 55 to 59
2 60 to 61
3 62 to 64
4 65 to 67
5 68 to 71
6 72 to 75
7 76 to 79
8 (max) 80 and more

To use your custom temperatures, use the set-temps command. For example:

sudo asus-fan-control set-temps 45 50 55 60 65 70 75 80

GUI

Did you know that AFC has a graphical user interface extension? Visit afc-gui for more details.

Useful Resources

About

Fan control for ASUS devices running Linux

License:MIT License


Languages

Language:Shell 100.0%