How to enable 'Kaby Lake' Intel 6xx Graphics (10.12.6+)

Discussion in 'Graphics' started by tonymacx86, Jun 20, 2017.

  1. tonymacx86

    tonymacx86 Administrator Staff Member

    Joined:
    Nov 18, 2009
    Messages:
    8,392
    Mobo:
    GA-Z270X-UD5
    CPU:
    Core i3-7100
    Graphics:
    HD 630
    Mac:
    MacBook Pro, Mac mini
    Classic Mac:
    Apple, PowerBook
    Mobile Phone:
    iOS
    Jun 20, 2017 at 5:22 PM #1
    tonymacx86

    tonymacx86 Administrator Staff Member

    Joined:
    Nov 18, 2009
    Messages:
    8,392
    Mobo:
    GA-Z270X-UD5
    CPU:
    Core i3-7100
    Graphics:
    HD 630
    Mac:
    MacBook Pro, Mac mini
    Classic Mac:
    Apple, PowerBook
    Mobile Phone:
    iOS
    Screen Shot 2017-07-19 at 5.51.23 PM.png

    Native Kaby Lake graphics drivers for Kaby Lake HD 630 are now available in 10.12.6. In order to enable native KBL graphics, the following changes are necessary.

    Intel HD 6xx


    For desktop systems with Intel HD 6xx graphics. Fix for most Intel HD 6xx graphics port layouts on 200 Series motherboards. Installs Lilu.kext and IntelGraphicsFixup.kext in /Library/Extensions. Adds the following to Volumes/EFI/EFI/CLOVER/config.plist: ig-platform-id=0x59120000.

    https://github.com/vit9696/Lilu/releases
    https://sourceforge.net/projects/intelgraphicsfixup/
     
    Enderal, mojammel, zyz and 1 other person like this.
    Last edited: Jul 19, 2017
  2. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jun 20, 2017 at 6:59 PM #2
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    I think Y-tiling is turned on via the driver's Info.plist, so GfxYTile is probably not needed. That's probably why it is not needed anymore on 10.12.5. But, since it is already turned on by default, it probably does nothing if injected. And... I think Clover may be automatically injecting it for config.plist/Graphics/Inject/Intel=true anyway.

    Clover will inject a fake device-id automatically if you don't specify config.plist/Devices/FakeID/IntelGFX=native-value (eg. 0x59128086). That might change, but it would need to be conditional within Clover code (depending on version of macOS boot target), and I'm not sure if that work will actually be done.

    As I wrote here: http://www.insanelymac.com/forum/topic/324194-pre-release-macos-high-sierra/page-48#entry2447474
    .. you might need -disablegfxfirmware kernel flag
    (I needed it with the ASUS Z270-AR + i7-7700k setup here...)

    I wrote about what a typical setup might look like:
    http://www.insanelymac.com/forum/topic/324194-pre-release-macos-high-sierra/page-48#entry2447504

    One thing nice about 0x59120000 for desktop use is that the LVDS connector present in 0x19120000 was left out, such that the 0306 connector is active, therefore no need for the "4 displays" patch (or connector re-arrange) that was needed with Skylake 0x19120000.

    And, of course, sleep is still broken, which makes a compatible graphics card almost compulsory.

    At least that's how it stands in the 10.13.dp1. I suspect 10.12.6 (and the special 10.12.5 build) is the same...
     
    pastrychef and tonymacx86 like this.
    Last edited: Aug 22, 2017
  3. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jun 21, 2017 at 8:45 PM #3
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Update... did some testing with latest 10.12.6 beta.

    Kernel flag -disablegfxfirmware not needed with KBL drivers on 10.12.6. It appears this is a change that is, so far, specific to 10.13. You can use -disablegfxfirmware to prevent 10.12.6 from attempting a firmware load (and some of the resulting logs), but the behavior of failing firmware load is different 10.12.6 vs. 10.13 (10.13 has what seems to be an endless retry effort).

    On 10.12.6, you need to set config.plist/Devices/FakeID/IntelGFX=native-device-id... Because otherwise (even with IntelGFX=0), Clover will inject the SKL device-id, which of course won't work with your KBL ig-platform-id. So, I set config.plist/Devices/FakeID/IntelGFX=0x59128086.

    Framebuffer connectors on ig-platform-id 0x59120000 in KBL framebuffer kext are as I expected (0105, 0204, 0306)... same as 10.13.dp1.
     
    josselinrsa likes this.
  4. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Jul 8, 2017 at 11:36 PM #4
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Kaby Lake MEI (HECI) device_id?
    Native AppleIntelMEIDriver support?
    If no, compatible device_id?
     
  5. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jul 9, 2017 at 2:23 PM #5
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    I haven't noticed any issue with Kaby Lake IMEI support.
    HECI->IMEI rename should be considered as a requirement.
     
  6. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Jul 10, 2017 at 12:59 AM #6
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Confirm HD630/Desktop/HECI/Device_id: 0xba2a
    Confirm HD530/Desktop/HECI/Compatible/Device_id: 0x3a1c is no longer necessary
     
  7. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jul 10, 2017 at 1:28 AM #7
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    It will be a while before I can confirm/check anything with any of the three Kaby Lake systems I have here.
    (busy working on other things, and going away for a few days...)
    What, specifically, do you want checked?

    Note: I always rename HECI->IMEI. I haven't done any tests without the rename, as it is well known that the Intel MEI device must be named 'IMEI'...
     
    zyz likes this.
  8. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Jul 10, 2017 at 1:38 AM #8
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    21,175
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    At your convenience, thanks.
     
  9. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jul 18, 2017 at 2:53 AM #9
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    In latest 10.12.6 beta, cannot boot without using SKL spoof (SKL spoof still works, IMEI driver still loads). Using native KBL (device-id 0x5912, ig-platform-id 0x59120000) results in hang when it should switch to using the gfx drivers. It is as if Lilu.kext + IntelGraphicsFixup.kext not working (gIOConsoleUsers hang). I will check that I have latest Lilu.kext + IntelGraphicsFixup.kext on my 10.12.6 install, as I do on my 10.13 beta install.

    10.12.6 beta using Nvidia 1050 Ti (IGPU disabled, build identifier in Info.plist for NVDAStartupWeb.kext modified to match 10.12.6 beta), results in AppleIntelMEIDriver not loading. Not surprising given it is the IGPU drivers that load it.

    In latest 10.13 beta, Intel HD630 still working... AppleIntelMEIDriver loads fine against IMEI 0xba2a.

    In 10.12.5... SKL spoofing, AppleIntelMEIDriver loads fine against IMEI 0xba2a, no spoofing for IMEI required.
     
  10. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Jul 18, 2017 at 3:21 AM #10
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    164,677
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    10.12.6 latest beta now working native KBL with updated Lilu.kext + IntelGraphicsFixup.kext.
    Results regarding IMEI are same as 10.13 beta (native KBL)/10.12.5 (SKL spoof).

    Note: SKL/KBL HD530/HD520/HD620/HD630 sleep still broken, so compatible graphics card still required.

    Good config for Nvidia+Intel:
    - Nvidia primary
    - IGPU only enabled for compute/QuickSync (not tested)
    - ig-platform-id 0x59120003 (no connectors)

    In that scenario, AppleIntelMEIDriver loads against native IMEI (as expected)... sleep still working.
     
    josselinrsa likes this.
    Last edited: Jul 18, 2017

Share This Page