Trying to get HD 4000 Graphics working on the Mountain Lion (10.8) hackintosh


Firstly, I wanted to get the Graphics acceleration working correctly, it took me a while to find a 65W Ivy Bridge CPU with HD4000, and if this doesn’t work correctly then the rest of the build is mostly useless. After a quick google search, and thanks to a great post by proteinshake on the insanelymac forums, I was able get the AAPL,ig-platform-id info, which I’ve since been able to flesh out with some more info.

There are two main drivers involved here, the first is AppleIntelFrameBufferCapri,kext, and this is responsible for driving the monitor, so if we’re getting no picture at all, this is the likely cause.

The Second is AppleIntelHD4000Graphics.kext which seems to be responsible for the Graphics Acceleration.

In order to trigger these, we need to inject a property into the DSDT tables. This property is called “AAPL,ig-platform-id” are there are 12 possible values, which relate to various Mac models that can use this chipset.

AAPL,ig-platform-id Model Assigned RAM Pipes Ports FB Mem
01 66 00 00  <unknown> 96MB 3 4 3
01 66 00 01  MacBookPro10,2 96MB 3 4 3
01 66 00 02  MacBookPro10,1 64MB 3 1 1
01 66 00 03  MacBookPro9,2 64MB 3 4 2
01 66 00 04  MacBookPro9,1 32MB 3 1 1
01 62 00 05  iMac13,1 (Edu) 32MB 2 3 2
01 62 00 06  iMac13,1 0MB 0 0 0
01 62 00 07  iMac13,2 0MB 0 0 0
01 66 00 08  MacBookAir5,1 64MB 3 3 3
01 66 00 09  MacBookAir5,2 64MB 3 3 3
01 66 00 0A  MacMini6,1 32MB 2 3 2
01 66 00 0B  MacMini6,2 32MB 2 3 2

The device propery is injected into DSDT in the IGPU (or GFX0) Section, and it looks something  like this:

Device (IGPU)
          {
          Name (_ADR, 0x00020000)
          Method (_DSM, 4, NotSerialized)
                    {
                    Store (Package (0x02)
                              {
                              &amp;quot;AAPL,ig-platform-id&amp;quot;,
                              Buffer (0x04)
                                       {
                                       0x05, 0x00, 0x62, 0x01
                                       }

                              }, Local0)
                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                     Return (Local0)
                     }
          }

I chose Platform ID 01620005, which seems to be for the low-end education model iMac using the processor’s HD4000 for its graphics. Also, my BIOS has the graphics memory locked at 64MB, so the first two platform ID types just crash. when using this my display gets detected on framebuffer @2…

displaydetected displayinfo…meaning that my Display gets detected on any of the ones that have 04 06 present.  Below is a table of which ports each platform ID is configured with. You’ll often see this referred to as a ‘connector table’

AAPL,ig-platform-id @0 @1 @2 @3
01 66 00 00 01 00 (LVDS) 02 05 (DisplayPort) 03 04 (DisplayPort) 04 06 (DisplayPort)
01 66 00 01 01 00 (LVDS) 02 05 (HDMI) 03 04 (DisplayPort) 04 06 (DisplayPort)
01 66 00 02 01 00 (LVDS)
01 66 00 03 05 03 (LVDS) 02 05 (DisplayPort) 03 04 (DisplayPort) 04 06 (DisplayPort)
01 66 00 04 05 03 (LVDS)
01 62 00 05 02 05 (DisplayPort) 03 04 (DisplayPort) 04 06 (DisplayPort)
01 62 00 06
01 62 00 07
01 66 00 08 01 00 (LVDS) 02 05 (DisplayPort) 03 04 (DisplayPort)
01 66 00 09 01 00 (LVDS) 02 05 (DisplayPort) 03 04 (DisplayPort)
01 66 00 0A 02 05 (DisplayPort) 03 04 (DisplayPort) 04 06 (HDMI)
01 66 00 0B 02 05 (DisplayPort) 03 04 (DisplayPort) 04 06 (HDMI)

Despite this tried and tested method, for some odd reason, on this All in One computer, the internal display just goes off! I had to take these screen shots via screen sharing on my MacBook. and yet I know this method works, and that it should be working normally here.

After a few months on and off (mostly off) I finally worked out what is going on, which i’ll put in my next post.

Advertisements

2 comments on “Trying to get HD 4000 Graphics working on the Mountain Lion (10.8) hackintosh

    • thanks for trying to help.

      if you read my next post you’ll see that i’m aware of how to make it work normally, and that i seem to have a very different problem. Multibeast isnt magic, its just setting the platform ID to 0166000A.

      changing platform id and definition does not affect the AAPL,Displaypipe output target, which is the problem i have.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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