Intel HD4600 with full resolution

Both AppleIntelHD5000Graphics.kext (IntelAccelerator) and AppleIntelFramebufferAzul.kext are loaded and I have full resolution (1920 x 1200) with the HD 4600 (device-id 0x0412) with AAPL,ig-platform-id set to 0x0c260000. Here’s a first screenshot.


It is identified as Intel Iris Pro (GT3) and thus we have to patch AppleIntelFramebufferAzul.kext to make it recognise the HD 4600 natively. This is of course a good start but I need food first 😉

Note: Core Image (CI) works – Chess and the screensaver examples are ok – but Quartz Extreme not since the menu bar is not transparent. The checkbox for the “Translucent menu bar” is thus also missing from the: Desktop & Screen Save / Desktop preference panel.

Update by Jeroen: QE/CI is working with OS X 10.9 Mavericks DP2. All we need for RevoBoot is this XML snippet:

<!--?xml version="1.0" encoding="UTF-8"?-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

Which we convert with help of gfxutil (part of EFIStudio) like so:

./gfxutil -i xml -o bin /Extra/EFI/MacBookAir62.xml /Extra/EFI/MacBookAir62.bin

Now check: RevoBoot/i386/config/SETTINGS/MacBookAir62.h


Make sure you have configured the settings correctly. After this you re-compile RevoBoot and copy the boot loader to the root directory (/) of your boot drive and then you reboot.

Or, as an alternative, you add a _DSM method in the scope of Device (IGPU) in your DSDT/SSDT like so:

Method (_DSM, 4, NotSerialized)
    If (LEqual (Arg2, Zero))
        Return (Buffer (One) { 0x03 })

    Return (Package (0x04)
         Buffer (0x04) { 0x00, 0x00, 0x16, 0x0a },
         Buffer (0x04) { 0x00, 0x00, 0x16, 0x0a }

Small, clean and no DTGP method required. Please note that there can only be one _DSM method per device and thus if your DSDT or any of the SSDT tables has a _DSM method under Device IGPU then you must modify that one accordantly.

TIP: If QE/CI isn’t working for you, then make sure to check the core count in the UEFI BIOS settings, or use my AppleIntelInfo.kext to be certain that MSR 0x35 reports the correct value. This MSR is important, because here the value of four (4) was reset to three (3) due to a UEFI BIOS bug (fixed in the next UEFI BIOS updates) and then the check in the AppleIntelHD5000Graphics.kext binary (for 4 or 2 cores) simply disables QE/CI!

Note: gfxutil is a command line utility, part of EFIStudio, and download links can be found with Google.

24 thoughts on “Intel HD4600 with full resolution

    • I had this working already, from day two with the Gigabyte board that I am testing right now, but I never shared the info. Thought about sharing it earlier, but never did, until now. Now people won’t have to pull their hair out out of curiosity. Wondering if the Intel HD4600 is supported or not, but it says HD5000 now. Whatever.

  1. Pingback: Reports on HD 4600

  2. Pingback: Configuring RevoBoot to work with Intel HD4600

    • You already have the kext(s) after installing OS X 10.9 Mavericks. Not that I ever share files from Apple but anyway.

      You can compile RevoBoot for OS X 10.9 Mavericks with (MacBookAir6,2 example):

      make clean
      make MODEL=MacBookAir62 mavericks

      Our (outdated) WiKi can be found here:

      Sorry, no intention to update it. Not anytime soon. I have other more important stuff on my mind right now.

      Hope this helps 😉

      • It really helps 🙂 Thanks!
        But do I need to run “make install” or “install” after those commands? or it is installing automatically?
        Do I need to copy the RevoBoot to the root of the hard drive, or it the installation does it by itself?

  3. “make clean”
    “make MODEL=MacBookAir62 mavericks”

    These are the commands you type. After finished you will find a new file folder inside RevoBoot folder called “SYM” if all went well you will see a file called “BOOT” inside this file gets copied to the root (/) of you hard drive, replacing the Boot file that is already there.

  4. Hi, I am on DP4 and I injected AAPL-ig 00 00 16 04 with my HDMI connector this results in a black screen, I believe the WindowServer crashes. When I unplugged the HDMI while booting, and then plugged it back in I managed to get to the desktop and my monitor and graphics are recognised as Intel Iris Pro 1024MB graphics, but the menu bar is not translucent and chess and screensavers are still very sluggish. So I believe QE/CI doesn’t work. What can I do to boot with the HDMI cable in and get QE/CI? Is it the string, my UEFI settings? Thanks =)

    • What board/CPU do you have?
      How do you inject the target AAPL,ig-platform-id (from some ACPI table I presume)?
      Do you have/want to connect one or two monitors? In case you have/want two, do they work with Linux and/or Windows?
      QE/CI should work out-of-the-box. It did here, and for other people. We only had to inject AAPL,ig-platform-id.

      • I got the Gigabyte Z87-HD3 and the i5 4670k, I injected it using DSDT and the DTGP method. And I want to connect just one monitor and they have to work with Windows too. Currently I was using a VGA cable to my monitor but someone said that didn’t work so now I have a VGA coming out of my monitor and unplugged at the computer end and a HDMI cable from the computer to the monitor. So I get a black screen unless I unplug the cable, I’ve heard its in DP4 also when experimenting I saw a backtrace in some graphic kexts including appleintelframebuffer. Thanks again.

  5. Yep mine does this too. But its not related to HD4600. Its DP4 and it does this on my nVidia gtx560 with IGPU disabled.

  6. I now Believe this has to with “clam shell mode and or mirroring mode” . Since we are using MBA and effectively connecting an external monitor. Looking deeper into this. Any suggestions are appreciated….

    • AAPL.ig-platform-id is used for both desktop and mobile platforms, but I have no idea if AppleIntelFramebufferAzul.kext supports the HD4400 Actually. You probably be the first person to see what happens.

  7. Pingback: Yosemite DP6 with HD4600 | Pike's Universum

  8. Pingback: Experimental bin-patch for HD4600 (mobile GT2) | Pike's Universum

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 )

Connecting to %s