Awesome Open Source
Awesome Open Source

asus-fan-control

CI status GitPack POSIX Shell Hits

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 VivoBook ASUS ZenBook ASUS ROG Others
N580VD UX310UA G752VL B9440UA
S530UA UX360UAK GL502VSK FX505GM
X507UF UX410UA GL553VD FX553VD
X510UA UX410UQ GL553VE
X512FA UX430UA GL702VSK
X542UF

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

For AUR installations, enable running asus-fan-control automatically:

sudo systemctl enable afc

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


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (10,397
linux (2,508
cli (1,801
open-source (777
bash (628
ubuntu (349
script (190
archlinux (91
posix (86
extensions (72
systemd (54
aur (24
asus (16