/asus-fan-control

:cyclone: Fan control for ASUS devices running Linux.

Primary LanguageShellMIT LicenseMIT

asus-fan-control

CI status GitPack POSIX Shell

Fan control for ASUS devices running Linux.

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

Asus-fan-control solves the problems above and even more. Tested devices with links to their first testers:

ASUS ASUS TUF Gaming ASUS VivoBook ASUS ZenBook ASUSPRO ROG
FX553VD FX505GM 15 X510UA Flip UX360UAK B9440UA G752VL
X507UF 15 X512FA UX410UA GL502VSK
15 X542UF UX410UQ GL553VD
Pro 15 N580VD UX430UA GL553VE
S15 S530UA

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

Table of Contents

Install

Dependencies

  • systemd suite
  • acpi_call module (see below)
  • dmidecode tool (see below)

Using GitPack

Asus-fan-control supports GitPack. Global installation/update:

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

If your system has APT, GitPack will install acpi_call and dmidecode 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

It may be a good idea to also enable running asus-fan-control automatically:

sudo systemctl enable asus-fan-control

Usage

Asus-fan-control 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 asus-fan-control has a graphical user interface extension? Visit afc-gui for more details.

Useful Resources