Introduction Hi everbody, Following my series of undervolting laptop and saving power consumption in my previous threads: -Today, I will introduce a way to disable Intel Turbo Boost and undervolt CPU/GPU in OS X for both Macbook running native OS X and Hackintosh. I spent a lot of my time for searching software in OS X that equivalent to ThrottleStop or Intel XTU in Windows. I had found two apps but both of them are unsatisfactory to me: -: it can disable turbo boost, but can not undervolt. The use of its free version is not very convenient. Provides an instruction of using kext load method that is more convenient.: it is advertised as a undervolt software for contemporary Macs.
But I never get it working (trial version). May be I don't have enough knowledge to run it Recently, I found a simple OS X app that can undervolt Haswell and later CPUs, it can also read/write CPU MSR registry. The app is VoltageShift, you can read a brief manual and download it from.
My biggest thank to SI Creative for this very fine open source software!!! Now, the guide how to use VoltageShift to Undervolt/Disable Turbo Boost. Note: - Don't do it on pre-Haswell Macs/Hackintoshes (like Ivy Bridge, Sandy Bridge, etc.). This guide was tested on my Macbook Pro Late 2013 (model ME865) and Lenovo Thinkpad T440s (Hackintosh using Clover). Both run OS X High Sierra 10.13.3. The Guide 1a.
Disable SIP if you are running El Capitan (10.11) and later version on Macbook. The are a lot of web pages about SIP and how to disable it, for example. Note: instead of command 'csrutil disable' it is better to use this: csrutil enable -without kext 1b. If you are running Hackintosh using Clover, it's likely that SIP is already disabled, so you don't need to do step 1a.
Download VoltageShift from or from this post attachment. Extract and copy it to some folder, in this guide it is the Applications folder. Set permission to run VoltageShift and it's kext by running these commands in Terminal: cd /Applications/voltageshift sudo chmod -R 755 VoltageShift.kext sudo chown -R root:wheel VoltageShift.kext 4.
VoltageShift is ready to run. You can get info about current system state by running this command in terminal sudo./voltageshift info or undervolt CPU by 50mV and GPU by 100mV: sudo./voltageshift offset -50 -100 Note: - I assume that current folder Applications/voltageshift, if not, run cd /Applications/voltageshift to go to it. From my experience, all Haswell CPUs are stable when undervolted by -50mV and -100mV. My MBP ME865 also stable at -80mV/140mV.
My previous ME866 even can do -110mV/150mV. Disable Turbo boost using VoltageShift: VoltageShift can not disable Turbo Boost directly. However, it has a very powerful feature to read/write CPU's MSR registry. Using this feature, you can play virtually everything with your CPU. It is well known that for Core i CPU, Turbo Boost can be enabled/disabled using control bit #32 of registry 0x1a0 (hex value notation of 1a0, with 0x prefix). Setting this bit to 1 will disable Turbo Boost.
You can use Terminal command: sudo./voltageshift read 0x1a0 to read the current value of this registry, change it's 32th bit to 0 or 1 to enable/disable Turbo Boost, and then write the modified value using sudo./voltageshift write 0x1a0 NEWVAL back to MSR registry. However, it is very complicated to a non-programmer. To overcome this, I wrote a simple MSRmod.sh helper script to simplify this process. MSRmod takes three parameters: VADDRESS: the MSR registry address VOPERATION: bitwise operation (OR for setting to 1, AND for setting to 0, XOR for toggling bit) to be applied to read value.
VMODIFICATIONVALUE: the value to do bitwise operation with the read MSR value Note: default modification value is 0, default operation is OR, therefore by default, if you omit these parameters, MSR value won't be changed when running the script. The substep to manipulate Turbo Boost are as following: 5a. Download a attached file MSRmod.zip and extract and copy it to voltageshift folder. In OS X, an app is a folder containing all files to run the app. To open app folder, in Finder right click on app and select Show Package Contents.
Run the following Terminal commands to disable Turbo Boost: cd /Applications/voltageshift./MSRmod.sh 0x1a0 OR 0x 5c. Or run the following Terminal commands to enable Turbo Boost: cd /Applications/voltageshift./MSRmod.sh 0x1a0 AND 0xFFFBFFFFFFFFF 6.
Script to undervolt and disable Turbo Boost: To simplify the above procedure, you can download the Undervolt.sh script (in zip file), change undervolt values that suitable to your system (if needed) and then doulbe click it to do undervolting and disabling Turbo Boost. The above script need to run when: - At start up - After resuming from standby To auto run script at startup, you can use launchd feature of OS X. Read information about launchd. I also attached my configuration file (com.tqbinh.undervolt.plist) for auto running script at startup. I put it in folder /Library/LaunchDaemons C.
Discussion 1. My Macbook Pro Retina ME865 run much cooler when browsing web pages. But I did not measure power consumption impact of undervolt and disabling Turbo Boost. If you have some data, please, post them in this thread. To test the system stability, I use Prime 95 (for CPU) and RthDribl (for GPU), both in Windows using Bootcamp. You can download Prime 95 for Mac and other GPU testing software for Mac if you don't have Windows installed.
Besides CPU and GPU voltage offset, there are other four voltage offsets (like UnCore offset.) but they have a very small impact on power consumption, so you don't need to bother about them, though VoltageShift can manipulate them. For Mac system, subjectively, GPU voltage undervolt has more impact on power consumption than CPU undervolt.
May be due to high resolution of screen and Retina scaling mechanism in OS X. Edit (31/7/2018): the above method works only on Haswell and Broadwell CPUs (i.e. Macbook from Late 2013 up to Early 2015 models). Click to expand.In general, undervolt is safe. If you set to much voltage offset, the computer will crash, but after turning off the computer, all the voltage settings will reset to default (factory) values. However, when the computer seriously crashes, there is a (small) probability that some files of your operating system will be corrupted.
So, try to decrease voltage step by step (-5mV in each step is safe). By the way, yesterday I have found a way to limit CPU TDP to some small values, say 10W, to make my mac very cool. But I need time to test before posting here.
In general, undervolt is safe. If you set to much voltage offset, the computer will crash, but after turning off the computer, all the voltage settings will reset to default (factory) values.
However, when the computer seriously crashes, there is a (small) probability that some files of your operating system will be corrupted. So, try to decrease voltage step by step (-5mV in each step is safe). By the way, yesterday I have found a way to limit CPU TDP to some small values, say 10W, to make my mac very cool. But I need time to test before posting here.
Overview Intel® Turbo Boost Max Technology 3.0 identifies the best performing core to provide increased single-threaded performance. Supported processors. Intel® Core™ i7-69xx/68xx Processor Family. Intel® Core™ i9-7900X/i9-7920X/i9-7940X/i9-7960X/i9-7980XE/i7-7820X. Intel® Xeon® Processor E5-1600 v4 Product Family (single socket only) This package supports the following Operating Systems (OS). Microsoft Windows.
10 x64 – RS3 – Edition Microsoft Windows. 10 x64 – RS4 – Edition Note: Uninstall the previous version of the Intel Turbo Boost Max Technology 3.0 driver/application before installing this version of the Intel Turbo Boost Max Technology 3.0 driver/application. Go to Windows. Control Panel - Programs - Uninstall a Program and uninstall any previous version of Intel Turbo Boost Max Technology 3.0 software.
Reboot the system. See the release notes for installation instructions, supported hardware, new features / enhancements, fixes, and known issues. For more information, refer to Release Notes.