Contribute
Register

macOS Native CPU/IGPU Power Management

Is this compatible with coffee lake?

Injecting only "plugin-type"=1 is applicable to all CPUs Haswell and later, and to Ivy Bridge when using config.plist/KernelAndKextPatches/KernelXCPM=true.
 
config.plist/ACPI/SSDT/PluginType is always an integer.
What Type for Key, Xcode/config.plist/ACPI/SSDT/PluginType, supports integer?
config.plist/ACPI/SSDT/PluginType does not in itself determine whether "plugin-type" is injected or not. As mentioned above, that is based on the flags under Generate instead.
Understood, both required
config.plist/ACPI/SSDT/PluginType=1
config.plist/ACPI/SSDT/Generate/PluginType=Yes

However,
1. config.plist/ACPI/SSDT/PluginType=1 is necessary but not sufficient for PM (CloverConfigurator misperception)
2. config.plist/ACPI/SSDT/Generate/PluginType=YES is necessary and sufficient for PM (Clover injects PluginType=1)
 
What Type for Key, Xcode/config.plist/ACPI/SSDT/PluginType, supports integer?

The key type should be "integer".
"string" is also supported, it will be converted from ascii to integer (as per code in post #469).

In Xcode you enter it as Number. It will look like this in the XML:
Code:
<key>PluginType</key>
<integer>1</integer>

Best to omit config.plist/ACPI/SSDT/PluginType as Clover already provides a suitable default.
I suppose it was made an option in Clover for the case that a new CPU architecture came along that used a different value, such as... 2. But that hasn't happened yet.

Understood, both required
config.plist/ACPI/SSDT/PluginType=1

No. Best omitted. A suitable default is already provided by Clover.
If specified, for Ivy and later, must be 1.
The value 0 only makes sense for Sandy and earlier (and even then, best omitted).

config.plist/ACPI/SSDT/Generate/PluginType=Yes

Correct.

However,
1. config.plist/ACPI/SSDT/PluginType=1 is necessary but not sufficient for PM (CloverConfigurator misperception)

Not necessary, but insufficient.

2. config.plist/ACPI/SSDT/Generate/PluginType=YES is necessary and sufficient for PM (Clover injects PluginType=1)

Yes... sufficient for Haswell and later.

For Ivy, must use Generate/PluginType=true *and* KernelXCPM=true.
-OR-
SSDT.aml from ssdtPRgen.sh.

For Sandy, only option is SSDT.aml from ssdtPRgen.sh.
 
Post #470 with attachments
Hi RehabMan,
[...]
Hence I will go forward and will test this evening both possibilities:
  1. no PluginType set (as that should be the same for ACPI/SSDT/PluginType as boolean = YES)
  2. ACPI/SSDT/Generate/PluginType as boolean = YES
After that I'll post the results here and hopefully you or toleda can give me a hint what I am doing wrong.

Edit:
Ok. Finished. Seems that I do not get CPU PM to work.

May somebody give me an advice where to look at? I have no clue where to start. Cant see a mistake but there must be one :)
 
Hi RehabMan,

thanks a lot for the interesting answer!
Please note: not your clarifications in post #466 were ridiculous but the observed behavior of my CPU. (See the colon behind "That's ridiculous:")

Hence I will go forward and will test this evening both possibilities:
  1. no PluginType set (as that should be the same for ACPI/SSDT/PluginType as boolean = YES)
  2. ACPI/SSDT/Generate/PluginType as boolean = YES
After that I'll post the results here and hopefully you or toleda can give me a hint what I am doing wrong.

Edit:
Ok. Finished. Seems that I do not get CPU PM to work.

Your ioreg screen shot shows no CPU PM implemented (X86PlatformPlugin is not loaded), likely due to "plugin-type"=1 not injected.

Note that you get some amount of CPU PM just from the kernel (without X86PlatformPlugin), but it is not considered complete/native without X86PlatformPlugin (eg. not like a real Mac would have).
 
Your ioreg screen shot shows no CPU PM implemented (X86PlatformPlugin is not loaded), likely due to "plugin-type"=1 not injected.

Note that you get some amount of CPU PM just from the kernel (without X86PlatformPlugin), but it is not considered complete/native without X86PlatformPlugin (eg. not like a real Mac would have).
Ok. Injection seems to be working now. But PM still looks not working. I do not use the internal GPU does that cause problems?
 

Attachments

  • next try AppleIntelInfo.txt
    10.5 KB · Views: 85
  • next try config.plist
    4.7 KB · Views: 270
  • next try intel tool.png
    next try intel tool.png
    62.8 KB · Views: 196
  • next try ioReg.png
    next try ioReg.png
    169.4 KB · Views: 198
  • next try ioReg_2.png
    next try ioReg_2.png
    166.2 KB · Views: 189
Ok. Injection seems to be working now. But PM still looks not working. I do not use the internal GPU does that cause problems?

Your ACPI configuration is wrong.
You should NOT be dropping CPU related SSDTs as you are with DropTables (CpuPm and Cpu0Ist).
 
Your ACPI configuration is wrong.
You should NOT be dropping CPU related SSDTs as you are with DropTables (CpuPm and Cpu0Ist).
Thanks I will test that after work! Much appreciated!

Edit:

I removed the DropTable Entries but kept the DMAR one. Still no change.
 

Attachments

  • another try AppleIntelInfo.txt
    11.2 KB · Views: 89
  • another try config.plist
    4.5 KB · Views: 229
  • another try ioReg.png
    another try ioReg.png
    195.6 KB · Views: 126
  • another try_ioReg2.png
    another try_ioReg2.png
    246.6 KB · Views: 111
  • another try Intel.png
    another try Intel.png
    67.8 KB · Views: 117
Last edited:
I did several tests over the weekend. No change.

Am I right that with an i7 4790K native CPU and GPU PM Guide should work? Or is this completely wrong already?
 
I did several tests over the weekend. No change.

Am I right that with an i7 4790K native CPU and GPU PM Guide should work? Or is this completely wrong already?

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the tool mentioned in the FAQ, that way it is less likely you'll omit something.

Also, attach AppleIntelInfo output.
 
Back
Top