Jump to content

Excessive package power usage and frequency issues (i5-7200U)


3 posts in this topic

Recommended Posts

Hello folks. I have a Lenovo Ideapad 320-15IKB 80XL model with the i5-7200U cpu and 940MX gpu (disabled in BIOS) and OpenCore as my bootloader. I think I have a problem with the power management. Idle core power usage is very low as you see below but package usage never goes below 1.25w (the lowest value I've ever seen) and it's usually around 1.50-1.30 watts. The cpu also never idles at lower values below 0.90ghz. On Windows, idle frequency is usually 0.60ghz and package usage is around 0.40-0.50 watts. I use VoltageShift with the settings below. I also have CPUFriend kexts and a custom SSDT-PLUG in my EFI. Can someone help me with this issue? I also tried removing Voodoo I2C kexts but the idle cpu utilisation and power usage did not change. GenI2C says the touchpad is in PollingInterrupt mode with GPIO pinning enabled but as far as I know it should be either polling or interrupt (desired one).

 

Screenshot 2021-05-10 at 14.54.13.png

Screenshot 2021-05-10 at 15.15.01.png

EFI.zip

Do not expect CPU power management to work under OS X/macOS the same way it does on Windows. It won't!

 

Looking at your posted archive, it seems you tried and make up your own SSDT-PLUG power management table, presumably to fine-tune CPU power management. Can't say I've seen such things before. How does it compare to running with a default SSDT-PLUG table that just injects the Plugin property? You could also try good old CPU-specific power management SSDT generated by Pike R ALpha's well-known generator script but I would not expect any difference in behaviour compared to when using a standard SSDT-PLUG table.

  • Like 1
Posted (edited)
3 hours ago, Hervé said:

Do not expect CPU power management to work under OS X/macOS the same way it does on Windows. It won't!

 

Looking at your posted archive, it seems you tried and make up your own SSDT-PLUG power management table, presumably to fine-tune CPU power management. Can't say I've seen such things before. How does it compare to running with a default SSDT-PLUG table that just injects the Plugin property? You could also try good old CPU-specific power management SSDT generated by Pike R ALpha's well-known generator script but I would not expect any difference in behaviour compared to when using a standard SSDT-PLUG table.

While using the standard PLUG, core max on the Power Gadget doesn't fluctuate like it does now. It only switches to either 3.1 (turbo freq) or 2.5 which is the default one. Also the core minimum never goes below 0.7 with the default PLUG, it's stuck at 0.70. With the custom PLUG, I get different values on both (lowest freq goes as low as 0.30ghz) but I can't say it had any effect on power consumption since average frequency is always 0.90ghz or 1ghz but it helped with lowering the overall temperature. I also tried the script but there was no difference like you said. I don't expect the power management to be like it is on Windows, I can't even modify the CFG thing because my BIOS in write protected so I have to use OC quirks but I wish there was a way to lower the package usage. I hardly get 2 hours of battery on macOS whereas it's almost 5 hours on Windows. Core usage sometimes goes as low as 0.03w so what may be the reason of this package usage? Someone said it might be the wireless card (you know the ASPM thing) which was kinda true before but I replaced the wireless with a native Broadcom one so it should all be fine. Replacing the wireless also lowered the idle consumption from ~2.20 to ~1.30 watts.

 

Oh and btw, my SSDT-PLUG contains data from the CPUFriend kext. For some reason, its data provider kext doesn't actually work and injects nothing so the PLUG file does the job here.

Edited by Mr.Blue
×
×
  • Create New...