Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Predator Fan Control

Fan control for the Acer Predator Helios 18 (PH18-71) on Linux — a thermal watchdog daemon plus a GTK4 control panel. No out-of-tree kernel module, no EC register pokes: everything goes through Acer's own WMI firmware interface.

⚠️ Use at your own risk. This talks directly to laptop firmware. It is developed and tested on a single machine (PH18-71, Ubuntu 26.04). Other PredatorSense-v4 era Predators may work, but are untested.

The problem

On the PH18-71 under Linux, the embedded controller does not ramp the fans with temperature. Under a full CPU load the package hits 100 °C and throttles while the fans idle along at ~1900 RPM. Switching platform_profile / power profiles makes no difference, and the stock acer_wmi driver only exposes fan monitoring, not control.

What this project does

  • predator-fan-daemon — a small systemd service that watches CPU temperature and drives the fans through Acer's WMI gaming interface:

    Mode Behavior
    Smart (default) Cool → fans left to firmware. ≥ 85 °C → fixed boost (~4000 RPM). ≥ 95 °C → full turbo (~6300 RPM). Steps back down with hysteresis.
    Manual Hold any fixed speed (20–100 %). The ≥ 95 °C turbo failsafe stays armed.
    Turbo Both fans at maximum, permanently.
  • predator-fan-gui — a GTK4 panel with live temperature/RPM readout, one-click mode buttons, a manual speed slider, and spinners for the smart mode thresholds. Runs as a regular user; talks to the daemon over a FIFO.

  • Settings persist in /etc/predator-fan.conf and survive reboots. Stopping the daemon always hands the fans back to the firmware.

Install

git clone https://github.com/teohumble1/predator-fan-control.git
cd predator-fan-control
sudo ./install.sh

The installer pulls acpi-call-dkms, GTK4 Python bindings and lm-sensors, installs the daemon + GUI, and enables the service. Launch Predator Fan Control from your app grid, or run predator-fan-gui.

To remove everything: sudo ./uninstall.sh.

CLI usage

The GUI is optional — the daemon accepts plain-text commands on a FIFO:

echo 'mode smart'   > /run/predator-fan.cmd   # automatic (default)
echo 'manual 65'    > /run/predator-fan.cmd   # hold 65 % fan speed
echo 'mode turbo'   > /run/predator-fan.cmd   # everything to max
echo 'set BOOST_ON 80' > /run/predator-fan.cmd  # tune a threshold

Live state (mode, temperature, RPM, thresholds) is published to /run/predator-fan.status, and events are logged to the journal:

journalctl -t predator-fan -f

How it works (short version)

Acer's PredatorSense features are exposed via ACPI-WMI. The daemon evaluates the gaming WMI method through the acpi_call kernel module to switch the fan behavior (auto / manual / max) and to set per-fan speed percentages — the same interface PredatorSense uses on Windows, and the same one the kernel's acer_wmi driver uses for the models it already supports. The stock driver (loaded with predator_v4=1) is kept for fan RPM and temperature monitoring.

Compared to the popular kernel-module approach (Linuwu-Sense and friends), this stays entirely in userspace: nothing replaces acer_wmi, and kernel updates can't break the build.

Compatibility

Model Status
Predator Helios 18 (PH18-71) ✅ developed & tested here
Other PredatorSense-v4 models (PH16-71/72, PHN16-7x, PH18-72, …) ❓ untested — likely similar, try at your own risk

License

MIT — see LICENSE.

About

Fan control daemon + GTK4 GUI for Acer Predator Helios 18 (PH18-71) on Linux — via Acer WMI, no out-of-tree kernel module

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages