EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,588
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Enable Intel CPU Power Management on X79 Motherboards [Sandy Bridge-E and Ivy Bridge-E]

This guide covers the implementation of Intel CPU Power Management on X79 Motherboards. This guide is supported on Sandy Bridge-E and Ivy Bridge-E CPUs lineup, up to macOS Monterey. By following this guide, you'll be able to enable CPU Power Management on X79 Motherboards running macOS with Sandy Bridge-E or Ivy Bridge-E CPU using Clover or OpenCore Bootloader.

Overview


When talking about a stable system with balanced performance, it's very important that your system has working CPU Power Management. macOS native power management delivers the best performance and efficiency. With a proper Power Management function, it not only increases the CPU performance but also unlocks and unleashes the CPU speed. Hence you can achieve full speed and reach to the maximum CPU speed when at full load. Implementing Power Management is highly recommended to have full CPU speed and avoid issues like Sleep/Wake function, rise in temperatures, and slow processing. Without a proper power management function, the system may or may not perform at its peak and will not switch to idle mode during zero loads.

Requirements


Following are the requirements for the implementation of CPU Power Management on X79 Motherboards running macOS. This applies to both, Sandy Bridge-E and Ivy Bridge-E CPUs.

CPU
UEFI/BIOS Settings
  • Correct UEFI/BIOS Settings
  • MSR 0xE2 Unlocked BIOS (preferred)
CPU Settings
  • The CPU clock should be set to default, running at stock speeds.
SMBIOS
  • A Correct System Definition/SMBIOS
Kexts
  • Original/Native Power Management Kexts in S/L/E.

Before you start

  • If you've used any other method remove those files to avoid conflicts.
  • If you're using any injector, make sure to remove it.

STEP 1: Setup BIOS/UEFI


The very first step is to set up BIOS to have the IGPU Enabled on your System. Follow the steps below to set up your BIOS for the CPU.

SettingsValueNotes
Hyper ThreadingEnabled
Intel Turbo Boost TechnologyEnabled
Speed StepEnabled
CPU P StatesAuto/Enabled
CPU C StatesAuto/Enabled


NOTES:
  • Depending on your hardware vendor, all settings may not be available in your BIOS/UEFI. If a setting isn't available, simply skip that particular setting.
  • The above settings are for CPU only. For more information on BIOS settings, refer to the thread linked below.

STEP 2: Remove Outdated Kexts and Injections


Once you have setup the BIOS, the next step is to remove the kexts and injections that can interfere with the Power Management implementation. To remove such, follow the steps below.

Kext Removal
If you're using NullCPUPowerManagement, it is recommended to remove it. See notes below.

1. Mount your ESP
2. Remove NullCPUPowerManagement.kext

NOTES:
  • If you're using OpenCore, you'll also need to remove the kext entries from your kernel section in your config.plist
  • For Catalina and prior, make sure these kexts don't exist in Library/Extensions or System/Library/Extensions.

Clover Properties and Injections
If you're using Clover, you need to disable Clover properties and injections.

1. Mount your ESP
2. Open your config.plist and disable and/or remove the following from their respective sections

Disable Generate Options
The Generate Options can be disabled in Acpi>Generate section.
  • Generate PStates
  • Generate CStates
  • PluginType
STEP 3: Patch AICPM


The very first step is to patch AICPM. There are two ways to patch the AICPM.

Method #1: Using Perl Patch
Stinga11 made a Perl patch using a command file. All you need to do is to download the command as per your macOS version and enter your password and continue with the instructions.

Downloads

1. For macOS Sierra
2. For macOS High Sierra

NOTE:
  • For macOS Mojave and later, the Perl patch is not available.

Method #2: Using Kernel Patches
This is a second method if you don't want to use the Perl patch method. We find this method easier and is recommended to use this method. The patches for each macOS version have been mentioned below.

macOS Sierra (10.12.x)

If you're using macOS Sierra, use the following patches

Name*Find* [HEX]Replace* [HEX]Comment
com.apple.driver.AppleIntelCPUPowerManagementFF0F842DFF0F852DPower Management Patch #1
com.apple.driver.AppleIntelCPUPowerManagement0100010F840100010F85Power Management Patch #2
com.apple.driver.AppleIntelCPUPowerManagementC974150F3225FF0F000048C9EB150F3225FF0F000048Power Management Patch #3
com.apple.driver.AppleIntelCPUPowerManagementC9740C0F3283E01F4289443BC9EB0C0F3283E01F4289443BPower Management Patch #4
com.apple.driver.AppleIntelCPUPowerManagement01746101EB61Power Management Patch #5
com.apple.driver.AppleIntelCPUPowerManagement3E75383E9090Power Management Patch #6
com.apple.driver.AppleIntelCPUPowerManagement7511B9EB11B9Power Management Patch #7

macOS High Sierra (10.13.x)

If you're using macOS High Sierra, use the following patches

Name*Find* [HEX]Replace* [HEX]Comment
com.apple.driver.AppleIntelCPUPowerManagementFF0F84D3FF0F85D3Power Management Patch #1
com.apple.driver.AppleIntelCPUPowerManagement0100010F840100010F85Power Management Patch #2
com.apple.driver.AppleIntelCPUPowerManagementC974140F3225FF0F00006BC9EB140F3225FF0F00006BPower Management Patch #3
com.apple.driver.AppleIntelCPUPowerManagementC9740C0F3283E01F4289443BC9EB0C0F3283E01F4289443BPower Management Patch #4
com.apple.driver.AppleIntelCPUPowerManagement01746101EB61Power Management Patch #5
com.apple.driver.AppleIntelCPUPowerManagement3E75383E9090Power Management Patch #6
com.apple.driver.AppleIntelCPUPowerManagement7511B9EB11B9Power Management Patch #7

macOS Mojave (10.14.x)

If you're using macOS Mojave, use the following patches

Name*Find* [HEX]Replace* [HEX]Comment
com.apple.driver.AppleIntelCPUPowerManagementFF0F84CD 00FF0F85CD 00Power Management Patch #1
com.apple.driver.AppleIntelCPUPowerManagement0100010F 840100010F 85Power Management Patch #2
com.apple.driver.AppleIntelCPUPowerManagementC974140F 3225FF0F 00006BC9EB140F 3225FF0F 00006BPower Management Patch #3
com.apple.driver.AppleIntelCPUPowerManagementC974050F 3283E01F 4289443BC9EB050F 3283E01F 4289443BPower Management Patch #4
com.apple.driver.AppleIntelCPUPowerManagement01746001EB60Power Management Patch #5
com.apple.driver.AppleIntelCPUPowerManagement3E75383E9090Power Management Patch #6
com.apple.driver.AppleIntelCPUPowerManagement7511B9EB11B9Power Management Patch #7

macOS Catalina (10.15.x)

If you're using macOS Catalina, use the following patches

Name*Find* [HEX]Replace* [HEX]Comment
com.apple.driver.AppleIntelCPUPowerManagementFF0F840F 01FF0F850F 01Power Management Patch #1
com.apple.driver.AppleIntelCPUPowerManagement0100010F 840100010F 85Power Management Patch #2
com.apple.driver.AppleIntelCPUPowerManagementC974140F 3225FF0F 00006BC974140F 3225FF0F 00006BPower Management Patch #3
com.apple.driver.AppleIntelCPUPowerManagementC974050F 3283E01F 4289443BC9EB050F 3283E01F 4289443BPower Management Patch #4
com.apple.driver.AppleIntelCPUPowerManagement01745D01EB5DPower Management Patch #5
com.apple.driver.AppleIntelCPUPowerManagement3E75383E9090Power Management Patch #6
com.apple.driver.AppleIntelCPUPowerManagement7511B9EB11B9Power Management Patch #7

macOS Big Sur (11.x)

If you're using macOS Big Sur, use the following patches

NameFind* [HEX]Replace* [HEX]Comment
com.apple.driver.AppleIntelCPUPowerManagement3E75383E9090Power Management Patch #1 (11.2.3)
com.apple.driver.AppleIntelCPUPowerManagement7511B9EB11B9Power Management Patch #2 (11.2.3)
com.apple.driver.AppleIntelCPUPowerManagement3E75393E9090Power Management Patch #1 (11.6.5, 11.6.6)
com.apple.driver.AppleIntelCPUPowerManagement7513B9EB11B9Power Management Patch #2 (11.6.5, 11.6.6)


STEP 4: Patch MSR Lock


The next step is to patch the MSR Lock. There are several ways to patch MSR Lock

Method #1: Using AICPMPatch

1. Download AICPMPatch
2. Open Terminal
Type:
Code:
cd ~/Downloads/AICPMPatch
To find wrmsr:
Code:
perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement
To patch wrmsr:
Code:
sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement --patch

NOTE:
  • On macOS Catalina and later, make sure your system directory is writable.

Method #2: Using Bootloader Patch
This method is recommended to patch MSR Lock as Method #1 is depreciated for the new OS.

1. Mount your ESP.

For Clover
If you're using Clover, select KernelPm and AppleIntelCPUPM in Kernel and Kext Patches section.

For OpenCore
If you're using OpenCore, select AppleXcpmCfgLock and AppleCpuPmCfgLock in Kernel>Quirks section.

NOTE:
  • Do not patch MSR if you're having an MSR unlocked Motherboard.
  • If you're using ASUS or AsRock motherboards, you can skip this step.
  • AICPM patching is only necessary for Sandy Bridge-E. If you have an Ivy Bridge-E CPU, you can skip this step.
  • Disable DummyPowerManagement in Quirks>Kernel section (for Clover) and Kernel>Emulate section (for OpenCore)

To verify whether your motherboard has an MSR Lock, follow the guide below.

STEP 5: Add Required Kext


The next step is to use a dummy kext for loading x86PlatformPlugin.kext.

Downloads

1. For macOS Sierra
2. For macOS High Sierra
3. For macOS Mojave
4. For macOS Catalina

1. Download x86PlatformPlugin.kext from the downloads section of this forum.
2. Mount your ESP.

For Clover:
If you're using Clover, copy both the kexts to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy both the kexts to EFI/OC/Kexts. You'll also need to add the kext entries in the Kernel section of your config.plist.

STEP 6: Create SSDT for CPU PM


The final step is to generate an SSDT for CPU PM using the Piker-Alpha script. For more information on creating SSDT for CPU PM, refer to the guide linked below.

STEP 7: Build Kext Cache


Once all the above steps are complete, build the caches using the following command in Terminal.
Code:
sudo kextcache -i/

STEP 8: Restart your system


After performing all the above steps, restart your system for the applied changes to take effect.
After restarting your system, you'll have Power Management working on your X79 Motherboard.
 
Last edited:

Alex-k

New member
Joined
Jan 16, 2020
Messages
2
Motherboard
HP z620
CPU
Xeon E5 2697 V2
Graphics
Radeon RX590
OS X/macOS
11.0.x
Bootloader
  1. Clover (UEFI)
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Tnx for your guide! Can i use (Mojave code) with Catalina?
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,588
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Tnx for your guide! Can i use (Mojave code) with Catalina?
Haven't checked it for Catalina. I'll be sparing some time this weekend and check if there's any related updated to it. If any, i'll add the patches to the thread.
 

Alex-k

New member
Joined
Jan 16, 2020
Messages
2
Motherboard
HP z620
CPU
Xeon E5 2697 V2
Graphics
Radeon RX590
OS X/macOS
11.0.x
Bootloader
  1. Clover (UEFI)
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Haven't checked it for Catalina. I'll be sparing some time this weekend and check if there's any related updated to it. If any, i'll add the patches to the thread.
Thank You!
 
  • Like
Reactions: EliteMacx86

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,588
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

d4vinder

New member
Joined
Dec 29, 2019
Messages
6
Motherboard
z620 HP so... Intel
CPU
E5 2830
Graphics
nVidia K600
OS X/macOS
10.15.x
Bootloader
  1. Clover (UEFI)
Mac
  1. iMac Pro
Mobile Phone
  1. iOS
Tnx for your guide! Can i use (Mojave code) with Catalina?

CATALINA 10.15.5

Name
: com.apple.driver.AppleIntelCPUPowerManagement
Find: D0050000 84C07446 E8
Replace: D0050000 84C0EB46 E8

;)

UPDATE: Also works on 10.15.6
 
Last edited:
  • Like
Reactions: EliteMacx86

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,588
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
CATALINA 10.15.5

Name
: com.apple.driver.AppleIntelCPUPowerManagement
Find: D0050000 84C07446 E8
Replace: D0050000 84C0EB46 E8

;)
Only single patch?
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,588
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

Frankovich

New member
Joined
May 15, 2020
Messages
6
Motherboard
Huananzhi v2.49pb
CPU
Intel Xeon E5-2690v1
Graphics
RX 590
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mobile Phone
  1. iOS
CATALINA 10.15.5

Name
: com.apple.driver.AppleIntelCPUPowerManagement
Find: D0050000 84C07446 E8
Replace: D0050000 84C0EB46 E8

;)

UPDATE: Also works on 10.15.6
Tried it on Big Sur Beta and looks like speedstep start working, but not a turboboost. See photo. My CPU should have 3,3 for all cores. 2,9 it’s basic frequency. I think in 10.15.6 all the same, and we need one more patch for turboboost.
 

Attachments

  • 1EF96416-4353-47A7-879F-C55CA65D66EF.jpeg
    1EF96416-4353-47A7-879F-C55CA65D66EF.jpeg
    2 MB · Views: 263

Latest posts

Forum statistics

Threads
709
Messages
7,360
Members
6,202
Latest member
tommyray