Jump to content

Kext to disable Intel Turbo Boost on Battery Power


qwerty12

Recommended Posts

Nothing complicated, but a simple kext to disable Turbo Boost when you're running without an AC adapter, like in Windows (at least by default for my laptop). Install with Kext Wizard if you want it running automatically when you boot.

 

Source: http://github.com/qwerty12/DisableTurboBoostBattery

 

Tested on an ASUS N55SL with an i7-2760QM processor running OS X 10.8.3 with a 64-bit kernel. You will need to have your laptop correctly detecting AC adapter insertions/removals before this will work. Installing RehabMan's battery driver should be enough.

 

Changelog:

  • Version 1 - Initial release.
  • Version 1 (re-upload) - fix for TB state not being applied properly on, at least, ASUS laptops when resuming from sleep
  • Version 2 - fix for Turbo Boost being turned off on smart laptops when the battery was taken out (thanks to noreye)
  • Version 2.1 - removed redundant debug logging
Version 2.1 for Lion by noreye: https://osxlatitude.com/index.php?/topic/2263-disable-intel-turbo-boost-on-battery-power/page-2&do=findComment&comment=21581

 

--

 

At the request of noreye, I leave another program attached: BatteryProcessorCoreControl

 

Source: https://github.com/qwerty12/BatteryProcessorCoreControl

 

This is program (not a kext) that will turn off cores when your laptop is running on battery power.

By default it leaves only two cores on (plus two HT "cores" if your laptop's processor supports HT) but you can modify its behaviour by passing command line arguments. The first parameter is how many cores you wish to have remain on when the charger is removed, and the second parameter is "--ht-off" which turns off HT; in this case the number of cores to keep on is looked at after HT has been turned off.

 

If you want to test it, run the binary with sudo. If you want it to run on startup, noreye has a plist you can use here: https://osxlatitude.com/index.php?/topic/2263-disable-intel-turbo-boost-on-battery-power/page-2&do=findComment&comment=21586

 

I also leave some general hints here: https://osxlatitude.com/index.php?/topic/2263-disable-intel-turbo-boost-on-battery-power/page-2&do=findComment&comment=21582

 

Changelog:

  • 0.8 - First "official" release. If you are using the binaries posted later on in this thread, upgrading is advised as I fixed many n00b mistakes
  • 0.9 - Fix bug that prevented cores from being turned off if a specified number of cores to turn off was passed as an argument

DisableTurboBoostBattery2.1.zip

BatteryProcessorCoreControl0.9.zip

  • Like 1
Link to comment
Share on other sites

Nice and useful work you did to save battery! 

 

 

 

Thanks, given that the battery life on an N55SL is bad by default, every little helps...

 

 

can this kext be used on any model?

 

Yes, it just requires that MSR MSR_IA32_MISC_ENABLE isn't locked in your BIOS (and for most most computers and laptops, it isn't)

Link to comment
Share on other sites

 

Thanks, given that the battery life on an N55SL is bad by default, every little helps...

 

  

Yes, it just requires that MSR MSR_IA32_MISC_ENABLE isn't locked in your BIOS (and for most most computers and laptops, it isn't)

i cant seem to find the MSR thinggy at my bios so if i install this will this effect any of my  current ssdts and dsdt? afraid it will create kp on boot

Link to comment
Share on other sites

It should work, then

 

Your DSDT/SSDT won't be affected, it just limits the maximum state you can go into while it's active (with the kext installed, when I'm on battery power HWMonitor reports x22.0 as the max but when I put back in the charger, HWMonitor reports x28.0 as the max, which is what I get without the kext installed)

 

To test without installing do something like this:

sudo chown -R root:wheel DisableTurboBoostBattery.kext
sudo kextload DisableTurboBoostBattery.kext
If it causes a crash, then obviously don't install it

 

If you do install it, find it KPs on startup and want to remove it, you can perform the following steps:

 

* At the Chameleon prompt, highlight your OS X partition and type "-s" and then press enter

* Run "fsck -fy" and then "mount -uw /"

* Run "rm -rf /System/Library/Extensions/DisableTurboBoostBattery.kext" (be careful!)

* Run "rm -rf /System/Library/Caches/com.apple.kext.caches/"

* Run "nvram -d boot-args"

* Run "reboot"

  • Like 1
Link to comment
Share on other sites

It should work, then

 

Your DSDT/SSDT won't be affected, it just limits the maximum state you can go into while it's active (with the kext installed, when I'm on battery power HWMonitor reports x22.0 as the max but when I put back in the charger, HWMonitor reports x28.0 as the max, which is what I get without the kext installed)

 

To test without installing do something like this:

sudo chown -R root:wheel DisableTurboBoostBattery.kext
sudo kextload DisableTurboBoostBattery.kext
If it causes a crash, then obviously don't install it

 

If you do install it, find it KPs on startup and want to remove it, you can perform the following steps:

 

* At the Chameleon prompt, highlight your OS X partition and type "-s" and then press enter

* Run "fsck -fy" and then "mount -uw /"

* Run "rm -rf /System/Library/Extensions/DisableTurboBoostBattery.kext" (be careful!)

* Run "rm -rf /System/Library/Caches/com.apple.kext.caches/"

* Run "nvram -d boot-args"

* Run "reboot"

 

thanx will install it now..

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...