Contribute
Register

macOS Native CPU/IGPU Power Management

Hello.

I have the following case:
1. I have a newly installed Mojave 10.14.4 on Asus Z390A-Prime, i5-8400 and RX560.
2. I set PluginType=true inside the config.plist.
3. Check into IOReg, x86PlatformPlugin is loaded under PRO0@0 (it is not CPU0@0 as the guide stated).
4. I ran Hackintool to patch my framebuffer, creating a Headless system using 18,3 system definition.
5. After resetting the system, x86PlatformPlugin no longer loaded (search cannot find any x86PlatformPlugin).
6. Disable the PluginType=true and enable again, but no difference (x86PlatformPlugin still not loaded).

I didn't have a chance yet to run the AppleIntelInfo before and after, but I do the following test using Cinebench and Intel Power Gadget with the following result:
1. System idle then run Cinebench.
View attachment 413084

2. Finish Cinebench then system idle
View attachment 413085

3. System idle then running Cinebench again
View attachment 413086

I attach Problem Reporting files, even though without the requested problem reporting files, hopefully somebody is willing to look at my case and give advise about what is going on and how to enable the CPU PM?

Thank you.
Your setup lacks many corrections:
config.plist /ACPI/DSDT/Patches:
change EC0 to EC
change HDAS to HDEF
change SAT0 to SATA
change GFX0 to IGPU

These are mandatory to have a properly functioning setup (which are missing and needed for your setup).
"Especially" GFX0 to IGPU is important for Power Management to work.

If for any reasons you have kernel panic or get stuck on loading bar on Apple Logo, disable the EC0 to EC patch on clover boot menu.

Make these changes and see if Power management works.
 
After resetting the system, x86PlatformPlugin no longer loaded
PluginType=YES is working
"Reset" broke IOPlatformPluginFamily.kext
kextcache:
Code:
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd24400 [0x7fff8dc048f0]> { URL = "IOPlatformPluginFamily.kext/ -- file:///System/Library/Extensions/", ID = "com.apple.driver.IOPlatformPluginFamily" }
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd25f20 [0x7fff8dc048f0]> { URL = "X86PlatformPlugin.kext/ -- file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/", ID = "com.apple.driver.X86PlatformPlugin" }
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd269c0 [0x7fff8dc048f0]> { URL = "AppleSMCPDRC.kext/ -- file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/", ID = "com.apple.driver.AppleSMCPDRC" }
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd29540 [0x7fff8dc048f0]> { URL = "X86PlatformShim.kext/ -- file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/", ID = "com.apple.driver.X86PlatformShim" }
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd2a470 [0x7fff8dc048f0]> { URL = "IOPlatformPluginLegacy.kext/ -- file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/", ID = "com.apple.driver.IOPlatformPluginLegacy" }
Kext rejected due to improper filesystem permissions: <OSKext 0x7f91ccd2d4a0 [0x7fff8dc048f0]> { URL = "ACPI_SMC_PlatformPlugin.kext/ -- file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/", ID = "com.apple.driver.ACPI_SMC_PlatformPlugin" }
Restore native IOPlatformPluginFamily.kext
Restart, reply with new files
 
Hello @Sniki
Thanks for taking time to look at my case.

change EC0 to EC
==> this is to enable USB Power? I have no intention to enable USB Power, should I still use this fix? Specifically as it might have the risk of KP that I am still not able to properly handle yet on several occassion that results in me getting a fresh install.

change HDAS to HDEF
==> if I understand correctly, this is to enable audio through HDMI? I route my audio through audio interface, so I assume it is not required? CMIIW.

change SAT0 to SATA
==> many references I read seems to say, this is mostly for cosmetic purpose. Anything I missed that you can point the way?

change GFX0 to IGPU
==> as said, WhateverGreen.kext does this for my system.

Thanks to share some insights for me to learn further. Btw, I am using your guide on T440 and proudly use it for various purposes, albeit still dont have the WiFi issue resolved yet. It might be because of my BIOS that I need to reflash. Thank you very much for the great work you did.
 
Hello @toleda

Thanks for looking at my case and providing a recommendation to fix.

Restore native IOPlatformPluginFamily.kext
==> can you share some more guide on how to have the kext restored, specifically knowing my IOPlatformPluginFamily.kext is broken? Where can I find source to download this kext, as reading some source seems like it is macOS original kext and not 3rd party? Restoring this means I have to reinstall the kext to S/L/E? Could you please help in sharing the command to do this as well?

Thanks.
 
PluginType=YES is working
"Reset" broke IOPlatformPluginFamily.kext
kextcache:

Restore native IOPlatformPluginFamily.kext
Restart, reply with new files

It works!
X86PlatformPlugin is now loading under PRO0@0 showing 33 CPUPStates
413625


Intel Power Gadget running Geekbench.
413626


Intel Power Gadget running Cinebench
413627


Seems like it is running OK?

Thanks a lot for your help!
 

Attachments

  • 1561740071695.png
    1561740071695.png
    229 KB · Views: 46
  • 1561740123879.png
    1561740123879.png
    254.1 KB · Views: 53
  • debug_3548.zip
    2.5 MB · Views: 65
Will it make any sense to rename PR00 to CPU0 via SSDT patch as real macs use CPU name?
 
toleda said:
Hi, im trying to get native pm for my new 10.14.5 but also for my 10.11.6
Its a mess and im not sure what kext to use or not use and what config line to use or not in clover... could you help me toleda ?
my mobo sabertooth x79 cpu 3930k zotac gtx 680, both mobo and gpu has no UEFI, only old efi.
 
Last edited:
Back
Top