OS X 10.11.1 Build 15B38b adds Skylake support

Apple seeded a fourth Beta (OS X 10.11.1) to Developers and Public Beta tester, and this update (Build 15B38b) adds support for Intel Skylake processors. Here are the used board-id/model combinations that you may find interesting:

board-id: Mac-65CE76090165799A – Model: iMac17,1 (Retina 5K, 27-inch, Late 2015) / Core i7 4.0GHz

board-id: Mac-B809C3757DA9BB8D – Model: iMac17,1 (Retina 5K, 27-inch, Late 2015) / Core i5 3.3GHz

board-id: Mac-DB15BD556843C820 – Model: iMac17,1 (Retina 5K, 27-inch, Late 2015) / Core i5 3.2GHz

Edit: iMac16,x model/board-id’s removed (Broadwell models).

Kernel support for Skylake is checked like so:

ffffff80003c477c	cmpl	$0x5e, %eax
ffffff80003c477f	jne	0xffffff80003c47b1
ffffff80003c4781	jmp	0xffffff80003c47a0
../..
ffffff80003c479b	cmpl	$0x4e, %eax
ffffff80003c479e	jne	0xffffff80003c47b1
ffffff80003c47a0	movl	$0x37fc219f, %ebx       ## imm = 0x37FC219F	// CPUFAMILY_INTEL_SKYLAKE

The previously missing power management files are now also there:

/S*/L*/E*/IOPlatformPluginFamily.kext/C*/P*/X86PlatformPlugin.kext/C*/Resources

Edit: Apple apparently started to use _CSS and _PSS instead of the previously used Apple specific ACSS and APSS. About time.

More importantly. There are new kexts added for graphics support:

AppleIntelSKLGraphics.kext
AppleIntelSKLGraphicsFramebuffer.kext
AppleIntelSKLGraphicsGLDriver.bundle
AppleIntelSKLGraphicsMTLDriver.bundle
AppleIntelSKLGraphicsVADriver.bundle
AppleIntelSKLGraphicsVAME.bundle

Intel10SeriesAHCI support has also been added:

Intel10SeriesAHCI

And here are some interesting snippets that I added to RevoBoot:

	#elif (TARGET_MODEL == IMAC_162)
		// Intel Core i5-5575R @ 2.8 GHz & Intel Core i5-5675R @ 3.1 GHz
		// Intel Iris Pro Graphics 6200
		// (21.5inch Late 2015)
		#define SMB_BIOS_VERSION	"IM162.88Z.0206.B00.1508281353"
		#define SMB_PRODUCT_NAME	"iMac16,2"
		#define SMB_BOARD_PRODUCT	"Mac-FFE5EF870D7BA81A"
		#define EFI_MODEL_NAME		{ 'i', 'M', 'a', 'c', '1', '6', ',', '2' }
	#elif (TARGET_MODEL == IMAC_171)
		// Intel Core i5-6500 @ 3.2 GHz
		// AMD Radeon R9 M390
		// (Retina 5k, 27inch Late 2015)
		#define SMB_BIOS_VERSION	"IM171.88Z.0105.B00.1509221819"
		#define SMB_PRODUCT_NAME	"iMac17,1"
		#define SMB_BOARD_PRODUCT	"Mac-DB15BD556843C820"
		#define EFI_MODEL_NAME		{ 'i', 'M', 'a', 'c', '1', '7', ',', '1' }
	#else
		// Intel Core i5-6600 @ 3.3 GHz
		// AMD Radeon R9 M395
		// (Retina 5k, 27inch Late 2015)
		#define SMB_BIOS_VERSION	"IM171.88Z.0105.B00.1509221819"
		#define SMB_PRODUCT_NAME	"iMac17,1"
		#define SMB_BOARD_PRODUCT	"Mac-B809C3757DA9BB8D"
		#define EFI_MODEL_NAME		{ 'i', 'M', 'a', 'c', '1', '7', ',', '1' }

Yesterday I added two new models to my blog article about Apple Serial Numbers Ending With G000-GZZZ and today Apple published a lot more so now we have 24 new iMac models listed:

GF1J – iMac (21.5-inch, Late 2015)
GF1K – iMac (21.5-inch, Late 2015)
GF1L – iMac (21.5-inch, Late 2015)
GF1M – iMac (21.5-inch, Late 2015)
GG77 – iMac (21.5-inch, Late 2015)
GG7D – iMac (21.5-inch, Late 2015)
GG7G – iMac (21.5-inch, Late 2015)
GG79 – iMac (21.5-inch, Late 2015)

GG7C – iMac (Retina 4K, 21.5-inch, Late 2015)
GG7F – iMac (Retina 4K, 21.5-inch, Late 2015)
GG7H – iMac (Retina 4K, 21.5-inch, Late 2015)
GG78 – iMac (Retina 4K, 21.5-inch, Late 2015)

GG7J – iMac (Retina 5K, 27-inch, Late 2015)
GG7R – iMac (Retina 5K, 27-inch, Late 2015)
GG7N – iMac (Retina 5K, 27-inch, Late 2015)
GG7Q – iMac (Retina 5K, 27-inch, Late 2015)
GG7L – iMac (Retina 5K, 27-inch, Late 2015)
GG7T – iMac (Retina 5K, 27-inch, Late 2015)
GG7V – iMac (Retina 5K, 27-inch, Late 2015)
GG80 – iMac (Retina 5K, 27-inch, Late 2015)
GG81 – iMac (Retina 5K, 27-inch, Late 2015)
GG82 – iMac (Retina 5K, 27-inch, Late 2015)
GQ17 – iMac (Retina 5K, 27-inch, Late 2015)
GQ18 – iMac (Retina 5K, 27-inch, Late 2015)

Note: The Intel i5 (1,6HGz, 2.8GHz and 3.1GHz) are Broadwell based.

Now you have (almost) everything to setup your Intel Skylake based Hackintosh 😉

Update I renamed AppleIntelFramebufferAzul.sh to AppleIntelGraphicsFramebuffer.sh and added support for the Intel Skylake processor graphics – new version soon the be released – and here is some of the output.

AppleIntelGraphicsFramebuffer.sh v3.1 Copyright (c) 2012-2015 by Pike R. Alpha
————————————————————————–
The supported platformIDs are:

[ 1] : 0x191e0000 – Skylake ULX GT2
[ 2] : 0x19160000 – Skylake ULT GT2
[ 3] : 0x19260000 – Skylake ULT GT3
[ 4] : 0x191b0000 – Skylake HALO GT2
[ 5] : 0x19120000 – Skylake Desktop GT2
[ 6] : 0x19020001 – Skylake Desktop GT1 (currently inactive)
[ 7] : 0x19170001 – Skylake Desktop GT1.5 (currently inactive)
[ 8] : 0x19120001 – Skylake Desktop GT2 (currently inactive)
[ 9] : 0x19320001 – Skylake Desktop GT4 (currently inactive)
[10] : 0x19160002 – Skylake ULT GT2
[11] : 0x19260002 – Skylake ULT GT3
[12] : 0x191e0003 – Skylake ULX GT2

Please choose a target platform-id (Exit/1-12)

Note: Think ‘AAPL,ig-platform-id’ values!

AppleIntelGraphicsFramebuffer.sh v3.1 Copyright (c) 2012-2015 by Pike R. Alpha
——————————————————————————

    0x191e0000) FACTORY_PLATFORM_INFO="0:
                0000 1e19 0103 0303 0000 0004 0000 2002
                0000 5001 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                300e 0000 0105 0900 0004 0000 0705 0000
                0204 0a00 0004 0000 0705 0000 ff00 0000
                0100 0000 4000 0000 0601 0000 0000 0800
                0200 0000 0400 0000 80df 1710 0000 0000
                7805 0000 d205 0000 4006 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19160000) FACTORY_PLATFORM_INFO="0:
                0000 1619 0103 0303 0000 0004 0000 2002
                0000 5001 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                300e 0000 0105 0900 0004 0000 0705 0000
                0204 0a00 0004 0000 0705 0000 ff00 0000
                0100 0000 4000 0000 0601 0000 0000 0800
                0200 0000 0400 0000 80df 1710 0000 0000
                7805 0000 d205 0000 4006 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19260000) FACTORY_PLATFORM_INFO="0:
                0000 2619 0103 0303 0000 0004 0000 2002
                0000 5001 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                300e 0000 0105 0900 0004 0000 0705 0000
                0204 0a00 0004 0000 0705 0000 ff00 0000
                0100 0000 4000 0000 0601 0000 0000 0800
                0200 0000 0400 0000 80df 1710 0000 0000
                7805 0000 d205 0000 4006 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x191b0000) FACTORY_PLATFORM_INFO="0:
                0000 1b19 0103 0303 0000 0004 0000 2002
                0000 5001 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                300e 0000 0105 0900 0004 0000 0705 0000
                0204 0a00 0004 0000 0705 0000 ff00 0000
                0100 0000 4000 0000 0601 0000 0000 0800
                0200 0000 0400 0000 80df 1710 0000 0000
                7805 0000 d205 0000 4006 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19120000) FACTORY_PLATFORM_INFO="0:
                0000 1219 0103 0303 0000 0004 0000 2002
                0000 5001 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 ff00 0000 0100 0000
                4000 0000 0105 0900 0004 0000 0705 0000
                0204 0a00 0004 0000 0705 0000 0306 0a00
                0004 0000 0705 0000 0601 0000 0000 0800
                0200 0000 0400 0000 80df 1710 0000 0000
                7805 0000 d205 0000 4006 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19020001) FACTORY_PLATFORM_INFO="0:
                0100 0219 0000 0000 0000 0004 0000 0000
                0000 0000 0000 0060 0000 0000 0000 0000
                0000 0000 0000 0000 ff00 0000 0100 0000
                4000 0000 ff00 0000 0100 0000 4000 0000
                ff00 0000 0100 0000 4000 0000 ff00 0000
                0100 0000 4000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19170001) FACTORY_PLATFORM_INFO="0:
                0100 1719 0000 0000 0000 0004 0000 0000
                0000 0000 0000 0060 0000 0000 0000 0000
                0000 0000 0000 0000 ff00 0000 0100 0000
                4000 0000 ff00 0000 0100 0000 4000 0000
                ff00 0000 0100 0000 4000 0000 ff00 0000
                0100 0000 4000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19120001) FACTORY_PLATFORM_INFO="0:
                0100 1219 0000 0000 0000 0004 0000 0000
                0000 0000 0000 0060 0000 0000 0000 0000
                0000 0000 0000 0000 ff00 0000 0100 0000
                4000 0000 ff00 0000 0100 0000 4000 0000
                ff00 0000 0100 0000 4000 0000 ff00 0000
                0100 0000 4000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19320001) FACTORY_PLATFORM_INFO="0:
                0100 3219 0000 0000 0000 0004 0000 0000
                0000 0000 0000 0060 0000 0000 0000 0000
                0000 0000 0000 0000 ff00 0000 0100 0000
                4000 0000 ff00 0000 0100 0000 4000 0000
                ff00 0000 0100 0000 4000 0000 ff00 0000
                0100 0000 4000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19160002) FACTORY_PLATFORM_INFO="0:
                0200 1619 0103 0303 0000 0004 0000 2002
                0000 0000 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                3002 0000 0105 0900 0004 0000 0701 0000
                0204 0a00 0004 0000 0701 0000 ff00 0000
                0100 0000 4000 0000 0203 0000 0505 0500
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x19260002) FACTORY_PLATFORM_INFO="0:
                0200 2619 0103 0303 0000 0004 0000 2002
                0000 0000 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                3002 0000 0105 0900 0004 0000 0701 0000
                0204 0a00 0004 0000 0701 0000 ff00 0000
                0100 0000 4000 0000 0203 0000 0505 0500
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

    0x191e0003) FACTORY_PLATFORM_INFO="0:
                0300 1e19 0102 0202 0000 0004 0000 2002
                0000 0000 0000 0060 6c05 0000 6c05 0000
                0000 0000 0000 0000 0000 0800 0200 0000
                3002 0000 0105 0900 0004 0000 0110 0000
                ff00 0000 0100 0000 4000 0000 ff00 0000
                0100 0000 4000 0000 0200 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000 0000 0000 0000 0000
                0000 0000 0000 0000    
                ;;

Edit: The IOPCIPrimaryMatch list in AppleIntelSKLGraphicsFramebuffer.kext/C*/Info.plist does not include 0x191b.

Edit-2: The following frame buffer data is currently still inactive:

0x19020001 – Skylake Desktop GT1
0x19170001 – Skylake Desktop GT1.5
0x19120001 – Skylake Desktop GT2 (duplicated/used twice)
0x19320001 – Skylake Desktop GT4

None of these will work so there is no point of using them. Also note that 0x19120001 is used twice and I changed the second one into 0x19120003 and used it during my test runs, but whatever I did, my monitor always showed up on port 6. I can change the port number, and all the rest of the values, but I can’t seem to change the third port without breaking stuff. Pretty weird.

15 thoughts on “OS X 10.11.1 Build 15B38b adds Skylake support

  1. hey Pike, any chance of you uploading the power management kexts to support skylake for me/others ? I intend to have it installed on my i7-6700k but have no mac around (I’ll have these files replace the one from 10.11 usb installer and that should allow installation)

  2. @magnifico1966, my system is like: i7-6700k, Asus Z170 Pro Gaming, Asus GTX 970 OC Strix (I will hackintosh this baby at the end of the week – no time until then, working too much)

  3. Hi Piker, i’m trying to boot El Capitan on my Z170A+6600k i5 and it shows “waiting for root device”… What you think i need to do in order to get it working?

    thanks in advance man.

      • It’s when i try to boot it to the installation process, someone from another forum said that i need :

        a. PCI to USB 2.0 (keyboard, mouse and USB installer are plugged in to this)
        b. PCIe to Sata 3 (Your System harddrive must be plugged in to this)

        What you think of this? is there another way to do it? Faking ID the sata/USB 2.0 ports?

      • Alright man, let me know anything about it, if there a possible solution besides the PCI adapters… I would apreciatte it man.

      • Nope. Sorry. Hey. If someone would carry some of the load of my shoulders… then I would have some time to document my findings, but that is not going to happen so… hang in.

  4. Pingback: AppleIntelSKLGraphicsFramebuffer.kext is not for Skylake | Pike's Universum

Leave a comment