AppleIntelInfo.kext v2.4

The last time I blogged about an update of AppleIntelInfo.kext was on 14 September 2016 but I haven’t been sitting still and thus you most likely missed a lot of updates. Time for a new blog post. This time we’re at AppleIntelInfo.kext v2.4 and this version is much better. Sorry for all the delays, folks, but such is life.

Anyway. I have compiled it on OS X 10.9.5 with Xcode 6. This to verify that it works with older versions of OS X. And it works fine here with a Intel i5-2500K and Intel i7-2600K on two different motherboards. In short. The long standing bug – Sandy Bridge incompatibility – should now be fixed. At last.

I also compiled it on macOS Sierra 10.12.4 (build 16E163f) with Xcode Version 8.2.1 (8C1002) and there all is fine as well with the Intel i7-6700.

Please note that there may still be incompatibility issues with older processors. In case you do run into a crash, after you have tried to load the kext from a terminal prompt, then start looking for unsupported MSR’s. The easiest thing is to set REPORT_MSRS to 0 (zero) and subsequent MSR routines to locate the spot that is causing you trouble. After that Github issues is your best hope for help.

I hope that you enjoy this update 😉

Update: I made a mistake. Forgot to copy two new lines. Fixed with my latest commit. Thanks to telepati for spotting the error.

Note: AppleIntelInfo.kext was originally developer for Sandy Bridge – and later – processors, so it won’t work on older models, but I have since added a lot new processor checks to stop it from crashing on pre-Sandy Bridge processors. We might not be there, yet, but things are looking much brighter already.


18 thoughts on “AppleIntelInfo.kext v2.4

  1. Hi, i’m looking to get AppleIntelInfo.kext, but from where? i can’t find it.

    I’ve tried so many ways to get my powermanagment working. unfortunately until now without positive results. Intel Power Gadget keeps on not showing me the right power line. It stays fixed about 0,60W.

    ASUS ROG Strix x99 Gaming
    Crucial Ballistix Elite DDR4-3000Mhz

    Actually my System boots without any SSDT.aml, DSDT.aml, nullCPUPowerManagement and deleted AppleIntelCPUPowerManagement.kext, AppleIntelCPUPowerManagementClient.kext.

    Hope you can help me out.

  2. hi Piker, im thinking of building a new pc and would like to ask you what cpu you would recommend to buy today that have all these pm, speedstep and other functions working great if not oob in os 10.11 and 10.12 and future osx. Thanks in advance and for all your hard work man.

    • Thank you. You’re welcome.

      Now. About what to buy. This sort of questions are the things that I usually try to avoid, because what I do with my hack is very limited. For example. I do not use my hack for anything but to hack macOS Sierra. I don’t do work related tasks nor do I play games on it. For work I only use a Mac. For gaming the PS4. In short. What I use it for is most likely not what you need your hack for.

      The most simple path to follow is to go for a Skylake processor. Kabylake on the other hand still requires a few tweaks. Like patching files (kernel and drivers) or using Clovers FakeID features for the processor and IGPU. So if you don’t mind patching stuff, then go for a Kabylake processor.

      Choice is a personal thing, and may depend on how much money you have to spent, but for normal use the i5-7600 and i7-7700 are fine. In case you plan to overclock the processor, then the K variants may be you best pick. As for motherboards. Same story. What do you want, but for most people the Z170 boards are still king.

      Have fun with your new hack!

  3. Hi Pike, I’m trying to squeeze the last milliwatt from my build.
    What can be the issue? I get incomplete C7 residency.
    After long time in idle nothing changes.

    CPU C3-Cores [ 0 1 2 3 ]
    CPU C6-Cores [ 0 1 2 3 ]
    CPU C7-Cores [ 2 3 ]
    CPU P-States [ 4 5 6 7 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 ] iGPU P-States [ 18 21 24 27 30 ]

    System is:
    i7-7500U (XPS13 9360)
    HWP enabled by plugin-type SSDT injection and frequencyvectors plist edit
    NVME unit running vanilla storage drivers and deep-idle property injected
    System deep-idle enabled by your ACPI patches

    If it can help I can send you a full kext log or other logs as needed.
    Thank you so much.

      • Same results with all deep-idle patches disabled.
        This laptop seems to scale CPU and GPU frequencies very well even without SSDT-pr gen injected. If I remove everything, and for “everything” I mean “Everything” related to power management (plugin-type injection, clover C-P states injection, deep-idle patches), I still get almost the same output, with the exception of HWP being supported but not enabled, and a slightly major tendency to jump to higher power states when doing light computations (this may be simply due to a conservative EPP of 128).

        ## Output with HWP:

        CPU C3-Cores [ 0 1 2 3 ]
        CPU C6-Cores [ 0 1 2 3 ]
        CPU C7-Cores [ 2 3 ]
        CPU P-States [ 4 5 6 7 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 ]
        iGPU P-States [ 18 21 24 27 30 ]

        ## Output with NOTHING at all:

        CPU C3-Cores [ 0 1 2 3 ]
        CPU C6-Cores [ 0 1 2 3 ]
        CPU C7-Cores [ 2 3 ]
        CPU P-States [ 4 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 ]
        iGPU P-States [ 18 21 24 27 30 ]

        The fun thing is that battery life in MacOS seems almost identical with everything untouched and with HWP enabled: 10 hours of usage.
        On Windows I can go above 15, and I notice that the cores have a 90% residency in the C8 state.

        Thank you for your time.

      • In that case I would check the values of all HWP/HDC and C-state related MSR’s in Windows.

        You may not have noticed it, but I did update the source code of AppleIntelInfo.kext for you 😉

      • So fast, thank you so much.
        I made a quick’n’dirty diff of logs.
        Left: HWP
        Right: 100% original SSDTs.
        No C-7/C-8+ residency in any case.
        What can you tell me from this diff?
        From what I see, package residencies are greatly different. Are these hardcoded (=target) values or statistical?

        Don’t look too closely at P-states, I didn’t run it for long time so they are incomplete.

        (I’ll reply with a log from Windows asap).

      • Here’s what I see in Windows with HWP (aka Intel SST) DISABLED. A lot of C8/C10 residency!
        I found out that Intel power Gadget for Windows offers a DLL API to query all the processor data / MSR. I’ll try to get something out of that. Meanwhile, any idea?

  4. Definitely not the correct place for this but as close as I would probably get. You are far and away the biggest expert I can find on the subject so would you know why on the 2017 Macbook Pro 15″(specifically the i7-7920HQ) HWP is disabled. Upgrading from a 2016 I expected better performance but in reality with SST disabled and the clock locked at 3.1 with 4 cores it is doing considerably worse. I’ve tried force enabling with Throttlestop but still nothing. Any ideas?

    • That should be a MacBookPro14,3 with board-id Mac-551B86E5744E2388 so then these are the power management settings:

      Max Turbo Boost: 4100 MHZ (FrequencyVectors @ 2) Converted to: /tmp/Mac-551B86E5744E2388-4100.bin (7668 bytes)
      Settings: Low Frequency Mode: 1300 MHz
      	  hard-rt-ns (4000000), ubpc (1), off (0), on (0), hwp (1), epp (128), perf-bias (5), utility-tlvl (53), non-focal-tlvl (250)
      	  iocs_engage (20000000), iocs_disengage (15000000), iocs_cstflr (8), iocs_rtrigger (10)
      	  ratioratelimit (3000000), io_epp_boost (32)

      What hwp (1) does is that it enables the HardWare-controlled Performance states, by setting the enable bit in MSR(770), so there are no software controlled P-States anymore. From now on it works with OS supplied hints. Like epp (128). This setting is a hint to the HWP hardware. It is a scale from 0 to 255, where zero (0) means maximum performance, and 255 (0xff) the maximum energy efficiency (Apple is using the default value of 128/0x80).

      Changing it will change the performance/maximum energy efficiency ratio at the expense of the battery life. Using zero (0) there will make your MacBook Pro snappier, but probably also quite a bit hotter.

      What you could try is to disable SIP and change the epp value in Mac-551B86E5744E2388.plist but make sure to backup that file first!

      A (signed) kext to control the OS hints (write to the HWP MSR’s) is another alternative. The preferred way IMHO, but if you want this, please keep in mind that it may void your warranty!

      • Went through and verified, it’s all good on the MacOS side but on Windows I cannot for the life of me get SST to turn green and observe the clock speed pass 3.1 without manually adjusting it. Any recommendations, 2016 was automatic, 2017 not so much.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s