ACPITZ(4)

πŸ“¦
version 11.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… ACPITZ(4) β€” like, the ACPI Thermal Zone page, bestie

okay so this is acpitz(4), straight out of the Kernel Interfaces Manual, and it's genuinely one of those pages that sounds boring until you realize your laptop is literally fighting for its life. let's get into it ✨


🌑️ NAME

acpitz β€” the ACPI Thermal Zone driver. yes, it's giving "your computer has a temperature and someone needs to watch it" πŸŽ€


πŸ¦‹ SYNOPSIS

acpitz* at acpi?

that's it. that's the whole config line. iconic minimalism πŸ’…


✨ DESCRIPTION

so the acpitz driver supports what everyone calls ACPI "Thermal Zones". you can keep an eye on the temperature through the envsys(4) API or with the envstat(8) command β€” pick your fave, both slay.

The whole drama of acpitz is built around the distinction between "active" and "passive" cooling, and heads up: these two are inversely related to each other. like, opposites. πŸ”„

  1. Active cooling means the system increases the power consumption of the machine by doing active thermal management β€” for example, turning on a fan β€” in order to reduce the temperatures. more power, more noise, but temps go down πŸ”₯
  2. Passive cooling means the system reduces the power consumption of devices, at the cost of system performance β€” for example, by lowering the CPU frequencies β€” in order to reduce the temperatures. less power, less speed, temps go down 😭
lowkey important: only active cooling is currently supported on NetBSD. passive cooling? not it, bestie.

also should mention: the internal functioning of these cooling policies varies across machines. on some machines the operating system may have little control over the thermal zones because the firmware manages the thermal control internally β€” so the OS is basically a passenger princess πŸ™ˆ β€” whereas on other machines the policies may be exposed to the implementation at their full extent. so like, your mileage really does vary. no cap.


🌈 EVENTS

The acpitz driver knows about the active cooling levels, the current temperatures, and the critical, hot, and passive temperature thresholds (as supported by the hardware). it's genuinely well-informed. πŸ’…

The driver is able to send events to powerd(8) when the sensor's state has changed. and when a Thermal Zone is either critical or "hot", the /etc/powerd/scripts/sensor_temperature script will be invoked with a critical-over event. that's the group-chat notification you do not want 🚨

The critical temperature is the threshold for system shutdown. and depending on the hardware, the mainboard will take down the system instantly and no event will have a chance to be sent. like, straight to black screen, no text back, no read receipt πŸ’€


πŸ‘‘ SEE ALSO

acpi(4), acpifan(4), envsys(4), envstat(8), powerd(8)

the whole friend group fr fr 🫢


πŸŽ€ HISTORY

The acpitz driver appeared in NetBSD 2.0. a legend from day one ⭐


🧚 AUTHORS

Jared D. McNeill <jmcneill@invisible.ca> β€” thank you king πŸ‘‘


πŸ’œ CAVEATS

okay so while no pronounced bugs are known to exist, several caveats can be mentioned, and we're gonna mention all of them because that's what besties do:

  • Passive cooling is not implemented.
  • There is no user-controllable way to switch between active and passive cooling, although the specifications support such transforms on some machines.
  • The "hot" temperature is a threshold in which the system ought to be put into S4 sleep. this sleep state ("suspend to disk") is not supported on NetBSD. 😭
like, read the caveats. they're the fine print and the fine print is real.

and that's the page, bestie πŸ“ this was the Debian build of acpitz(4), dated January 9, 2011 β€” yeah she's vintage, and she still ate. periodt. πŸ’–

πŸ“¦ where this page comes from