Contribute
Register

[Guide] Native Power Management for Laptops

Are you sure you're monitoring pstates correctly with AppleIntelInfo.kext?
To use XCPM you only need SSDT-PluginType1.aml and KernelIvyXCPM=true (and version of Clover that supports it).

I use the terminal commands in post #1 to monitor pstates, so I've assumed I've been doing it correctly:
sudo kextutil /kexts/AppleIntelInfo.kext
sudo cat /tmp/AppleIntelInfo.dat|more

I will need to look further into XCPM, specifically "SSDT-PluginType1.aml", but I do have KernalIvyPM=true and am using Clover v2.4k r4243

The section of the guide that discusses XCPM indicates that its for Haswell and newer so I did not try that method. My CPU is Ivy Bridge
 
Last edited:
I use the terminal commands in post #1 to monitor pstates, so I've assumed I've been doing it correctly:
sudo kextutil /kexts/AppleIntelInfo.kext
sudo cat /tmp/AppleIntelInfo.dat|more

Keep in mind the need to do a variety of tasks while monitoring with AppleIntelInfo.kext running before collecting the results.
So, the procedures are:
- load/start the AppleIntelInfo.kext
- use your computer for a while (do a variety of tasks, including running both CPU and graphics benchmarks)
- then... collect the data from AppleIntelInfo.dat

I will need to look further into XCPM, specifically "SSDT-PluginType1.aml", but I do have KernalIvyPM=true and am using Clover v2.4k r4243

The section of the guide that discusses XCPM indicates that its for Haswell and newer so I did not try that method.

No such thing as KernalIvyPM. Perhaps you mean KernelPm=true and KernelIvyXCPM=true?
By using KernelIvyXCPM=true, it essentially treats your Ivy CPU as Haswell+ (as far as CPU PM is concerned).
 
Keep in mind the need to do a variety of tasks while monitoring with AppleIntelInfo.kext running before collecting the results.
So, the procedures are:
- load/start the AppleIntelInfo.kext
- use your computer for a while (do a variety of tasks, including running both CPU and graphics benchmarks)
- then... collect the data from AppleIntelInfo.dat

Noted, regarding collecting data from AppleIntelInfo.dat. Adjusted my procedure. Was only running Geekbench CPU prior to collecting data.

No such thing as KernalIvyPM. Perhaps you mean KernelPm=true and KernelIvyXCPM=true?
By using KernelIvyXCPM=true, it essentially treats your Ivy CPU as Haswell+ (as far as CPU PM is concerned).

You're correct, typo on my end. I now have KernelPM=true and KernelIvyXCPM=true.

I've removed the generated SSDT.aml from Pike's script and added the compiled version of the SSDT-PluginType1.dsl to ACPI/Patched. Also set config.plist/ACPI/SSDT/Generate/PluginType=true and after reboot, ran Cinebench CPU and GPU benchmarking and also Geekbench CPU and Open CL, did various other tasks as well then collected data and pstates look the same as before.

HW monitor continues to show fixed x12 frequency and power consumption never exceeds 12 watts (CPU spec states 35 watts).

Attaching new set of reporting files.

Screen Shot 2017-11-08 at 2.06.45 PM.png
 

Attachments

  • more reporting files.zip
    1.9 MB · Views: 69
You're correct, typo on my end. I now have KernelPM=true and KernelIvyXCPM=true.

KernelPM is not recognized. It is spelled KernelPm.

I've removed the generated SSDT.aml from Pike's script and added the compiled version of the SSDT-PluginType1.dsl to ACPI/Patched. Also set config.plist/ACPI/SSDT/Generate/PluginType=true and after reboot, ran Cinebench CPU and GPU benchmarking and also Geekbench CPU and Open CL, did various other tasks as well then collected data and pstates look the same as before.

You will need to attach your AppleIntelInfo.dat file.

And why did you install NullCPUPowerManagement.kext?
Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext NullCPUPowerManagement.kext
 
KernelPM is not recognized. It is spelled KernelPm.

That's going to be another typo. I just confirmed that it's correct in config.plist. Thanks for pointing out how specific things need to be with code. I should know better from all the coding classes taken back in college.

You will need to attach your AppleIntelInfo.dat file.

And why did you install NullCPUPowerManagement.kext?
Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext NullCPUPowerManagement.kext

I've attached the AppleIntelInfo.dat file.

NullCPUPowerManagement.kext was something that was installed while following this guide:
https://www.tonymacx86.com/threads/...-2-on-dell-inspiron-5547.218629/#post-1472452

It was a similar laptop so I had used it early on for reference. I was under the impression that it had been removed but seems there are still traces left behind.
 

Attachments

  • AppleIntelInfo.zip
    5.2 KB · Views: 67
I've attached the AppleIntelInfo.dat file.

It seems like this data may have been collected before you allowed enough time for data to be collected by AppleIntelInfo.kext.
Note that you must kextload AppleIntelInfo.kext each time (kextload does not persist across reboots).

NullCPUPowerManagement.kext was something that was installed while following this guide:
https://www.tonymacx86.com/threads/...-2-on-dell-inspiron-5547.218629/#post-1472452

It was a similar laptop so I had used it early on for reference. I was under the impression that it had been removed but seems there are still traces left behind.

NullCPUPowerManagement is never needed with Clover.
You should have never installed it.
Definitely something you must remove.
 
It seems like this data may have been collected before you allowed enough time for data to be collected by AppleIntelInfo.kext.
Note that you must kextload AppleIntelInfo.kext each time (kextload does not persist across reboots).

I'll keep it running for longer and post a new dat file later tonight.

NullCPUPowerManagement is never needed with Clover.
You should have never installed it.
Definitely something you must remove.

Definitely been a learning process for me and now I know.

Other than removing the kext from /S/L/E and/or /L/E (done this a while ago) and making sure its not on my EFI partition anywhere is there something else needed to remove it? Why does it still show up when rebuilding the cache?
 
It seems like this data may have been collected before you allowed enough time for data to be collected by AppleIntelInfo.kext.
Note that you must kextload AppleIntelInfo.kext each time (kextload does not persist across reboots).

Have reverted to the SSDT generated by Pike's script with "-w 1" and "-x 1" because it appears to allow more pstates then with the hotpatch. As such I have omitted SSDT-PluginType1.aml from ACPI/Patched and set config.plist/ACPI/SSDT/Generate/PluginType=false.

Here's my AppleIntelInfo.dat file after letting the kext collect for some time. Hopefully it's enough data to provide some insight.
 

Attachments

  • AppleIntelInfo.zip
    5.9 KB · Views: 78
Other than removing the kext from /S/L/E and/or /L/E (done this a while ago) and making sure its not on my EFI partition anywhere is there something else needed to remove it? Why does it still show up when rebuilding the cache?

If it shows in kextcache output, then you DID NOT remove it from /S/L/E or /L/E.
 
Have reverted to the SSDT generated by Pike's script with "-w 1" and "-x 1" because it appears to allow more pstates then with the hotpatch. As such I have omitted SSDT-PluginType1.aml from ACPI/Patched and set config.plist/ACPI/SSDT/Generate/PluginType=false.

Here's my AppleIntelInfo.dat file after letting the kext collect for some time. Hopefully it's enough data to provide some insight.

No idea why you believe there are more pstates reached here.
I see only x12 in this AppleIntelInfo.dat.
 
Back
Top