zcfan(1)

πŸ“¦
version 1.4.0 Β· 3 versions
, in debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– zcfan(1) πŸ’–

okay bestie, section 1 of the General Commands Manual, and it's literally a whole personality πŸ’…


✨ NAME ✨

zcfan β€” zero-configuration fan control daemon for ThinkPads πŸŒ€


πŸ¦‹ DESCRIPTION πŸ¦‹

so like, zcfan is a minimal, zero-configuration fan control daemon for ThinkPads. that's it. that's the whole vibe. no config file to babysit, no wizard, no twelve-page tutorial. it just shows up, keeps your ThinkPad cool, and minds its own business. main character energy fr fr 🫢


πŸŽ€ OPTIONS πŸŽ€

spoiler alert: zcfan does not take any options. none. zero. the options list is giving empty group chat 😭

and if you do pass it any? it'll print a help message and then exit. it's not mad, it's just not doing it. slay boundaries ✨


🌸 CONFIGURATION 🌸

πŸ’œ USAGE πŸ’œ

by default, zcfan ships with these fan states, no cap:

  • max_temp β†’ thinkpad_acpi fan level 7, default trip temperature 90 (C)
  • med_temp β†’ thinkpad_acpi fan level 4, default trip temperature 80 (C)
  • low_temp β†’ thinkpad_acpi fan level 1, default trip temperature 70 (C)

but you can optionally override all this at /etc/zcfan.conf with your own threshold values, in this exact format:

max_temp 85
med_temp 70
low_temp 55

and if no trip temperature gets reached at all? the fan just gets turned off. retired. living its best life. 😴

🧚 HYSTERESIS 🧚

okay this part is lowkey iconic because it stops your fan from being dramatic. we will only reduce the fan level again once both of these are true:

  1. the temperature is now at least temp_hysteresis Celsius below the trip point (default 10C), and
  2. at least 3 seconds have elapsed since the initial trip.

why? because it avoids unnecessary fluctuations in fan speed. no more fan going feral up and down every two seconds, we love a stable queen πŸ‘‘

πŸ“ WATCHDOG πŸ“

the kernel watchdog is reset every 120 seconds by default. but bestie, you can pick a smaller value in the /etc/zcfan.conf config file with this syntax:

watchdog_secs 10

tiny number, big responsibility, we stan 🫑


πŸ”₯ DEPENDENCIES πŸ”₯

thinkpad-acpi must be loaded with fan_control=1. not optional, not negotiable, it's the whole foundation of the relationship. no fan_control=1, no vibes 😀


🌈 SEE ALSO 🌈


πŸ‘‘ AUTHOR πŸ‘‘

Chris Down <chris@chrisdown.name> πŸ’–


πŸ™ˆ REPORTING BUGS πŸ™ˆ

found a bug? please send bug reports to https://github.com/cdown/zcfan/issues. don't suffer in silence, that's not the vibe 🌸


and that's a wrap on zcfan(1) from the General Commands Manual, section 1 β€” take care of your ThinkPad, bestie, and it'll take care of you. mwah πŸ’‹βœ¨