-
Notifications
You must be signed in to change notification settings - Fork 48
Undervolt via VoltageShift
It is possible to use VoltageShift
from the EFI folder instead of disabling SIP. You need to use specific version provided here.
At the moment (i.e. 10 October 2020) VoltageShift.kext
is compatible only with Catalina since macOS 11.0 Beta 9 appears to break all its functionality: in fact this kext should require upgrade by implementing the DriverKit layer; however, Big Sur and DriverKit are seen currently developing and under beta. As stated here, the program's author sicreative should try to upgrade this program when the Big Sur launch its stable release in October.
Latest releases for VoltageShift.kext
are fully compatible with Big Sur and Catalina.
This program is a command tool that supports Haswell and above CPUs for undervoltage.
Undervoltage can reduce heat and sustain Turbo boost longer, provide longer battery performance, although if done too much(mV) it may cause an unstable system.
This program does not provide a GUI interface because it loads the MSR driver only when apply, amend or read is done, after that the MSR driver will load and unload immediately for more security and lowest resource usage.
- Starting from release v. 1.6.0
VoltageShift.kext
is present in theEFI/OC/Kexts
folder - If you want to use this feature, enable it in your
config.plist
inKernel
->Add
section - Download voltageshift and put it in
Applications/Utilities
folder - After reboot, you need to make executable the script
voltageshift
with the following commands inTerminal
:
cd /Applications/Utilities
sudo chmod 755 voltageshift
- Now, you can view your current voltage offset, CPU frequency, power and temperature settings with the following command in
Terminal
:
./voltageshift info
- As suggested in many forums, I undervolt
CPU
,GPU
andCPUcache
only:
./voltageshift offset <CPU> <GPU> <CPUcache>
- My safe settings are the following, but they may not work for your machine!
DISCLAIMER: I'm not responsible for any damage may occur to your machine! Please, do your digging work before approaching undervolt!
./voltageshift offset -100 -50 -100
- If you set it too low the system will freeze: please turn OFF completely and turn ON computer to reset back the undervolt to 0 mV
- After you test throughfully the settings and are comfortable with system stability, you need to automate applying these settings both during boot and after every sleep & wake-up phase
- For outrun on startup (boot phase) you can apply the launchd (require sudo root):
sudo ./voltageshift offset -100 -50 -100
- After reboot, check if your settings are persistent! If not, then try the following:
sudo ./voltageshift buildlaunchd -100 -50 -100
You can remove the launchd with the following command:
sudo ./voltageshift removelaunchd
- If your undervolt settings are persistent at each boot, then you need to install
SleepWatcher
app for maintaining your undervolt settings also after each sleep & wake-up phase.
SleepWatcher
is a command line tool (daemon) that monitors sleep, wake-up and idleness of a Mac. It can be used to execute a Unix command when the Mac or the display of the Mac goes to sleep mode or wakes up, after a given time without user interaction or when the user resumes activity after a break or when the power supply of a Mac notebook is attached or detached. It also can send the Mac to sleep mode or retrieve the time since last user activity.
A little bit knowledge of the Unix command line is required to benefit from this software.
Note If you get the following error message Homebrew install fails with Error: Failed to install Homebrew Portable Ruby
then, probably, it turns out that access to the internet for brew
is blocked without notice by a firewall in the background: simply adding a rule (or disabling the firewall for installing brew
) did the trick!
- Type the following in
Terminal
app for installSleepWatcher
app (brew is required on your system):
brew update-reset
brew upgrade
brew install sleepwatcher
- Type the following for starting its daemon: you need to grant access to
Security & Privacy
->Privacy
->Input Monitoring
section and enable (tick)SleepWatcher
app to monitor input
brew services start sleepwatcher
Note If you get an error message from brew
,then we need to unwrap brew services
and run manually the stuff (commands) behind the scene: therefore first run step #15 and then type the following:
launchctl load /Library/LaunchDaemons/homebrew.mxcl.sleepwatcher.plist
- Copy the launchd daemon configuration:
sudo cp /usr/local/opt/sleepwatcher/homebrew.mxcl.sleepwatcher.plist /Library/LaunchDaemons/
- Now you need to create an executable file
.wakeup
in your home ($HOME
) directory that is executed when the machine wakes up. Download wakeup script and copy it in your$HOME
folder; then type the following in newTerminal
app:
mv wakeup .wakeup
chmod 755 ~/.wakeup
- Now load the launchd daemon configuration; this starts the
SleepWatcher
daemon:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.sleepwatcher.plist
When you reboot the MBXP, SleepWatcher
is started automatically via launchd.
Adding OpenCore entry to UEFI Boot
Activate Surround Sound via MIDI on internal speakers
Add custom shortcuts to Fn hotkeys
Drive Intel(R) UHD Graphics 620
Drive Intel(R) WiFi network card
Enable BIOS Secure Boot with OpenCore
Handle EFI partition from Windows
Keep Bluetooth devices paired on macOS and Windows
Prevent Windows partition from automatically mounting
Remove unnecessary Intel(R) Bluetooth firmware files
Remove unnecessary Intel(R) WiFi firmware files