sicreative / VoltageShift

undervoltage Tools for MacOS
GNU General Public License v3.0
609 stars 77 forks source link

Big Sur breaks Voltageshift #44

Open protonimo opened 4 years ago

protonimo commented 4 years ago

macOS 11.0 Beta appears to break all functionality. Commands return no result initially. After changing ownership again with:

chown -R root:wheel

and trying a command again, we get the following error:

Error: Error Domain=KMErrorDomain Code=1 "Kernel request failed: (libkern/kext) not found" UserInfo={NSLocalizedDescription=Kernel request failed: (libkern/kext) not found}

My (extremely limited) understanding is that there is has been a fundamental change in the way extensions are handled in 11.0. Any word on if this change can be worked around?

sicreative commented 4 years ago

Yes, this app should require upgrade by implement the DriverKit layer. However, the Big Sur and DriverKit seen currently developing and under beta. I could like try to upgrade this program when the Big Sur launch October.

Veemyu commented 3 years ago

That's too nice sicreative. Voltage shift is still used on a lot of Hackintoshes with Sky Kaby and Coffelake CPUs it'd be amazing to have this Kext back in working order with Big Sur.

I'm excited!!

varoudis commented 3 years ago

its super useful for 5000USD bricks... (i9 2018 MBPs :) ) Thanks!

Veemyu commented 3 years ago

its super useful for 5000USD bricks... (i9 2018 MBPs :) ) Thanks!

It's not supposed to work with Broadwell+ MacBooks. Apple locked a register that hinders modern MacBooks from Undervolting. Or is your MacBook Rainbow Magic?

varoudis commented 3 years ago

its super useful for 5000USD bricks... (i9 2018 MBPs :) ) Thanks!

It's not supposed to work with Broadwell+ MacBooks. Apple locked a register that hinders modern MacBooks from Undervolting. Or is your MacBook Rainbow Magic?

Power limit and Boost limit does work!! (No under-voltage)

Veemyu commented 3 years ago

Oh, I See Very nice!

Drowningfish223 commented 3 years ago

It works on Big Sur for me.

protonimo commented 3 years ago

It actually resumed working after one of the frequent OS updates during the beta, and continued to work until recently. The "release candidate" of Big Sur appears to cause problems again (for me at least).

After fixing the code signature issue described by others in the "killed" thread, and fixing permissions, it now shows "OC_Locked" in my CPU info, which I don't recall seeing before.

When attempting to change any voltage parameters, it shows both before and after voltage offset as 0. No changes work.

I'd love to hear if anyone else has it working on the release candidate of Big Sur. Thanks for all your hard work @sicreative

Drowningfish223 commented 3 years ago

It works great for me on the release candidate!

IMG_0981

I did get a version from a different GitHub thread, though, so try this version of the kext and executable:

VoltageShift.kext.zip

voltageshift.zip

The only problem that I have is that the offsets don't stick through sleep, so I have to use a program to run a voltageshift shell script on every wake.

protonimo commented 3 years ago

Thank you for your quick reply!

I must be missing something. I replaced the kext and exec with the ones you linked, fixed ownership, and rebooted as requested by system security settings. It still gives me this:

Screen Shot 2020-11-08 at 12 18 44 PM
Drowningfish223 commented 3 years ago

Have you updated your Bios recently? If you have, you might have to undo the overclocking lock in order to undervolt.

protonimo commented 3 years ago

I'm on a Macbook, so no BIOS.

varoudis commented 3 years ago

on Macbooks only power limit and turbo limit works.

protonimo commented 3 years ago

**2014 MacBook Pro with Haswell i5-4278U

I assure you voltage offsets worked-- verified by VoltageShift itself, as well as power draw/temperature/boost clocks under load. Undervolting too far caused crashes.

Drowningfish223 commented 3 years ago

There’s a chance that apple disabled undervolting for all macs in an update because of plundervolt, but I could be wrong.

protonimo commented 3 years ago

Good point, that's very possible. I don't have the knowledge to work around this. So if anyone manages to get things working on a mac running Big Sur release candidate or later, please chime in.

FMudanyali commented 3 years ago

I used the version Drowningfish223 provided and so far it is working without problems. Didn't need anything additional. I'm on a 2015 MBP with i5-5257U

image image

Unrelated but I also managed to do -130mV CPU cache voltage after seeing Drowningfish223's picture. Thanks!

xcoder19 commented 3 years ago

so I have to use a program to run a voltageshift shell script on every wake. @Drowningfish223 which program you use? and thank you for the files .

vaddieg commented 3 years ago

I'm on macbook air 2013, where voltageshift always worked fine. Big sur broke everything, now i'm getting Screenshot 2020-11-13 at 13 51 42 even with version from Drowningfish223

sicreative commented 3 years ago

I'm on macbook air 2013, where voltageshift always worked fine. Big sur broke everything, now i'm getting Screenshot 2020-11-13 at 13 51 42 even with version from Drowningfish223

OC_Locked mean the SMC locked by Apple and no Overclock available. (Because the SMC loaded before system start so no overclock can be override). I am planing to updated this program, however Apple seen make either new and old devices unable to tweak voltage and this program may not useful in the coming future.

vaddieg commented 3 years ago

Funniest thing: i've tried SMC reset. Now I lost turboboost completely. Looks like apple introduced intentional slowdown (or voltageshift behaves buggy on my os) Screenshot 2020-11-13 at 15 34 54 Low frequency also reported by intel power gadget

vaddieg commented 3 years ago

Removing the kext restored turbo operation. I will try to rebuild the kext with latest SDK (there were some hints in xcode rc release notes, that kexts need recompilation)

mendeel commented 3 years ago

I'm also getting the OC_Locked message. Is there anything that can be done to unlock it?

tvrrp commented 3 years ago

After updating to Big Sur, undervolting stopped working for me too (even on Catalina). Based on the updated EFI and SMC, Apple seems to have closed the undervolting option on all Macs.

Screenshot 2020-11-15 at 13 42 06
vaddieg commented 3 years ago

After updating to Big Sur, undervolting stopped working for me too (even on Catalina). Based on the updated EFI and SMC, Apple seems to have closed the undervolting option on all Macs.

that was my biggest fear.. undervolting helped my 22nm i5 macbook air to run on max turbo infinitely long. And battery life was considerably better

vaddieg commented 3 years ago

SMC lock by big sur firmware upgrade is confirmed. Luckily there is a way to downgrade https://support.apple.com/en-gb/HT201518 will try it out later

tvrrp commented 3 years ago

SMC lock by big sur firmware upgrade is confirmed. Luckily there is a way to downgrade https://support.apple.com/en-gb/HT201518 will try it out later

Let me know if you can do something. But the link that you sent me will most likely not work.

FMudanyali commented 3 years ago

I seem to undervolt just fine even after the latest update.

tvrrp commented 3 years ago

I seem to undervolt just fine even after the latest update.

What is your MacBook and what is the firmware version?

I have MacBook Pro 13 late 2013

Screenshot 2020-11-15 at 15 30 15
FMudanyali commented 3 years ago

I will look at the firmware version in 2-3 hours but its a macbook pro 13 early 2015, with i5-5257U. Also you may want to remove your edit history if you can, its visible.

sicreative commented 3 years ago

I seem current version builded on current Xcode should work well under Big Sur release versions. An additional step you need to authorising the kext and reboot when first launch.

Please report any bug if you found as i am wish update it if necessary.

FMudanyali commented 3 years ago

@tvrrp sorry for late reply.

image
vaddieg commented 3 years ago

My config (OC_locked) Screenshot 2020-11-15 at 21 11 59

mendeel commented 3 years ago

@FMudanyali strange, I'm at the same system version as you:

image
FMudanyali commented 3 years ago

@mendeel Both our SMC and Firmware versions are different though. 424.0.0.0.0 vs 427.0.0.0.0 2.28f7 vs 2.19f12

mendeel commented 3 years ago

@mendeel Both our SMC and Firmware versions are different though. 424.0.0.0.0 vs 427.0.0.0.0 2.28f7 vs 2.19f12

Wow sorry I actually wanted to quote @tvrrp. But the fact that your versions are different, specially the system firmware, might tell us something

FMudanyali commented 3 years ago

I can undervolt probably because im on older firmware.

mendeel commented 3 years ago

I can undervolt probably because im on older firmware.

Did you downgrade yours or it just didn't get updated?

FMudanyali commented 3 years ago

I think I never got an update

tvrrp commented 3 years ago

I think I never got an update

Do you have a third-party Nvme SSD? It is possible that if the SSD has been replaced, Apple will install a different version.

FMudanyali commented 3 years ago

Nope, everything stock. I have done nothing special at all. Just installed the latest beta from Catalina.

protonimo commented 3 years ago

System Firmware Version: 427.0.0.0.0 SMC Version (system): 2.16f68

OC Locked for me.

mendeel commented 3 years ago

System Firmware Version: 427.0.0.0.0 SMC Version (system): 2.16f68

OC Locked for me.

Seems like System Firmware Version 427.0.0.0.0 is the culript.

IsmaelHG commented 3 years ago

MBP 15" 2014 2.5 DG

System firmware: 427.0.0.0.0 SMC: 2.19f12

Undervolt is locked with VoltageShift on macOS and ThrottleStop on Windows 10.

Apple probably locked the MSR 0x150 register to mitigate Plundervolt so the solution is to downgrade the System firmware (you will need an external programmer) or modify the firmware (idk if this one is possible).

protonimo commented 3 years ago

Big Sur = Big Sad

sicreative commented 3 years ago

MBP 15" 2014 2.5 DG

System firmware: 427.0.0.0.0 SMC: 2.19f12

Undervolt is locked with VoltageShift on macOS and ThrottleStop on Windows 10.

Apple probably locked the MSR 0x150 register to mitigate Plundervolt so the solution is to downgrade the System firmware (you will need an external programmer) or modify the firmware (idk if this one is possible).

Not only Apple, many PC try to lock this register to prevent user under or over voltage.

The Apple implement firmware update under efi partition (if you open efi partition /EFI/UPDATERS/MULTIUPDATER, there have firmware bin on there), i don't know it is possible downgrade on efi partition, but the best is backup the efi partition or clone the exciting firmware before upgrade.

However, it is very hard to modify the firmware because those firmware is Apple's signed, if you change this directly, the firmware is not able to load when launch.

FMudanyali commented 3 years ago

Can I share mine or are these device specific?

FeDaSy commented 3 years ago

Hello, is there an update for the voltage offset problem?

Bildschirmfoto 2020-11-22 um 17 00 17
Drowningfish223 commented 3 years ago

so I have to use a program to run a voltageshift shell script on every wake. @Drowningfish223 which program you use? and thank you for the files .

@jhon12346

Check out this thread: https://github.com/daliansky/XiaoMi-Pro-Hackintosh/issues/389

The power manager app seems to be the easiest option. It didn't work for me, maybe because I'm using a hackintosh? If it doesn't work for you, check out the Hammerspoon app. You have to write a few lines of code, but it's still pretty simple.

I forgot to mention, you should edit the shell scripts to match your voltageshift settings.

MarFre22 commented 3 years ago

@jhon12346

Check out this thread: https://github.com/daliansky/XiaoMi-Pro-Hackintosh/issues/389

The power manager app seems to be the easiest option. It didn't work for me, maybe because I'm using a hackintosh? If it doesn't work for you, check out the Hammerspoon app. You have to write a few lines of code, but it's still pretty simple.

I forgot to mention, you should edit the shell scripts to match your voltageshift settings.

@Drowningfish223 Hi!

Some time ago I made a tutorial about VoltageShift and power manager app (here).

Today the XiaoMi-Pro's community gave me the feedback that it's not working on BigSur (here). I think it's a kext update problem. Can you try my tutorial replacing the files with the files of voltageshfit_1.25.zip and give me some feedback? I'm asking it because I'm not using BigSur due to some privacy concerns. Thank you very much :)

Also my tutorial is compatible with hackintosh.