- Dec 10, 2024
- 12
- 7
- 3
- CPU:
- AMD Ryzen 9 7900X 12-Core Processor
Hackintosh Power Management for macOS Sonoma/Sequoia
Table of Contents

1. BIOS/UEFI Settings
Recommended Settings:
2. OpenCore Configuration: Add Required Kexts
Ensure the following kexts are in your
3. OpenCore Configuration: Enable Necessary Quirks
4. Check Current Power Settings and Assertions
Run the following command in the terminal:
5. Set Hibernate Mode
Configure hibernation mode based on your use case:
Commands:
6. Configure Sleep and Display Sleep
7. Disable Unnecessary Wake Events
8. Configure Auto Power-Off
Check Current Power Button Behavior
10. Final Notes
- This guide provides step-by-step instructions for configuring power management, sleep mode, and hibernation on a Hackintosh running macOS Sonoma or Sequoia.
- It includes BIOS/UEFI settings, OpenCore configuration, and
pmset
commands to optimize your system's power behavior. - Step-by-Step Instructions with Commands and Explanations.
- In my case Sleep works perfectly great in all modes without waking up.
Table of Contents
- BIOS/UEFI Settings
- OpenCore Configuration
- Check Current Power Settings and Assertions
- Set Hibernate Mode
- Configure Sleep and Display Sleep
- Disable Unnecessary Wake Events
- Configure Auto Power-Off
- OpenCore Configuration: Enable Necessary Quirks
- Debugging Sleep Issues
Source GitHub Full version + script.sh that automatically configures the parameters

Code:
# Options in my Case Mac Pro7,1
# boot-args
keepsyms=1 npci=0x2000 watchdog=0 unfairgva=1 swd_panic=1 alcid=1 -alcbeta -amfipassbeta -btlfxbeta -vsmcbeta -lilubetaall -revbeta -ctrsmt e1000=0 itlwm_cc=YOUR_COUNTRY_CODE
This argument `rtcfx_exclude=80-AB` is not used to boot-args
# config.plist
HibernateMode to None in Misc -> Boot
HibernateSkipsPicker to Misc -> Boot -> Enable
1. BIOS/UEFI Settings
Recommended Settings:
- ErP Ready: Disable
- Wake on LAN: Disable
- Wake on USB: Disable
- HPET: Enable High Precision Event Timer
- ACPI S3: Enable Suspend to RAM (S3 sleep)
2. OpenCore Configuration: Add Required Kexts
Ensure the following kexts are in your
EFI/OC/Kexts
folder and added to config.plist
:- dortania.github.io/builds: Download
- NVMeFix.kext: Download
- USBWakeFixup.kext: Download
- HibernationFixup.kext: Download
- RTCMemoryFixup.kext (Optional): Download
3. OpenCore Configuration: Enable Necessary Quirks
Code:
☢️ (Optional)
# Use only if sleep or hibernation isn't working properly
# In most cases, it works without these parameters
#`DiscardHibernateMap`: Discards the hibernate memory map.
Enable the DiscardHibernateMap (Optional): Booter -> Quirks -> true
# `DisableRtcChecksum`: Disables RTC checksum validation.
Enable DisableRTCChecksum (Optional): Kernel -> Quirks -> DisableRTCChecksum -> true
# `EnableWriteUnprotector`: Allows writing to protected memory regions.
Enable the EnableWriteUnprotector (Optional): Booter -> Quirks -> true
4. Check Current Power Settings and Assertions
Run the following command in the terminal:
pmset -g
pmset -g assertions
- Go to Energy Saver (for desktops) or Battery (for laptops).
- To open the pane, choose Apple menu > System Settings, then click Energy in the sidebar. (You may need to scroll down.)
Option | Description | Command (Don't use this cmd) |
---|---|---|
Low Power Mode | Reduce energy usage for computers that are always on (e.g., servers) and minimize fan noise. | sudo pmset -a lowpowermode 1 |
Prevent automatic sleeping when the display is off | Prevent your Mac from going to sleep automatically when its display is off. | sudo pmset -a sleep 0 (system never sleeps) |
Wake for network access | Allow your Mac to wake from sleep to provide access to shared resources (e.g., printers, Music). | sudo pmset -a womp 1 (enable Wake on LAN) |
Start up automatically after a power failure | Automatically start up your Mac after a power interruption. | sudo pmset -a autorestart 1 |
Enable Power Nap | Allow your Mac to check for email, calendar, and iCloud updates while sleeping. | sudo pmset -a powernap 1 |
5. Set Hibernate Mode
Configure hibernation mode based on your use case:
Mode | Behavior | Use Case |
---|---|---|
0 | Disables hibernation. Uses Suspend to RAM (S3 sleep). | Systems with sleep issues. |
3 | Safe Sleep. Saves RAM to disk but keeps RAM powered. | Laptops, systems with battery backup. |
25 | Deep hibernation. Saves RAM to disk and powers off completely. | Desktops, servers, long-term storage. |
Commands:
Code:
# Deep hibernation (recommended for desktops/servers)
sudo pmset -a hibernatemode 25
6. Configure Sleep and Display Sleep
Code:
# Both options work, my choice is `Options 1`
# Options 1. Prevent System Sleep While Keeping the Display Off
sudo pmset -a sleep 1 # System sleeps after 1 minute of inactivity
sudo pmset -a disksleep 5 # Disk sleeps after 10 minutes of inactivity
sudo pmset -a displaysleep 5 # Display sleeps after 10 minutes of inactivity
# Options 2. Prevent System Sleep While Keeping the Display On
# sudo pmset -a sleep 0 # Set the sleep timer to 0 (system never sleeps)
# sudo pmset -a disksleep 0 # Prevent the disk from sleeping
# sudo pmset -a displaysleep 5 # Set the displaysleep timer to the desired time (e.g., 5 minutes)
7. Disable Unnecessary Wake Events
Code:
# Prevent the system from waking unexpectedly
sudo pmset -a womp 0 # Disable wake on network access (Wake on LAN)
sudo pmset -a acwake 0 # Disable wake on AC power
sudo pmset -a powernap 0 # Disable Power Nap
sudo pmset -a proximitywake 0 # Disable wake on proximity (nearby devices)
sudo pmset -a tcpkeepalive 1 # Enable TCP Keep Alive during sleep mode
sudo pmset -a ttyskeepawake 1 # Keep system awake if remote session is active
sudo pmset -a networkoversleep 0 # Disable network access during sleep
8. Configure Auto Power-Off
Code:
# Set the auto power-off delay to save energy.
sudo pmset -a standby 1 # Enable standby mode for all power sources
sudo pmset -a standbydelaylow 1 # Enter standby mode immediately (1 second)
sudo pmset -a standbydelayhigh 1 # Enter standby mode immediately (1 second)
sudo pmset -a autopoweroff 0 # Disable automatic power-off
sudo pmset -a autopoweroffdelay 7200 # Set auto power-off delay to 2 hours (7200 seconds)
sudo pmset -a halfdim 1 # Enable display dim before sleep
sudo pmset -a autorestart 0 # Prevent the system from restarting automatically after a power outage
Code:
# Only for MacBooks and other Apple laptops
sudo pmset -a acwake 1 # Laptops where you want the system to wake up when plugging in the charger.
sudo pmset -a lidwake 1 # for MacBooks and other Apple laptops! This command controls whether your laptop wakes up when you open the lid
sudo pmset -a lowpowermode 1 # For Mac laptops, use lowpowermode 1 to save battery or lowpowermode 0 for maximum performance.
sudo pmset -a highstandbythreshold 50 # Battery threshold for high-power standby.for both MacBooks and desktop Macs.
Check Current Power Button Behavior
- 1: The power button will put the system to sleep.
- 0: The power button will have no effect.
- To open the pane, choose Apple menu > System Settings, then click Lock Screen
- Uncheck box Show the Sleep, Restart and Shutdown Buttons and You have to relogin
- Before making changes, verify the current behavior of the power button:
- Press Windows + Alt and Press the power button briefly.
- Observe whether the system enters sleep mode or displays a shutdown dialog.
Code:
# Verify Current Sleep Settings
pmset -g
pmset -g assertions
# Check Wake Reason:
log show --style syslog | grep -i "Wake reason"
# Check Sleep Logs:
log show --last 1h | grep -i "sleep"
10. Final Notes
- Test your settings after making changes.
- Keep your kexts and OpenCore up to date.
- For Hackintoshes, ensure your ACPI/DSDT patches are correct
Last edited: