Hackintosh Power Management for macOS Sonoma/Sequoia

Deleted member 27236

New member
AMD OS X Member
Dec 10, 2024
12
7
3
CPU:
AMD Ryzen 9 7900X 12-Core Processor
Hackintosh Power Management for macOS Sonoma/Sequoia
  • 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
  1. BIOS/UEFI Settings
  2. OpenCore Configuration
  3. Check Current Power Settings and Assertions
  4. Set Hibernate Mode
  5. Configure Sleep and Display Sleep
  6. Disable Unnecessary Wake Events
  7. Configure Auto Power-Off
  8. OpenCore Configuration: Enable Necessary Quirks
  9. Debugging Sleep Issues
Source GitHub Full version + script.sh that automatically configures the parameters
Screenshot 2025-01-16 at 6.46.13 PM.png


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:


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 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.)

OptionDescriptionCommand (Don't use this cmd)
Low Power ModeReduce 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 offPrevent your Mac from going to sleep automatically when its display is off.sudo pmset -a sleep 0 (system never sleeps)
Wake for network accessAllow 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 failureAutomatically start up your Mac after a power interruption.sudo pmset -a autorestart 1
Enable Power NapAllow 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:

ModeBehaviorUse Case
0Disables hibernation. Uses Suspend to RAM (S3 sleep).Systems with sleep issues.
3Safe Sleep. Saves RAM to disk but keeps RAM powered.Laptops, systems with battery backup.
25Deep 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.
9. Debugging Sleep Issues
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:
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.