ned Productions – ACPICPUThrottle

by . Last updated .

ACPICPUThrottle is a kernel driver for Apple MacOS X which throttles the CPU clock and voltage for generic Intel and AMD processors. It works by querying ACPI for possible clock configurations so if your BIOS doesn't think your system should be throttled, the driver will fail to load. It should work on the vast majority of standard PC laptops, including Apple's own machines.

It is licensed under the FreeBSD licence and so can be used for any purpose. It also serves as an excellent example of how to query ACPI in MacOS X (which is virtually undocumented) and how to parse through kernel structures. It may also prove useful for the "Apple Whine" problem for normal Apple hardware.

If you want more background about the development of this driver, please consult this forum thread on

Read Before Anything Else:

  • Please install the debug version first! The debug version prints debug info to the system log and will tell you why it doesn't work if there is a problem. See the enclosed Readme file for instructions.
  • This driver WILL NOT WORK on newer versions of Apple MacOS X. Specifically, it's known to work on v8.4.1 kernels (Tiger 10.4.4). Newer kernels (eg; 8.6.1) just don't provide the rtc_clock_stepping() call required to resynchronise clocks. If you know anything about how newer kernels implement speed stepping, I'd love to hear from you - even better if you can patch in support yourself.
  • This driver DOES NOT WORK ON ALL LAPTOP HARDWARE. Specifically, if your BIOS is braindead, it won't report possible power states for your CPU. If it doesn't report possible power states, or if it reports only two power states and one of those is below 1Ghz (eg; like many Intel Core Duo laptops), this driver will refuse to load. Do not report this as a bug as nothing will be done about it.




Contact the webmaster: Niall Douglas @ webmaster2<at symbol> (Last updated: 2006-05-15 00:00:00 +0000 UTC)