Fancy is a set of software which allows you to control your laptop fans. It includes a service daemon to allow accessing to the EC and controlling it through D-Bus, a CLI to send commands and a GUI (WIP). It works only on Linux and Windows support is not planned1.
This project is deprecated in favor of the more stable and complete nbfc-linux. I originally created this project beacuse of the flaws of the original NBFC on Linux, but since then nbfc-linux has filled the missing gaps. Please check it out instead if you need a fan controller.
You can check if your computer model is supported by checking if a configuration exists in nbfc_configs (or maybe a similar model).
NOTE: If you have Secure Boot enabled, you have to install acpi_ec
or disable it.
Arch Linux (thanks to @BachoSeven!)
yay -S fancy
For now, you can find the .deb
in the Releases.
sudo dnf copr enable musikid/Fancy
sudo dnf install fancy
git clone https://github.com/MusiKid/fancy.git
cd fancy
make && sudo make install
sudo systemctl enable --now fancy fancy-sleep
The service should now be running. However, it's not active since there isn't any config loaded. You can see the recommended configurations for your computer:
fancy list --recommended
fancy set -c "YOUR_COMPUTER_MODEL"
Check if the config was correctly set:
fancy get config
You can then set the fan speed. For example, to make it silent:
fancy set -f 0
Or if you have more fans:
fancy set -f 0 0
Back again to automatic:
fancy set -a
Back again to manual:
fancy set -m
You can take a look at the book.
For the CLI, the available commands are detailed in the fancy(1) man file (man fancy
).
NBFC is a great software (also one of the cleanest codebase I ever seen).
However, it's written in C#, which means that it depends on mono
runtime on Linux.
mono
is a pretty huge dependency,
especiallly when NBFC is the only thing which needs it, and uses a lot of RAM.
That's the reason why I started to write fancy
(and also because I wanted to test my Rust (kind of) "skills").
Well, NBFC is already well integrated with the Windows "ecosystem", since C# is more common on Windows. It works very well, so go check it. If you want to provide Windows support, you are also welcome.
The project is licensed under MPL-2.0. You implicitly accept it when you send a pull request.
WARNING: The configurations are from NBFC, which is under GPLv3 license.
Please see CONTRIBUTING.md. You can also take a look at the book for details on the internal working.
Thanks to @hirschmann for creating NBFC, where I shamelessly stolen some pieces of code (open source ¯\(ツ)/¯), and all the contributors who created the configurations.
I'm not responsible if your computer start to smell fried chicken, if your house is being assaulted by the SWAT because your laptop is becoming a nuclear power plant, if your head blow up because you saw a portion of the source code, and blabla...