Hi,
This is a short guide for enabling the ports VGA and HDMI(audio) in the Notebooks equipped with Intel HD3000 GPU, but I'm gonna provide details as clearly as possible to apply and understand this patch.
Needed:
- AppleIntelSNBGraphicsFB.kext from SLE
- Hex fiend application to patch the kext: http://ridiculousfish.com/hexfiend/
- Patched DSDT with platform id (or) SMBios of MacBookPro8,1
DSDT patch of platform id is:
"AAPL,snb-platform-id", Buffer (0x04) { 0x00, 0x00, 0x01, 0x00 }
Add this to the _DSM method of GFX0/IGPU or other named device found at address 0x00020000.
Here is the entire DSDT patch for HD3000:
Method (_DSM, 4, Serialized)
{
Store (Package (0x0E)
{
"AAPL00,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL00,DualLink",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"graphic-options",
Buffer (0x04)
{
0x04, 0x00, 0x00, 0x00
},
"device-id",
Buffer (0x04)
{
0x16, 0x01, 0x00, 0x00
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"AAPL,snb-platform-id",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
DETAILS ABOUT THE CONNECTORS:
Lets have a look at the connectors information table before we try to patch and enable ports.This is the Original Connectors information provided by apple in the above kext for MacBookPro8,1.
0102 0400 1007 0000 1007 0000 // No of Connectors 0503 0000 0200 0000 3000 0000 // Laptop Display Port 0205 0000 0004 0000 0700 0000 // 0304 0000 0004 0000 0900 0000 // All 3 of them are Display Ports 0406 0000 0004 0000 0900 0000 //
Let me explain the above values line by line...
Line #1:
01 02 04 00 10 07 00 00 10 07 00 00
In the above line, we have information regarding the number of Connectors(Ports) and that number is 4, edit this number according to your number of ports/Connectors exist in your notebook and its optional, but doing so you can have only the ports active and rest removed.
Line #2:
0503 0000 0200 0000 3000 0000
This is Laptop built in screen display value where it gets detected, so we don't need to change anything here.
Line #3 to #5:
0205 0000 0004 0000 0700 0000 // 0304 0000 0004 0000 0900 0000 // All 3 of them are Display Ports DVI 0406 0000 0004 0000 0900 0000 //
The above 3 lines are Display ports (DVI) which can work for both DVI & HDMI, but for HDMI the audio won't work because it needs a patch like below:
0205/0304/0406 00 00 00 08 00 00 06 00 00 00
Basically, the above line applies to all 3 possible HDMI connectors that are 0205, 0304 and 0406.
VGA port:
Apple Mac computers do not have a VGA port, so we won't find the connector info in Apple connectors table. But the Hackintosh community has figured out the VGA code that works [found by RevoGirl (R.I.P) and bcc9 from other non-Intel GPU connectors table].
06 02 00 00 00 01 00 00 XX 00 00 00 //VGA, xx is port number
The VGA port number can be identified through Intel Registry dump (in Linux for instance).
The following lines provide a sample edited connectors table with VGA and HDMI ports (HDMI configured with 0304 connector):
01 02 03 00 10 07 00 00 10 07 00 00 // 3 Connectors (built-in LVDS + HDMI + VGA) 05 03 00 00 02 00 00 00 30 00 00 00 // LVDS 03 04 00 00 00 08 00 00 06 00 00 00 // HDMI 06 02 00 00 00 01 00 00 09 00 00 00 // VGA (port number set to 09) 00 00 00 00 00 00 00 00 00 00 00 00 // NONE
The above set of lines will basically enable built-in LCD + HDMI + VGA on the laptop. Note the number of connectors set to 3 in the 1st line and the last/4th connector line nulled (all set to 0)
NOTE: For HDMI, you have to try each value 0205/0304/0406 to find out which connector your notebook actually uses.
STEPS FOR PATCHING THE CONNECTORS:
- Get the File "AppleIntelSNBGraphicsFB" from AppleIntelSNBGraphicsFB.kext/Contents/MacOS folder and place it in some place for patching
- Open the above file from the Hex fiend application
- Press Command + F for Find/Replace utility
Enter the following values in "find" field
0102 0400 1007 0000 1007 0000 0503 0000 0200 0000 3000 0000 0205 0000 0004 0000 0700 0000 0304 0000 0004 0000 0900 0000 0406 0000 0004 0000 0900 0000
and enter the following values in "replace" field
01 02 03 00 10 07 00 00 10 07 00 00 05 03 00 00 02 00 00 00 30 00 00 00 03 04 00 00 00 08 00 00 06 00 00 00 06 02 00 00 00 01 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
As stated in above note, sometimes your HDMI might be on a connector other than "03 04" which I've used here. In that case, try either of the following values instead of "03 04 00 00 00 08 00 00 06 00 00 00" to get HDMI working.
02 05 00 00 00 08 00 00 06 00 00
(OR)
04 06 00 00 00 08 00 00 06 00 00
and Click on Replace all button
- Now save the file and copy back the file to the Folder AppleIntelSNBGraphicsFB.kext/Contents/MacOS
- Install the patched Kext and reboot & check
For HDMI Audio:
We need DSDT edit and Patched AppleHDA for HDMI audio.
For this, follow my guide for patching AppleHDA from here: http://forum.osxlati...patching-guide/
I hope this guide helps for the people trying to get VGA and HDMI with audio.
NOTE:
*External display (VGA mostly) won't get detected automatically if we plug after Mac is booted, so we have to perform manual display detection through the Display Preferences panel and click on Detect Display button.
*From Mountain Lion or later, we don't see Detect Display button in the Display Preferences panel. Hold the ALT or Win key (=Option) at Display Preferences panel to get the Detect Displays button.
Credits go to RevoGirl(R.I.P), bcc9, toldeda and others who contributed.
