Jump to content

Guide for enabling VGA, DP, DVI and HDMI in Intel HD3000 GPU


EMlyDinEsH

Recommended Posts

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: https://osxlatitude.com/index.php?/topic/1946-complete-applehda-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.

Link to comment
Share on other sites

I made a small app by AppleScript to detect the display automatically, so that people do not need to go to Display, press the option on keyboard and detect displays every time.

 

The method is from http://raviudeshi.com/2011/03/automatically-detect-displays, which does not work properly on OS X 10.9.2 now. I fixed this script and have made it work again.

 

Please download it here:

Detect Displays.app.zip

 

I recommend anyone who use it to put it on desktop to make it handy. To use it you just plug in the monitor to your VGA, and click this app to detect the display. Then you should see your monitor being detected, like how you used to detect it manually.

 

Please note: You will need to refer to http://support.apple.com/kb/HT5914 to sign this app 'so that it works without requiring repeated re-authorization' of your Accessibility permissions every time you reboot and run it.

 

Hope this will be a life saver for everyone who needs it.

Link to comment
Share on other sites

  • Administrators

Because MBP8,1 is based on HD3000 GPU, unlike the MBP8,2/MBP8,3 which are based on dual GPU with ATI Radeon discrete graphics card + HD3000. Use Chameleon Wizard SMBIOS tab to check that up.

Link to comment
Share on other sites

  • Administrators

It pays to experiment! Following a request from a forum member, I spent some time on this for the Dell Latitude E6220 video output when laptop is docked. Result is that we can now get all output ports supported: VGA, DVI and HDMI.  :) 
 
Full details are here.
 
In the case of the E6220 -and this should work for all other E6x20-, the following revised patch enables all video output ports:

01 02 04 00 10 07 00 00 10 07 00 00   // vanilla: nb of connectors -> "04"
05 03 00 00 02 00 00 00 30 00 00 00   // vanilla: laptop's own LCD display
02 05 00 00 00 08 00 00 05 00 00 00   // patched: HDMI display port (built-in port)
06 02 00 00 00 04 00 00 08 00 00 00   // patched: VGA display port (built-in + docking-station port)
04 06 00 00 00 04 00 00 07 00 00 00   // patched: DVI display port (docking-station port)

For DisplayPort (DP) output, any of the following will do:

02 05 00 00 00 08 00 00 06 00 00 00   // patched: DP display port (docking station); tested with DP-HDMI adapter

or

04 06 00 00 00 04 00 00 06 00 00 00   // vanilla: DP display port (docking-station); tested with DP-HDMI adapter

or

03 04 00 00 00 04 00 00 06 00 00 00   // vanilla: DP display port (docking-station); tested with DP screen
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...