I am using 10.8.3. I modify the native AppleIntelFramebufferCapri.kext (Version 8.10.44) for the patch.
My spec:
Dell Latitude E6430
i5 3320 2.6GHz
HD4000 only, resolution 1600x900
I have ig-platform-id 0x01660003 in DSDT, so it's to modify the relevant section in AppleIntelFramebufferCapri.
Copy AppleIntelFramebufferCapri.kext from /S/L/E to /E/E.
Open in binary the file /Extra/Extensions/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri
Find "03 00 66 01" at address 0x0005E840 (as of Version 8.10.44).
Then starting at a few lines below this, from address 0x0005E870, there lists the available ports for this ID:
05 03 00 00 02 00 00 00 30 00 00 00 // LVDS (Internal Display)
02 05 00 00 00 04 00 00 07 04 00 00 // DisplayPort
03 04 00 00 00 04 00 00 81 00 00 00 // DisplayPort
04 06 00 00 00 04 00 00 81 00 00 00 // DisplayPort
I do below modifications in red:
05 03 00 00 02 00 00 00 30 02 00 00 // LVDS (Internal Display)
02 05 00 00 00 08 00 00 06 00 00 00 // HDMI
03 04 00 00 00 04 00 00 81 00 00 00 // DisplayPort
04 06 00 00 00 04 00 00 81 00 00 00 // DisplayPort
For the modification in LVDS, it's because I have 1600x900 resolution. The internal display is black without this modification.
For the modification in HDMI, I had display but no audio without this modification.
Hope this clarifies. Here is the modified AppleIntelFrameBufferCapri.kext if anyone needed it. http://db.tt/CGz1Iz4W
DSDT sections related to Graphics and HDMI Audio (Just for reference. No modification from the one in EDP):
Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"AAPL,DualLink",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x03, 0x00, 0x66, 0x01
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"model",
Buffer (0x17)
{
"Intel HD Graphics 4000"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
Field (HDAR, WordAcc, NoLock, Preserve)
{
DCKA, 1,
Offset (0x01),
DCKM, 1,
, 6,
DCKS, 1,
Offset (0x08),
, 15,
PMES, 1
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}