Jump to content
fau7i

[SUCCESS] Enable VGA and HDMI video for Intel HD 3000

Recommended Posts

VGA port is quite important to me as I always work with LCD projector to do presentation. Since I've updated to 10.8.2 few days ago, my VGA/HDMI output doesn't work anymore. Before that it was working with an edited AppleIntelSNBGraphicsFB.kext that comes from 10.7.3 without touching my DSDT.

Last night, I did look again my DSDT and thought it might need some works together with hex editing to vanilla AppleIntelSNBGraphicsFB. Big credit to pippox0 who come with a great guide. The differences are I have card PID 0126 instead 0116, I don't use GraphicsEnabler string in boot.plist, and it's a laptop. Worth to mention, I already got QE/CI and full resolution natively before enabling those ports.

HDMI video - Tested on Panasonic LCD TV (Full res, rotation, mirroring, QE/CI - all working)

VGA - Tested on HP desktop monitor and Sharp LCD projector (All working)

1. Make sure vanilla AppleIntelGraphicsHD3000.kext and AppleIntelSNBGraphicsFB.kext are loaded.

2. Open DSDT and look up for Device GFX0 or IGPU. The address should be 0x00020000. By adding the code below, I can straightly get HDMI video output.

        Device (GFX0)
{
Name (_ADR, 0x00020000)
[B] Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"AAPL,snb-platform-id",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
},

"device-id",
Buffer (0x04)
{
[COLOR="#0000FF"]0x26[/COLOR], [COLOR="#0000FF"]0x01[/COLOR], 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}[/B]

*VGA still not working at this point.

3. Open binary AppleIntelSNBGraphicsFB (Content > MacOS) with Hex Fiend. As pippox0 said;

original FB table
0102 [B]04[/B]00 1007 0000 1007 0000
[B]0503[/B] 0000 0200 0000 3000 0000
[B]0205[/B] 0000 0004 0000 0700 0000
[B]0304[/B] 0000 0004 0000 0900 0000
[B]0406[/B] 0000 0004 0000 0900 0000

0102 [B]04[/B]00 - It has 4 connectors
[B]0503[/B] - Internal LCD
[B]0205[/B] - HDMI
[B]0304[/B] - DVI
[B]0406[/B] - HDMI

Since it's a laptop which works from internal LCD and no DVI port, I edited the 4th line to be;

[B]0602[/B] 0000 [B]0200[/B] 0000 [B]3000[/B] 0000

*In case you got black screen when try changing screen resolution, set your system to sleep and wake again.

UPDATE: I got an issue after trying both ports (VGA and HDMI). After the 2nd display took its turn, System Preferences still showed settings for the 1st display which was disconnected physically. The issue was resolved after reboot. I reviewed the connector table and removed the last connector (406) since I have only one HDMI port.

0102 [B][COLOR="#0000FF"]03[/COLOR][/B]00 1007 0000 1007 0000
[B]0503[/B] 0000 0200 0000 3000 0000
[B]0205[/B] 0000 0004 0000 0700 0000
[B]0602[/B] 0000 0200 0000 3000 0000
[COLOR="#0000FF"][B]0000[/B] 0000 0000 0000 0000 0000[/COLOR]

*CREDIT to bcc9 who firstly documented this kind of info.

Happy with my Vostro now :encouragement:

Edited by fau7i

Share this post


Link to post
Share on other sites

I meant this DTGP that usually we put at beginning or end of DSDT. Most probably you did, just asking.

    Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}

0x0116 for desktop, isn't it. Maybe you've touched HDMI connector when try to enable VGA. I think you should hex edit the 2nd line in the table (change 0503 > 0602) and leave the rests.

Share this post


Link to post
Share on other sites

Oh yeah, I added that method as soon as I made a DSDT. Really? I'm running 10.8.2 on my laptop with IntelHD3000 graphics and my Device id says 0x0116. If I change 503 my laptop LCD won't work as a display anymore. I changed the hex to the three lines of display id's you posted for a laptop. I had HDMI working in 10.8 then I lost it updating to 10.8.2.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.