Jump to content

[GUIDE] How to undervolt your Haswell and above CPU


abn6x
 Share

10 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:
https://drive.google.com/open?id=0Bxfvxkevq9udR3BTdVpCTTRaZjg

or you can download and compile the source code from:
https://github.com/sicreative/VoltageShift

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.

  • Like 5
Link to comment
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

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

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
Link to comment
Share on other sites

  • 1 year later...
On 12/4/2018 at 5:44 PM, pehera said:

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 ?

 

 


you set the timeout for automatic amend of the setting to 60 minutes (the last value) , you can set it to lower values you get a cron job that every x minutes set the values back i usually set 20 minutes on my systems

i want to thank abn6x for thi awesome post, i am a huge fan of undervolting on laptops and on locked Intel Cpus like Xeons to get the best efficiency

some experience i have:

most haswell chip undervolt around 60mv for HT chips and aroun 100 for chips like i5 that have no HT , skylake and later usually around 80

 

you can edit also the later 3 values but the third value seems to be locked on most systems , i usually set them the same as the lower value i found on CPU GPU and CACHE

i find that undervolt is more stable on macOs than Windows on my systems

the best test for UV stability to me has been the Intel XTU memory stress test , 15min at least , on windows ; also getting CINEBNECH to run at high priority works but on some system that would crash whatever value i set even at -5mv even if everything else is stable at -60

Link to comment
Share on other sites

  • 1 month later...

Hi , I tried this on my xps 15 9550(skylake) hackintosh running macOS 10.15.3 Catalina.

When I run "./voltageshift info" I get the following error :

zsh: killed     ./voltageshift info

 

How do I solve this ?

 

Any help will be greatly appreciated.

 

Thank you very much

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...
  • 3 months later...

For some reasons, I can't undervolt my laptop.. like it's configured as expected but when I monitored it, the voltage was unchanging.

I'm using 10.13.6 now and my cpu is skylake.

Edit: Wait, I'm r*tarded. I forgot to also fill cpu cache. Anyway, thanks man.

Edited by volc
Link to comment
Share on other sites

 Share

×
×
  • Create New...