Contribute
Register

Quick Guide to Generate a SSDT for CPU Power Management

I have installed the generated SSDT for my i3-3225 on Sierra following the instructions and have monitored the result using Intel Power Gadget.

The CPU works as expected operating between 1.6GHz and 3.3GHz but the IGPU stays on 350MHz.

Have I missed something? How can I test this?

thanks.
 
This did not work for me on Mojave with i7 3770. CPU got stuck at 800 MHz. I had to remove the SSDT.aml file and disable speed step to get it back to normal frequencies.
 
This did not work for me on Mojave with i7 3770. CPU got stuck at 800 MHz. I had to remove the SSDT.aml file and disable speed step to get it back to normal frequencies.

Easiest way for Ivy is to ignore ssdtPRgen.sh entirely...

Instead:
- delete SSDT.aml if you already created it
- set config.plist/KernelAndKextPatches/KernelXCPM=true
- set config.plist/ACPI/SSDT/Generate/PluginType=true
- make sure you're not dropping OEM CPU SSDTs (eg. DropOem=false, no CPU SSDTs identified in DropTables)
 
Easiest way for Ivy is to ignore ssdtPRgen.sh entirely...

Instead:
- delete SSDT.aml if you already created it
- set config.plist/KernelAndKextPatches/KernelXCPM=true
- set config.plist/ACPI/SSDT/Generate/PluginType=true
- make sure you're not dropping OEM CPU SSDTs (eg. DropOem=false, no CPU SSDTs identified in DropTables)

Looks like that works with Speed Step enabled! However, here's the output from cat /tmp/AppleIntelInfo.dat. I've manually enabled the multiplier to a max of 39. Does this look right?

Code:
CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 1600 MHz
CPU Maximum non-Turbo Frequency....: 3400 MHz
CPU Maximum Turbo Frequency........: 3900 MHz

IGPU Info:
------------------------------------
IGPU Current Frequency.............:  350 MHz
IGPU Minimum Frequency.............:  350 MHz
IGPU Maximum Non-Turbo Frequency...:  650 MHz
IGPU Maximum Turbo Frequency.......: 1150 MHz
IGPU Maximum limit.................: No Limit

CPU P-States [ (16) 35 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 6 7 ]
CPU C6-Cores [ 0 1 2 4 7 ]
CPU C7-Cores [ 0 1 4 5 7 ]
CPU P-States [ (16) 26 35 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 2 6 7 ]
CPU C6-Cores [ 0 1 2 4 5 6 7 ]
CPU C7-Cores [ 0 1 3 4 5 7 ]
CPU P-States [ 16 26 35 (37) 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 2 3 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ 16 26 34 35 (36) 37 38 ] iGPU P-States [ (7) ]
 
Looks like that works with Speed Step enabled! However, here's the output from cat /tmp/AppleIntelInfo.dat. I've manually enabled the multiplier to a max of 39. Does this look right?

Code:
CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 1600 MHz
CPU Maximum non-Turbo Frequency....: 3400 MHz
CPU Maximum Turbo Frequency........: 3900 MHz

IGPU Info:
------------------------------------
IGPU Current Frequency.............:  350 MHz
IGPU Minimum Frequency.............:  350 MHz
IGPU Maximum Non-Turbo Frequency...:  650 MHz
IGPU Maximum Turbo Frequency.......: 1150 MHz
IGPU Maximum limit.................: No Limit

CPU P-States [ (16) 35 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 6 7 ]
CPU C6-Cores [ 0 1 2 4 7 ]
CPU C7-Cores [ 0 1 4 5 7 ]
CPU P-States [ (16) 26 35 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 2 6 7 ]
CPU C6-Cores [ 0 1 2 4 5 6 7 ]
CPU C7-Cores [ 0 1 3 4 5 7 ]
CPU P-States [ 16 26 35 (37) 38 ] iGPU P-States [ (7) ]
CPU C3-Cores [ 0 1 2 3 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ 16 26 34 35 (36) 37 38 ] iGPU P-States [ (7) ]

As far as CPU PM, looks good to me (assuming you verified X86PlatformPlugin).
You would only see x39 if there was only a single core active.
 
As far as CPU PM, looks good to me (assuming you verified X86PlatformPlugin).
You would only see x39 if there was only a single core active.

What's the X86PlatformPlugin? I haven't heard of that before or seen that in any of the guides
 
What's the X86PlatformPlugin? I haven't heard of that before or seen that in any of the guides

Look for it in ioreg under CPU0.
 
Back
Top