Skip to content

Commit 8d1af9a

Browse files
committed
Add README with instructions on how to use
1 parent 5d58b78 commit 8d1af9a

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# DisableTurboBoost
2+
3+
A MacOS kernel extension (kext) for disabling CPU turbo boost to keep temperature (and fan noise) down.
4+
5+
## Usage
6+
7+
Since System Integrity Protection (SIP) blocks unsigned kernel extensions, there are a few steps involved in enabling this kext:
8+
9+
1. Reboot Mac into recovery mode by holding down cmd+R when booting
10+
2. While in recovery mode, open terminal and execute `csrutil enable --without kext`
11+
3. Reboot back into normal mode
12+
4. Open a terminal in the folder containing the kext and execute:
13+
```
14+
sudo chown -R root:wheel DisableTurboBoost.kext
15+
sudo chmod -R 0755 DisableTurboBoost.kext
16+
sudo kextload DisableTurboBoost.kext
17+
```
18+
19+
Run `kextstat |grep DisableTurboBoost` to verify that it's loaded.
20+
21+
## How it works
22+
23+
This small kernel extension will enable bit 32 of the MSR register `MSR_IA32_PERF_CTL`. This causes the CPU to disable turbo boost, while keeping speed step.
24+
25+
Other similar extensions choose to enable bit 38 of `MSR_IA32_MISC_ENABLE`, but this also disables speed step causing the CPU to run at a higher frequency (and drain battery faster) than necessary.
26+
27+
Take a look in the [manual](http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html) for more info.
28+
29+
## Disclamer
30+
31+
I take no responsibility for whatever harm this kernel extension may cause your system. I use it myself without any issues, but I cannot guarantee it will work for you.
32+
33+
## Troubleshooting
34+
35+
If you get this message when executing `sudo kextload DisableTurboBoost.kext`:
36+
```
37+
failed to load - (libkern/kext) not found; check the system/kernel logs for errors or try kextutil(8)
38+
```
39+
Try this command in stead: `sudo kextutil -l DisableTurboBoost.kext`
40+
41+
It will output something about invalid signatures, but the extension might still be loaded. Verify with `kextstat |grep DisableTurboBoost`.
42+
43+
## Credits
44+
45+
The code was written by Vegard Løkken with great inspiration from [nanoant/DisableTurboBoost.kext](https://github.com/nanoant/DisableTurboBoost.kext) and [pyrovski/powertools](https://github.com/pyrovski/powertools).

0 commit comments

Comments
 (0)