Jump to content

[GUIDE] How to undervolt your Haswell and above CPU

5 posts in this topic

Recommended Posts

Hello there, so I was searching everywhere for a method to undevolt my Kaby Lake CPU in macOS High Sierra, and finaly found a method. In the official Github it's stated that is only for Haswell / Broadwell and for Sierra only, in my experience it works perfectly with Kabylake and High Sierra in my Dell 9560.

Also do this with care, I'm not responsible if you Damage your computer in anyway (though if you follow my steps is quite hard i think)

P.s you can also overclock but I won't cover the specifics on how to do it
P.s2 This is a reformatted tutorial from the official Github.

Some basic Prerequisites:
Proper Intel Power Management for all the Pstates and such
If compatible enable HWP
SIP(CsrActiveConfig) DISABLED completely (0x67) or just for kexts only(0x3).

So here we go !

1. Download VoltageShift binary:

or you can download and compile the source code from:

2. After you downloaded the binary you need to change the file permissions by running the following command in terminal:
sudo chown -R root:wheel VoltageShift.kext

3. The kext and executable must be in the same folder, then open a Terminal window in that folder.
4.You can view your current voltage offset,CPU freqency,power and temperture settings with the following command:
./voltageshift info

You can continue to monitor the CPU frequency, power and temperture by using:
./voltageshift mon


(sometimes the temperature won't be correct, best way to check temperature is to use the intel gadget)

Six types of voltage offset are disponible to change, however I only suggest undervolting the CPU, GPU and CPU Cache only.
./voltageshift offset <CPU> <GPU> <CPUCache> <SystemAgency> <Analogy I/O> <Digital I/O>

5. For example in my case to reduce CPU by 125mv, GPU by 90mv and Cache by 125mv
./voltageshift offset -125 -90 -125

If you set it too low the system will freeze, please turn OFF completely and turn ON computer to reset back the undervolt to 0mV.

After you test throughfuly the settings,and are comfortable with System stability, you can apply the launchd (require sudo root) :

sudo ./voltageshift buildlaunchd <CPU> <GPU> <CPUCache> <SystemAgency> <Analogy I/O> <Digital I/O> <Update Mins>

The last part is the update interval of the tool to check and change, the Default value is 160min, Hibernate (suspend to Disk) will reset the voltage setting, as sleep (suspend to memory) will not change the sleep value, it will scheduled check the setting in peroid, and amend if need.

0 is for applying the setting at bootup only.
for example:
sudo ./voltageshift buildlaunchd -125 -90 -125 0 0 0 60

set system auto apply CPU -125mv, GPU -90mv and Cache -125mv every boot and every 60 minutes.

You can remove the launchd with the following command:
./voltageshift removelaunchd

I also suggest to run first removelaunchd and them buildlaunchd if you want to change the launchd settings.

If things Go bad, you undervolt too much, and you have applied the launchd, making your system unusable. Change the Clover settings at boot for CsrActiveConfig to 0x0 to Enable SIP, boot in macOS and remove the launchd with the commands above.

Share this post

Link to post
Share on other sites

how much more battery life did you get from undervolting the cpu?

i didn't measure it exactly but in windows with throttlestop it was around 15-20% increase. Almost no throttling mantaining 100% at 3.4Ghz indefinitely. Idle temps round in about 38-43C


Nice work @abn6x! What settings are you using on your Dell 9560 with High Sierra?

My settings are -125 CPU -90 GPU -125 CPU Cache, though you must try it yourself, every CPU is different, one may accept more or less undervolting :), I sugest you try something less than my settings, and try the stability with Prime95

Share this post

Link to post
Share on other sites

I made this work on my Dell Xps 9350 i7-656oU intel Iris HD540 (3200x1800)

Running Os Mojave 10.4.1

Downloaded voltageshift folder

In Terminal cd to that

sudo chown -R root:wheel VoltageShift.kext

./voltageshift info

./voltageshift offset -75 -25 

sudo ./voltageshift buildlaunchd -75 -25 -0 0 0 0 60

Battery life increased at least 10%.

its working after every cold boot and reboot.

But after wake from sleep these values return to -0

Any idea why ?



Edited by pehera

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.