First of all, I wrote a fan control tool for linux because the only other is fancontrol - a rudimentary shell script with significant limitations such as only allowing control of fan speed through PWM, and 3 different pwm/temperature configuration points per fan, use of bash for such a critical system service, and not to mention the god awful configuration. So, as they say, if you want an application that does X, write it yourself (or submit a pull request). All limitations of the fancontrol shell script are solved in fancon, and more.
fancon is a highly configurable, lower overhead userspace fan control daemon for GNU/Linux written in c++; it is currently in 'beta' i.e. main feature complete and stable (no known bugs, never crashes). It is hosted on GitHub under the Apache v2 license, and installable as a snap (sudo snap install fancon), or you can compile from source.
Contributors / testers needed
I am looking for ongoing feedback on new & proposed features, and contributions from members of the community (developer or not), ANY way you can, in hopes to improve the quality of fancon.
Several areas which the project would greatly benefit from include, but are not limited to:
User experience; feature requests; improving documentation (such as README on github, snap description and summary); bug reports; and (from developers) architecture advice, performance improvements, pull requests etc.
The snap package has >10 (snap) users since publishing little over a day ago, so contributions will help the Linux community.
If you wish to be a tester, please install the candidate (git master) snap release, or compile from source, leave a comment and or PM me.
Binaries for the following distros are provided on the Github page: Debian/Ubuntu, Fedora, LSB, and Slackware.
Github releases link
The snap package is no longer supported due to Canonical's unwillingness to allow fancon to have 'classic' confinement - required for fan control due to their lack of confinement plugs at this present time. This may change in the future once Canonical becomes more consistent with the enforcement of their policies.
If I can find the RGB control project I was working on, I will add to a flatpak.
maybe a good idea to post this in a gamers area as well, they are more likely to need advanced fan control.
is there anything specific you want looked at? or do you just want testers?
Good idea. I'm looking for people to run the --candidate branch, contributors and people I can ask the opinion of, .e.g would you want the fan exclude feature to use regex, or something simple... etc.
Maybe see if anyone over at gamingonlinux wants to try it out.
I set the fans on my main rig in the bios, but will give it a shot on the laptop when I get a minute.
And if I get around to it, I have an Imac that needs fan control in linux. The thing sounds like it's about to take off.
I got u fam; installing on my render rig as we speak; if it works without much drama I'll spin up a pkgbuild for the AUR
Well I don't think you self promote on Reddit, but that seems like a good audience so I will ask a friend to post it for me. I'm just about to add support for NVIDIA gpus, so if you have a loud GPU, want it to turn the fan off when cool or whatever then it might still be useful.
Yes that would be great thank you. Can you set AUR packages to auto-compile from a git repo or something?
AUR packages are basically just scripts that tell the computer how to install/compile a package reproducibly, so yes. as long as your package doesn't rely on ubuntu cruft, it should be pretty cut and dry
seems to compile fine, first run "fancon test" gives the following error:
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
what(): boost::filesystem::create_directory: Permission denied: "/etc/fancon.d/"
Aborted (core dumped)
Run as sudo. It is fixed in the git release and candidate version, I will be pushing a new version to stable tonight
Failed to write a fancon syslog config, logs will be written directly to /var/log/fancon.log, please make a github issue: /etc/rsyslog.d/30-fancon.conf
sh: /etc/init.d/rsyslog: No such file or directory
Failed to restart rsyslog, /var/log/syslog will be used until reboot, or rsyslog restarted
Failed to write pm script, fancon may not work on wakeup, please make a github issue: /etc/pm/sleep.d/fancon
should I go ahead and checkout the candidate version
This is on Arch? I will fix that now
yes, using the version on github
Embedded systems dev here. Will try and contribute to this in my free time since I have a need for just such a tool. Code looks a bit messy still, but good otherwise, I will try and document stuff and test what I can. ;)
Thank you very much, any pull requests, or even advice would be greatly appreciated. I will be working on cleaning it up, but as I said I am very much open to recommendations
let me know when you push that next update
The update with the fixes and support for NVIDIA GPUs is pushed. I don't have access to my snap build machine right now, but I will update the snap package in a few hours