- Dec 10, 2024
- 12
- 8
- 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 pmsetcommands 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 -> Enable1. 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 -> true4. 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 256. 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 sleep8. 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: 
				
		
	
										
										
											
	
										
									
								 
	