- Joined
- Jul 22, 2018
- Messages
- 8,013
- Motherboard
- Supermicro X11SPA-T
- CPU
- Intel Xeon W-3275 28 Core
- Graphics
- 2xAMD RX 580 8GB
- OS X/macOS
- 13.x
- Bootloader
- OpenCore (UEFI)
- Mac
- Mac mini
- MacBook Pro
- Mobile Phone
- Android
- iOS
How to Generate SSDT for CPU Power Management [Clover/OpenCore]
An EliteMacx86 Exclusive Guide - This guide covers implementation of SSDT for CPU Power Management using Clover and OpenCore.Overview
Piker-Alpha has developed a script called ssdtPRGen which will generate a SSDT for your CPU. By implementing the CPU power management, you would be able to achieve the maximum amount of power states for your CPU. Please note that CPU power management is not mandatory. However, it's advised to enable it for best performance and efficiency.
Before you start, make sure you're having a working internet connection. This method is required by Ivy Bridge and older CPUs. For newer CPUs, refer to the guide linked below.
For Haswell and newer CPUs
GUIDE - How to Enable CPU Power Management on macOS [Intel/AMD]
How to Enable CPU Power Management on macOS [Intel/AMD] This guide covers the implementation of CPU Power Management for Intel and AMD CPUs on macOS using Clover and OpenCore. By following this guide, you'll be able to enable Intel or AMD CPU Power Management on macOS using Clover or OpenCore...
www.elitemacx86.com
For more information on Sandy Bridge-E and Ivy Bridge-E power management, refer to the guide linked below
GUIDE - How to Enable Intel CPU Power Management on X79/C606 Motherboards [Sandy Bridge-E/EP and Ivy Bridge-E/EP]
How to Enable Intel CPU Power Management on X79 Motherboards [Sandy Bridge-E/EP and Ivy Bridge-E/EP] This guide covers the implementation of Intel CPU Power Management on X79/C606 chipset based Motherboards. This guide is supported on Sandy Bridge-E/EP and Ivy Bridge-E/EP CPUs lineup, up to...
www.elitemacx86.com
Generating a SSDT for CPU Power Management
1. Before you generate a SSDT for your CPU, make sure that the correct SMBIOS has been configured for your current CPU.
2. Open Terminal and download the Piker Alpha's script.
Code:
curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
For newer CPUs, use beta branch.
Code:
curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
3. This will download the ssdtPRGen.sh script to your user directory. The next step is to change the file permission
Code:
chmod +x ~/ssdtPRGen.sh
4. For default SSDT generation, type:
Code:
sudo ~/ssdtPRGen.sh
5. Confirm y or n and it will generate the SSDT.
6. Open Finder and in menubar and click on Go to Folder
7. Type ~/Library/ssdtPRGen/
For Intel HEDT series CPUs
If you're using Intel HEDT CPU, the process is slightly changed. For reference, Intel Core i7-3820 has been used as an example.
Code:
./ssdtPRGen.sh -p 'i7-3820' -x 1 -target 0 -c 3 -cpus 1 -l 8 -mode custom -d 3
Where,
Options | Value | Notes |
---|---|---|
-p | CPU model |
|
-x |
|
|
-target |
|
|
-c |
|
|
-cpus | Number of Physical CPU installed. |
|
-l | Number of Logical Processor |
|
-mode |
|
|
-d | 0 = no debug injection/debug output 1 = inject debug statements in: ssdt_pr.dsl 2 = show debug output 3 = both |
|
Installing SSDT
The next step is to install the SSDT to enable CPU Power Management.
Mount your ESP.
For Clover:
If you're using Clover, copy ssdt.aml to EFI/Clover/ACPI/patched
For OpenCore:
If you're using OpenCore, copy ssdt.aml to EFI/OC/ACPI. You'll also need to add the ssdt entry in ACPI>Add section of your config.plist
Notes :
- The Power Management SSDT should always be named as SSDT.aml.
- If you're already having a SSDT.aml in the directory, rename it to SSDT-1.aml, SSDT-2.aml and so on.
- The default generated SSDT is ssdt.aml. You can rename it to SSDT.aml without any issue.
Restart your System
After performing all the above steps, restart your system for the applied changes to take effect.
Verifying CPU Power Management
The next step is to verify whether CPU Power Management is working or not.
Download IOReg and open it.
For Ivy Bridge:
1. Verify "plugin-type" property. The plugin-type property is located under the CPU node.
2. Verify "Machine" property. The Machine property is located under AGPMController which is under CPU0 node.
For Sandy Bridge:
1. Verify "AICPMVers" property. The AICPMVers property is located under ACPI_SMC_PlatformPlugin which is under CPU0 node.
2. Verify "Machine" property. The Machine property is located under AGPMController which is under CPU0 node.
Testing Power Management
After restarting, you can test the power management. To test the power management, you need to use AppleIntelInfo.kext. You can either compile AppleIntelInfo.kext using XCode or can download from the post in the attachment.
1. Download and extract AppleIntelInfo.kext to your Desktop
2. Open Terminal
3. Type:
Code:
sudo kextutil /Users/yourusername/Desktop/AppleIntelInfo.kext
Note:
If you get an error while loading kext, follow the steps below.
Code:
sudo chown -R root:wheel ~/Desktop/AppleIntelInfo.kext
Code:
sudo chmod -R 755 ~/Desktop/AppleIntelInfo.kext
Continue from the step 3.
4. Type:
Code:
sudo cat /tmp/AppleIntelInfo.dat
5. The power states will be shown in the Terminal.
6. Now, do some benchmark to stress the system.
7. Recheck the power states.
Using Intel Power Gadget Tool
Install Intel Power Gadget.
Leave the system idle for a minute.
After a minute or two, start doing tasks on your system. You can use a benchmarking software to increase the CPU load.
Credits :
Pike R. Alpha
RehabMan
Attachments
Last edited: