Contribute
Register

macOS Native CPU/IGPU Power Management

1. Problem Description

Hello, i think there may be a problem with my power management. The max number of P-States i have observed after i implemented the technique described was about 7 or 8. iGPU P-States seem quite what i was expecting for. My rig is open throughout the day and i leave the AppleIntelInfot.kext loaded. The usage is quite normal. Daily software development or browsing staff. I also run geekbench with the kext loaded. The max number of p-states never exceed 7 or 8

2. Hackintosh Details

OS: macOS 10.12.6,
MOBO: Asus Maximus Gene VIII, Bios Version: 2202
Processor: Intel i7 6700k (i have never overclocked it),
Graphics: Embedded intel hd 530.

3. Guide:

I followed the steps described in this thread. I also had to add injector.kext found on another thread, in order to enable applelpc.

4. IOREG Copy attached

5. AppleIntelInfo output attached


6. Console log not attached - could not save it and not sure what exactly is requested

7. intel-power-gadget

8. Clover files

  1. config.plist -> attached
  2. dpcimanager boot log -> not attached . When i try to download dpcimanger from sourceforge there is a warning about malware detection so i am a little concerned about downloading it.
  3. dsdt , ssdt -> attached
  4. screenshot of kexts installed in efi/clover/kexts/other attached
Is there anything wrong? Something i have missed? It seems that it is working but the cpu states seem tooo few.. Thanks in advance for your help and patience..

Edit

Uploaded new ioreg as requested by toleda. I also downloaded dpci manager, opened the app and navigated to misc boot log.
 

Attachments

  • appleintelinfo-output.txt
    14.7 KB · Views: 125
  • intel-power-gadget.png
    intel-power-gadget.png
    57 KB · Views: 108
  • SSDT-XCPM.aml
    187 bytes · Views: 111
  • kexts-installed.png
    kexts-installed.png
    7.8 KB · Views: 93
  • my_ioreg.ioreg
    4.7 MB · Views: 110
  • dpci-manager-log.txt
    22.9 KB · Views: 97
Last edited:
Different pstates expected with no SSDT (X86PlatformPlugin not loaded) vs. SSDT (X86PlatformPlugin loaded).

Ok. So is it still better to use the SSDT even though doing something mundane makes the cores hit max freq? (the power consumption seems to be in line.. i think) Having no SSDT makes it behave similar to windows where doing fairly simple stuff demands lower frequencies
 
Ok. So is it still better to use the SSDT even though doing something mundane makes the cores hit max freq? (the power consumption seems to be in line.. i think) Having no SSDT makes it behave similar to windows where doing fairly simple stuff demands lower frequencies

"Rush to idle"
 
macOS Native CPU/IGPU Power Management

Native macOS power management delivers the best combination of processor and graphics performance and efficiency. The ingredients are an installed processor a XCPM enabling ssdt, a compatible system definition and the native power management kext. Native power management does not require specific BIOS settings or anything more than installing one power management ssdt. Credit, PluginType=1 only technique by RehabMan.

To be clear, native power management is not mandatory. The consequences are not severe. Performance is similar, however, higher temps (~10 C), more power (5-10 W) and sleep problems are likely.

Change Log

v1.0 - 5/24/17:
Initial Release​

Requirements
  1. OS X/10.10 or newer
    • Desktop/Laptop only
  2. BIOS
    • Load Optimized Defaults
    • Verify stock clock
  3. System Definition/SMBIOS (see Note 1, below)
    • Native CPU PM (PluginType=1)
    • Native IGPU PM (dsdt/GFX0 > dsdt/IGPU)
      1. config.plist (see Attached, end of Post #1) or
      2. HDMI audio ssdt: HDMI Audio AppleHDA/cloverHDMI
Supported CPU/IGPU - XPCM/Intel Speed Step
  1. Initial - Kaby Lake/HD630+ (Core i3/5/7 7xxx, 7th Generation)
  2. Sky Lake/HD530+ (Core i3/5/7 6xxx, 6th Generation)
  3. Broadwell/HD6000+ (Core i3/5/7 5xxx, 5th Generation, note 2)
  4. Haswell/HD4600+ (Core i3/5/7 4xxx, 4th Generation)
Supported CPU/IGPU - see Mavericks: Native CPU/IGPU Power Management/Post #1
  1. Ivy Bridge/HD4000 (Core i3/5/7 3xxx, 3rd Generation)
  2. Sandy Bridge/HD3000 (Core i3/5/7 2xxx, 2nd Generation)
Native Power Management Recipe
  1. System Definition/SMBIOS: match processor generation/desktop or laptop
  2. ssdt: PluginType=1
  3. kext: native IOPlatformPlugin.kext
Not Considered
  1. HWP (hardware controlled performance)
    • Intel Speed Shift (6th generation and newer)
  2. X58/X79/X99
  3. NullCPUPowerManagement.kext
  4. Overclocking
  5. Safe Mode boot (-x)
  6. Discrete graphics
Settings: 7th & 6th Generation/5th & 4th Generation (Note 1)
Desktop:
Core i3/i5/i7
Kaby_Lake/7xxx/HD630+
Skylake/6xxx/HD530+
Broadwell/5xxx/HD6000+
Haswell/4xxx/HD4600+
Motherboard 200_Series/TBA, 100_Series/10.11 9_Series/10.10, 8_Series/10.9
BIOS Load_Optimized_Defaults
Stock_Clock
Load_Optimized_Defaults
Stock_Clock
X86PlatformPlugin/PluginType=1 5xxx/Frequency_Vectors (Note_2)
Additional Native Power Management Properties (IOReg) 9_Series/LPCB@1F (Note_3)
Clover/config.plist/SMBIOS (7xxx/6xxx/5xxx: Note_4) 7xxx/imac18, 6xxx/imac17 5xxx/imac16, 4xxx/imac15/imac14/macmin7

Installation
  1. Backup system (bootable backup; SuperDuper, CarbonCopyCloner, etc.)
    • Rescue Tool (UniBeast, etc.)
  2. Tools (see Tools, below)
    • IOReg: Download and install
    • Intel Power Gadget: Download and install
    • AppleIntelInfo.kext: Download and install
    • EFI Mounter v3: Download and install
    • Xcode: Download and install
  3. Restart
    • If KP, remove S/L/E/AppleIntelInfo.kext
    • Proceed without the kext
  4. Baseline
    • IOReg
      • File/Save a Copy As...
    • AppleIntelInfo.kext
      • Terminal/$ (Drag kext to terminal window)
        Code:
        sudo kextload AppleIntelInfo.kext
        sudo cat /tmp/AppleIntelInfo.dat
        sudo kextunload AppleIntelInfo.kext
      • Terminal/Select AppleIntelInfo.kext output
      • Terminal/Shell/Export Selected Text As ...
    • Intel Power Gadget
      • Make Screenshot
  5. Bootloader Settings
    • Mount EFI Partiton
    • Xcode/edit config.plist
    • All Systems/Clover/config.plist: Deselect any/all power management entries/selections
      • Generate C States/NO
      • Generate P States/NO
      • Generate CPU States/NO
      • DropOEM/NO
      • Drop Tables/NO
      • Plugin Type/0
      • Etc.
  6. Install XCPM ssdt
    • Remove EFI/Clover/ACPI/Patched/SSDT.aml (ssdtPRgen ssdt, if installed)
    • Download: ssdt_xcpm.zip (click link, click View Raw)
    • Install Downloads/SSDT-XCPM.aml
      • Clover: EFI/Clover/ACPI/Patched/SSDT-XCPM.aml
  7. Restart
  8. Verify
    • IOReg
      • File/Save a Copy As...
    • AppleIntelInfo.kext
      • Terminal/$ (Drag kext to terminal window)
        Code:
        sudo kextload AppleIntelInfo.kext
        sudo cat /tmp/AppleIntelInfo.dat
        sudo kextunload AppleIntelInfo.kext
      • Terminal/Select AppleIntelInfo.kext output
      • Terminal/Shell/Export Selected Text As ...
    • Intel Power Gadget
      • Make Screenshot
  9. If native power management is not working, see Problem Reporting, below
IOReg/Screenshots
  1. Haswell/Core i7-4770K/X86PlatformPlugin (note 32 CPUPStates)
  2. Haswell/HD4600/AGPMController (Note Machine/iMac14,1/IGPU)
  3. Haswell/HD4600/IGPU/AGPM (Note 0x15 hex/21 dec IGPUPStates)
AppleIntelInfo.kext
  1. Core I7-4770K
  2. Necessary for native PM/not sufficient to determine if PM is working
  3. Summary:
    Code:
    CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ]
    IGPU P-States [ 4 5 6 7 8 9 10 12 13 16 (17) 18 20 22 23 24 25 ]


    
    Note: Results will vary, minimum P-States:

    CPU: 5 P-States or less (i.e., only min and/or turbo), PM not working

    IGPU: 3 P-States or less i.e., only min or max), PM not working
  4. Details:
    Code:
    $ sudo cat /tmp/AppleIntelInfo.dat
    
    AppleIntelInfo.kext v1.4 Copyright © 2012-2015 Pike R. Alpha. All rights reserved
    
    Settings:
    ------------------------------------
    logMSRs............................: 1
    logIGPU............................: 1
    logIntelRegs.......................: 1
    logCStates.........................: 1
    logIPGStyle........................: 1
    InitialTSC.........................: 0x339162aff75
    MWAIT C-States.....................: 270624
    
    Model Specific Regiters
    ------------------------------------
    MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
    MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F3012300
    MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000005
    MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x0
    IA32_MPERF.................(0xE7)  : 0xD20CEAACE
    IA32_APERF.................(0xE8)  : 0x136AD668F5
    MSR_FLEX_RATIO.............(0x194) : 0xF0000
    MSR_IA32_PERF_STATUS.......(0x198) : 0x25A900002700
    MSR_IA32_PERF_CONTROL......(0x199) : 0x2700
    IA32_CLOCK_MODULATION......(0x19A) : 0x0
    IA32_THERM_STATUS..........(0x19C) : 0x883F0000
    IA32_MISC_ENABLES..........(0x1A0) : 0x850089
    MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001
    MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x27272727
    IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
    MSR_POWER_CTL..............(0x1FC) : 0x4005F
    MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
    MSR_PKG_POWER_LIMIT........(0x610) : 0x42FFFF001AFFFF
    MSR_PKG_ENERGY_STATUS......(0x611) : 0x45DD42D
    MSR_PKG_POWER_INFO.........(0x614) : 0x2A0
    MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x10141400001FFF
    MSR_PP0_POWER_LIMIT........(0x638) : 0x0
    MSR_PP0_ENERGY_STATUS......(0x639) : 0x14BA4E3
    MSR_PP0_POLICY.............(0x63a) : 0x0
    MSR_PP1_POWER_LIMIT........(0x640) : 0x0
    MSR_PP1_ENERGY_STATUS......(0x641) : 0xAC8BA
    MSR_PP1_POLICY.............(0x642) : 0x18
    MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x23
    MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x0
    MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x0
    MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000
    MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0
    MSR_PKGC3_IRTL.............(0x60a) : 0x0
    MSR_PKGC6_IRTL.............(0x60b) : 0x0
    MSR_PKGC7_IRTL.............(0x60c) : 0x0
    MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x2A417E3C47B
    MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
    MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
    MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
    IA32_TSC_DEADLINE..........(0x6E0) : 0x33918E10411
    PCH device.................: 0x8CC48086
    
    Intel Register Data
    ------------------------------------
    CPU_VGACNTRL...............: 0x66217510
    IS_HASWELL(devid) || IS_BROADWELL(devid)
    HSW_PWR_WELL_CTL1..........: 0x80000020
    HSW_PWR_WELL_CTL2..........: 0xfff403f0
    HSW_PWR_WELL_CTL3..........: 0xfff32db6
    HSW_PWR_WELL_CTL4..........: 0x80000020
    HSW_PWR_WELL_CTL5..........: 0xfff403f0
    HSW_PWR_WELL_CTL6..........: 0xfff33935
    PIPE_DDI_FUNC_CTL_A........: 0xfed7c7f5 (enabled, port reserved, mode reserved, bpc reserved, +VSync, +HSync, EDP A ONOFF, reserved width)
    PIPE_DDI_FUNC_CTL_B........: 0x433e79f5 (disabled, DDIE, DP MST, 12 bpc, +VSync, -HSync, EDP input reserved, reserved width)
    PIPE_DDI_FUNC_CTL_C........: 0xacf48d91 (enabled, DDIC, FDI, bpc reserved, -VSync, -HSync, EDP A ON, x1)
    PIPE_DDI_FUNC_CTL_EDP......: 0xb70ff04d (enabled, DDID, mode reserved, 8 bpc, +VSync, +HSync, EDP input reserved, reserved width)
    DP_TP_CTL_A................: 0x5ece694b
    DP_TP_CTL_B................: 0xb90a442a
    DP_TP_CTL_C................: 0x1fbda058
    DP_TP_CTL_D................: 0x2e2c9b24
    DP_TP_CTL_E................: 0x26759280
    DP_TP_STATUS_A.............: 0x475003f3
    DP_TP_STATUS_B.............: 0x23d7ddf9
    DP_TP_STATUS_C.............: 0x985d4c66
    DP_TP_STATUS_D.............: 0x042a5db9
    DP_TP_STATUS_E.............: 0xeb16b519
    DDI_BUF_CTL_A..............: 0xa7b8e90c (enabled not reversed reserved not detected)
    DDI_BUF_CTL_B..............: 0x9805d6e7 (enabled reversed x4 detected)
    DDI_BUF_CTL_C..............: 0xb4216138 (enabled reversed reserved not detected)
    DDI_BUF_CTL_D..............: 0xda5e33c0 (enabled not reversed x1 not detected)
    DDI_BUF_CTL_E..............: 0xb9c4e89c (enabled not reversed reserved not detected)
    SPLL_CTL...................: 0x2c2c2c32
    LCPLL_CTL..................: 0x037054e7
    WRPLL_CTL1.................: 0x2f330505
    WRPLL_CTL2.................: 0x04040404
    PORT_CLK_SEL_A.............: 0xfff410c8 (None)
    PORT_CLK_SEL_B.............: 0x00000745 (LCPLL 2700)
    PORT_CLK_SEL_C.............: 0x00367802 (LCPLL 2700)
    PORT_CLK_SEL_D.............: 0x00074500 (LCPLL 2700)
    PORT_CLK_SEL_E.............: 0x0f780200 (LCPLL 2700)
    PIPE_CLK_SEL_A.............: 0xffffffff (Reserved)
    PIPE_CLK_SEL_B.............: 0x003a1400 (None)
    PIPE_CLK_SEL_C.............: 0x000f0a00 (None)
    SFUSE_STRAP................: 0x3840383c (display enabled, crt no, lane reversal yes, port b yes, port c no, port d no)
    PIPEASRC...................: 0xf4a00020 (62625, 33)
    DSPACNTR...................: 0x026afc75 (disabled)
    DSPASTRIDE.................: 0x83f88bff (34595375)
    DSPASURF...................: 0x012414e8
    DSPATILEOFF................: 0x02468d01 (36097, 582)
    PIPEBSRC...................: 0x74246401 (29733, 25602)
    DSPBCNTR...................: 0x50fc458d (disabled)
    DSPBSTRIDE.................: 0x5959ffff (23422975)
    DSPBSURF...................: 0x8d0875ff
    DSPBTILEOFF................: 0x75ff50ff (20735, 30207)
    PIPECSRC...................: 0x0a73bdfd (2676, 48638)
    DSPCCNTR...................: 0x0000462b (disabled)
    DSPCSTRIDE.................: 0xf897bd83 (65167094)
    DSPCSURF...................: 0x76ff0889
    DSPCTILEOFF................: 0x004606e8 (1768, 70)
    PIPEACONF..................: 0x006af80b (disabled, inactive, if-id, rotate 270, 8bpc)
    HTOTAL_A...................: 0xeec9b38e (45967 active, 61130 total)
    HBLANK_A...................: 0x1608ea8c (60045 start, 5641 end)
    HSYNC_A....................: 0xa6f8f3d5 (62422 start, 42745 end)
    VTOTAL_A...................: 0x37273073 (12404 active, 14120 total)
    VBLANK_A...................: 0x12244020 (16417 start, 4645 end)
    VSYNC_A....................: 0x8b73122f (4656 start, 35700 end)
    VSYNCSHIFT_A...............: 0xa5bdc913
    PIPEA_DATA_M1..............: 0xad891718 (TU 87, val 0x891718 8984344)
    PIPEA_DATA_N1..............: 0xf454f43e (val 0x54f43e 5567550)
    PIPEA_LINK_M1..............: 0x1ce3f49a (val 0xe3f49a 14939290)
    PIPEA_LINK_N1..............: 0xab799efd (val 0x799efd 7970557)
    PIPEBCONF..................: 0x80850fc6 (enabled, inactive, if-id-dbl, rotate 0, invalid bpc)
    HTOTAL_B...................: 0x954cd1d8 (53721 active, 38221 total)
    HBLANK_B...................: 0xd6d7031e (799 start, 55000 end)
    HSYNC_B....................: 0x3bd9abea (44011 start, 15322 end)
    VTOTAL_B...................: 0x4939997f (39296 active, 18746 total)
    VBLANK_B...................: 0x6dd71058 (4185 start, 28120 end)
    VSYNC_B....................: 0x931ab322 (45859 start, 37659 end)
    VSYNCSHIFT_B...............: 0xbeda2ab9
    PIPEB_DATA_M1..............: 0x22c8f0f5 (TU 18, val 0xc8f0f5 13168885)
    PIPEB_DATA_N1..............: 0xf465d509 (val 0x65d509 6673673)
    PIPEB_LINK_M1..............: 0xde22ad03 (val 0x22ad03 2272515)
    PIPEB_LINK_N1..............: 0x59d1ca9f (val 0xd1ca9f 13748895)
    PIPECCONF..................: 0xb8458d50 (enabled, inactive, rsvd, rotate 180, 6bpc)
    HTOTAL_C...................: 0xfa072d99 (11674 active, 64008 total)
    HBLANK_C...................: 0xb15f92fe (37631 start, 45408 end)
    HSYNC_C....................: 0x79c10520 (1313 start, 31170 end)
    VTOTAL_C...................: 0xf7d86871 (26738 active, 63449 total)
    VBLANK_C...................: 0xefcb83af (33712 start, 61388 end)
    VSYNC_C....................: 0x8c43dfa8 (57257 start, 35908 end)
    VSYNCSHIFT_C...............: 0x0f42a731
    PIPEC_DATA_M1..............: 0x68a7c39f (TU 53, val 0xa7c39f 10994591)
    PIPEC_DATA_N1..............: 0x81112f61 (val 0x112f61 1126241)
    PIPEC_LINK_M1..............: 0x61c3f6d6 (val 0xc3f6d6 12842710)
    PIPEC_LINK_N1..............: 0x492c7076 (val 0x2c7076 2912374)
    PIPEEDPCONF................: 0x084d8b23 (disabled, inactive, rsvd, rotate 180, 10bpc)
    HTOTAL_EDP.................: 0x75c08566 (34151 active, 30145 total)
    HBLANK_EDP.................: 0x03eabe05 (48646 start, 1003 end)
    HSYNC_EDP..................: 0x016a0000 (1 start, 363 end)
    VTOTAL_EDP.................: 0x142474ff (29952 active, 5157 total)
    VBLANK_EDP.................: 0x4789e851 (59474 start, 18314 end)
    VSYNC_EDP..................: 0xb60f0000 (1 start, 46608 end)
    VSYNCSHIFT_EDP.............: 0x448bc35e
    PIPEEDP_DATA_M1............: 0x74560038 (TU 59, val 0x560038 5636152)
    PIPEEDP_DATA_N1............: 0x48b70f0c (val 0xb70f0c 11996940)
    PIPEEDP_LINK_M1............: 0x03eabe05 (val 0xeabe05 15384069)
    PIPEEDP_LINK_N1............: 0x006a0000 (val 0x6a0000 6946816)
    PFA_CTL_1..................: 0x88d40012 (enable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt enable, mode least, filter_sel hardcoded,chroma pre-filter enable, vert3tap auto, v_inter_invert field 0)
    PFA_WIN_POS................: 0x226f11ae (623, 430)
    PFA_WIN_SIZE...............: 0xecba883c (3258, 2108)
    PFB_CTL_1..................: 0xf38e916d (enable, auto_scale no, auto_scale_cal yes, v_filter bypass, vadapt disable, mode moderate, filter_sel edge_soften,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
    PFB_WIN_POS................: 0x02835914 (643, 2324)
    PFB_WIN_SIZE...............: 0x9c37dff3 (7223, 4083)
    PFC_CTL_1..................: 0x598ffe68 (disable, auto_scale no, auto_scale_cal no, v_filter bypass, vadapt enable, mode least, filter_sel edge_soften,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
    PFC_WIN_POS................: 0x2f23449e (3875, 1182)
    PFC_WIN_SIZE...............: 0x31750948 (4469, 2376)
    TRANS_HTOTAL_A.............: 0x14c483ff (33792 active, 5317 total)
    TRANS_HBLANK_A.............: 0x009f9e38 (40505 start, 160 end)
    TRANS_HSYNC_A..............: 0x2a740000 (1 start, 10869 end)
    TRANS_VTOTAL_A.............: 0x000000b8 (185 active, 1 total)
    TRANS_VBLANK_A.............: 0x30685010 (20497 start, 12393 end)
    TRANS_VSYNC_A..............: 0xe8000c40 (3137 start, 59393 end)
    TRANS_VSYNCSHIFT_A.........: 0x552e7503
    TRANSACONF.................: 0x45c624d7 (disable, active, rsvd)
    FDI_RXA_MISC...............: 0x45c6bad9 (FDI Delay 6873)
    FDI_RXA_TUSIZE1............: 0x0fc985f8
    FDI_RXA_IIR................: 0x45c641da
    FDI_RXA_IMR................: 0xff4704db
    BLC_PWM_CPU_CTL2...........: 0x3f70006e (enable 0, pipe B, blinking 1, granularity 8)
    BLC_PWM_CPU_CTL............: 0xb4d8896a (cycle 35178, freq 46296)
    BLC_PWM2_CPU_CTL2..........: 0xe6e30fd8 (enable 1, pipe EDP, blinking 0, granularity 128)
    BLC_PWM2_CPU_CTL...........: 0x2c4e008d (cycle 141, freq 11342)
    BLC_MISC_CTL...............: 0x4c26d8f1 (PWM1-CPU PWM2-PCH)
    BLC_PWM_PCH_CTL1...........: 0xe75d8884 (enable 1, override 1, inverted polarity 1)
    BLC_PWM_PCH_CTL2...........: 0xe8905d88 (freq 59536, cycle 23944)
    UTIL_PIN_CTL...............: 0xf306485d (enable 1, transcoder EDP, mode reserved, data 0 inverted polarity 0)
    PCH_PP_STATUS..............: 0xffffff10 (on, ready, sequencing unknown)
    PCH_PP_CONTROL.............: 0x8d48c483 (blacklight disabled, power down on reset, panel on)
    PCH_PP_ON_DELAYS...........: 0x47500845
    PCH_PP_OFF_DELAYS..........: 0xdce85357
    PCH_PP_DIVISOR.............: 0x8afffffe
    PIXCLK_GATE................: 0x830c7d8b
    SDEISR.....................: 0x0424448b (port d:0, port c:0, port b:1, crt:0)
    RC6_RESIDENCY_TIME.........: 0x84a0b563
    IS_GEN6(devid) || IS_GEN7(devid)
    FENCE START 0..............: 0xffffffff
    FENCE END 0................: 0xffffffff
    FENCE START 1..............: 0xffffffff
    FENCE END 1................: 0xffffffff
    FENCE START 2..............: 0xffffffff
    FENCE END 2................: 0xffffffff
    FENCE START 3..............: 0xffffffff
    FENCE END 3................: 0xffffffff
    FENCE START 4..............: 0xffffffff
    FENCE END 4................: 0xffffffff
    FENCE START 5..............: 0xffffffff
    FENCE END 5................: 0xffffffff
    FENCE START 6..............: 0xffffffff
    FENCE END 6................: 0xffffffff
    FENCE START 7..............: 0xffffffff
    FENCE END 7................: 0xffffffff
    FENCE START 8..............: 0xffffffff
    FENCE END 8................: 0xffffffff
    FENCE START 9..............: 0xffffffff
    FENCE END 9................: 0xffffffff
    FENCE START 10.............: 0xffffffff
    FENCE END 10...............: 0xffffffff
    FENCE START 11.............: 0xffffffff
    FENCE END 11...............: 0xffffffff
    FENCE START 12.............: 0xffffffff
    FENCE END 12...............: 0xffffffff
    FENCE START 13.............: 0xffffffff
    FENCE END 13...............: 0xffffffff
    FENCE START 14.............: 0xffffffff
    FENCE END 14...............: 0xffffffff
    FENCE START 15.............: 0xffffffff
    FENCE END 15...............: 0xffffffff
    FENCE START 16.............: 0xffffffff
    FENCE END 16...............: 0xffffffff
    FENCE START 17.............: 0xffffffff
    FENCE END 17...............: 0xffffffff
    FENCE START 18.............: 0xffffffff
    FENCE END 18...............: 0xffffffff
    FENCE START 19.............: 0xffffffff
    FENCE END 19...............: 0xffffffff
    FENCE START 20.............: 0xffffffff
    FENCE END 20...............: 0xffffffff
    FENCE START 20.............: 0xffffffff
    FENCE END 20...............: 0xffffffff
    FENCE START 21.............: 0xffffffff
    FENCE END 21...............: 0xffffffff
    FENCE START 22.............: 0xffffffff
    FENCE END 22...............: 0xffffffff
    FENCE START 23.............: 0xffffffff
    FENCE END 23...............: 0xffffffff
    FENCE START 24.............: 0xffffffff
    FENCE END 24...............: 0xffffffff
    FENCE START 25.............: 0xffffffff
    FENCE END 25...............: 0xffffffff
    FENCE START 26.............: 0xffffffff
    FENCE END 26...............: 0xffffffff
    FENCE START 27.............: 0xffffffff
    FENCE END 27...............: 0xffffffff
    FENCE START 28.............: 0xffffffff
    FENCE END 28...............: 0xffffffff
    FENCE START 29.............: 0xffffffff
    FENCE END 29...............: 0xffffffff
    FENCE START 30.............: 0xffffffff
    FENCE END 30...............: 0xffffffff
    FENCE START 31.............: 0xffffffff
    FENCE END 31...............: 0xffffffff
    GEN6_RP_CONTROL............: 0x00c1f704 (disabled)
    GEN6_RPNSWREQ..............: 0x800f0400
    GEN6_RP_DOWN_TIMEOUT.......: 0x0000b686
    GEN6_RP_INTERRUPT_LIMITS...: 0x8a03eb00
    GEN6_RP_UP_THRESHOLD.......: 0x88c0fe02
    GEN6_RP_UP_EI..............: 0x00000001
    GEN6_RP_DOWN_EI............: 0x8b167440
    GEN6_RP_IDLE_HYSTERSIS.....: 0x0f28b944
    GEN6_RC_STATE..............: 0x28b97c8d
    GEN6_RC_CONTROL............: 0xf475ffc0
    GEN6_RC1_WAKE_RATE_LIMIT...: 0xc1fb75ff
    GEN6_RC6_WAKE_RATE_LIMIT...: 0x07330de0
    GEN6_RC_EVALUATION_INTERVAL: 0x00bf7ce8
    GEN6_RC_IDLE_HYSTERSIS.....: 0x5037ff00
    GEN6_RC_SLEEP..............: 0xa0e1e856
    GEN6_RC1e_THRESHOLD........: 0xc4830000
    GEN6_RC6_THRESHOLD.........: 0xf445fe18
    GEN6_RC_VIDEO_FREQ.........: 0x0f003d7b
    GEN6_PMIER.................: 0x520e0302
    GEN6_PMIMR.................: 0x00731452
    GEN6_PMINTRMSK.............: 0x8be85600
    
    CPU Ratio Info:
    ------------------------------------
    CPU Low Frequency Mode.............: 800 MHz
    CPU Maximum non-Turbo Frequency....: 3500 MHz
    CPU Maximum Turbo Frequency........: 3900 MHz
    
    IGPU Info:
    ------------------------------------
    IGPU Current Frequency.............:  200 MHz
    IGPU Minimum Frequency.............:  200 MHz
    IGPU Maximum Non-Turbo Frequency...:  350 MHz
    IGPU Maximum Turbo Frequency.......: 1250 MHz
    IGPU Maximum limit.................: No Limit
    
    CPU P-States [ (35) 39 ] iGPU P-States [ (4) ]
    CPU C3-Cores [ 0 2 3 ]
    CPU C6-Cores [ 0 1 2 6 ]
    CPU C7-Cores [ 0 1 4 6 ]
    CPU P-States [ 29 (35) 39 ] iGPU P-States [ (4) ]
    CPU C3-Cores [ 0 2 3 7 ]
    CPU C6-Cores [ 0 1 2 3 4 6 ]
    CPU C7-Cores [ 0 1 2 3 4 6 ]
    CPU P-States [ 23 29 (35) 39 ] iGPU P-States [ (4) ]
    CPU C3-Cores [ 0 1 2 3 7 ]
    CPU C6-Cores [ 0 1 2 3 4 6 7 ]
    CPU C7-Cores [ 0 1 2 3 4 6 7 ]
    CPU P-States [ (8) 23 29 31 35 39 ] iGPU P-States [ (4) ]
    CPU C3-Cores [ 0 1 2 3 6 7 ]
    CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
    CPU P-States [ (8) 23 24 29 31 35 39 ] iGPU P-States [ (4) ]
    CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
    CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
    CPU P-States [ (8) 18 23 24 29 31 35 39 ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 23 24 29 31 35 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 23 24 26 29 31 35 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 18 23 24 26 27 29 31 35 37 (39) ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 23 24 25 26 27 29 31 35 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 18 23 24 25 26 27 29 31 32 35 37 (39) ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 23 24 25 26 27 29 30 31 32 35 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 18 21 23 24 25 26 27 29 30 31 32 (35) 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 18 21 23 24 25 26 27 29 30 31 32 33 35 37 (39) ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 21 23 24 25 26 27 28 29 30 31 32 33 35 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 37 (39) ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 17 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ (8) 17 18 19 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
    (4) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ (4) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 (6) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 (5) 6 ]
    CPU P-States [ (8) 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 (16) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 16 (25) ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 16 (24) 25 ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 16 (23) 24 25 ]
    CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 16 (22) 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 16 22 23 24 (25) ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 16 (19) 22 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 (15) 16 19 22 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 (14) 15 16 19 22 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 (13) 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 (11) 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 (10) 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 (9) 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ 8 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 (8) 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 (7) 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ (4) 5 6 7 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ (4) 5 6 7 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ (8) 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ (4) 5 6 7 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ 8 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ (4) 5 6 7 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
    CPU P-States [ 8 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ (4) 5 6 7 8 9 10 11 13 14 15 16 19 22 23 24 25 ]
Intel Power Gadget/Screenshot
  1. Core i7-4770K/HD4600
Tools
  1. IOReg: IORegistryExplorer_v2.1.zip (note 2, below)
  2. DPCIManager_v1.5.zip
  3. Piker-Alpha/AppleIntelInfo
  4. Intel® Power Gadget
    • Clover/Intel Power Gadget
      • Frequency scale is wrong with Clover
      • Fix, set config.plist/CPU/QPI/100
  5. Community Software/EFI Mounter v3
  6. Xcode - Apple Developer
Notes
  1. System Definition/macpro6,1: socket LGA 2011 only
  2. Broadwell/5xxx - frequency vectors required
  3. 9 Series/LPC: ssdt_lpcb-9series.zip
  4. Graphics fix required for black screen: macOS 10.12.5 Update/Post #6
Problem Reporting
  1. Description of problem
  2. OS X version/motherboard model/BIOS version/processor/graphics
  3. Procedure/Guide Used
  4. Copy of IOReg/File/Save a Copy As…, verify file (no ioreg.txt, screenshots)
  5. Copy of AppleIntelInfo/Terminal: cat /tmp/AppleIntelInfo.dat
    • Terminal/Shell/Export Text As...
  6. Copy Of Console/All Messages (last boot)
    • Console/File/Save a Copy As...
  7. Screenshot of Intel Power Gadget
  8. Clover (files only, no text pasted to Post)
    • EFI/CLOVER/config.plist
    • DPCIManager/Misc/Boot Log
    • EFI/CLOVER/ACPI/Patched/dsdt (if installed)
    • EFI/CLOVER/ACPI/Patched/ssdt (all)
Credit
Rehabman guide-native-power-management-for-laptops/Experimental technique: XCPM only and RehabMan/OS-X-Clover-Laptop-Config
PikeRAlpha Xnu CPU Power Management | Pike's Universum
and AppleIntelCPUPowerManagementInfo.kext | Pike's Universum


I'm afraid I'm not understanding the instructions at all. Do I just need to replace my SSDT in the patched folder with your new one? It seems like there's a lot of instructions but doesn't actually say to do much.

At the bottom, you mention that the frequency scale is wrong with clover, can you clarify that?

You say to set plugintype=0, but in the opening you say to set it to 1. Which is it?

The are the readings from the intel power tool chart you shared before or after PM? they seem really really high.
 
For installation, in a nutshell, remove any PM SSDT you already have (like from PikerAlpha's script) and drop in the SSDT for XCPM and disable any plugin-type you have defined in Clover's configuration (the SSDT takes care of adding plugin-type=1 so it should be removed from Clover to avoid conflicts).

The rest of the instructions are for gathering before and after data to compare afterwards and verify the changes took place.
 
seems like there's a lot of instructions but doesn't actually say to do much.
What is not clear?
Post #1:
6. Install XCPM ssdt
  • Remove EFI/Clover/ACPI/Patched/SSDT.aml (ssdtPRgen ssdt, if installed)
  • Download: ssdt_xcpm.zip (click link, click View Raw)
  • Install Downloads/SSDT-XCPM.aml
    • Clover: EFI/Clover/ACPI/Patched/SSDT-XCPM.aml

mention that the frequency scale is wrong with clover, can you clarify that?
For users that see an incorrect frequency range, the fix is noted

You say to set plugintype=0, but in the opening you say to set it to 1. Which is it?
macOS/XCPM: plugintype=1 is required. The guide disables the Clover setting and injects the property with the attached ssdt.

are the readings from the intel power tool chart you shared before or after PM? they seem really really high.
Look closely, note when Cinebench/GPU starts and when it ends and when Cinebench/CPU starts. Benchmarking, by design, stresses the CPU and/or GPU. I don't run benchmark tools without native PM enabled.
 
Hi I think I'm having not good results with ssdt, with Logic Pro X opened, no tasks runnings, the cpu freq keep maxed out at turbo freq, and I have turbo disabled in bios. with transmission, safari and other apps, the cpu freq going up a lot.
The cpu is set to 4ghz in bios, with turbo disabled (4.4 ghz). I'm getting a lot of kp since Sierra, I'm not using Xcode, only clover configurator and plist edit pro for editing. If I boot with unibeast usb (just ethernet loaded), i'm getting nice pm states... also logic x and other apps, and everything about pm looks good, maybe config file get corrupted?

ioreg and clover zipped + some screenshots attached
Thanks!
 

Attachments

  • Archivio.zip
    1.8 MB · Views: 80
  • idle.jpg
    idle.jpg
    27.3 KB · Views: 159
  • logic pro X.jpg
    logic pro X.jpg
    23.3 KB · Views: 160
  • transmission.jpg
    transmission.jpg
    27.5 KB · Views: 157
Back
Top