Jump to content
EMlyDinEsH

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

Recommended Posts

Just apply the VGA patch with any port number, reboot, plug your VGA display and check your IOReg with IORegistryExplorer as illustrated here. Remember that a FrameBuffer with a connected display will show an AppleDisplay under display0 within the FB entry.

  • Like 1

Share this post


Link to post
Share on other sites

Yes, I did that. Each time checking that the patch was correctly injected with IORegistryExplorer.

On some other post, the VGA port number is 9. I tried it too (with the 4 different options for VGA connector type).

 

Would be great if someone knows how to get that VGA port number.

I tried intel_reg under Linux (Internal LVDS+vga screen connected), as suggested in other forum. I got a big list, but where is that port number ? I attached the dump in case someone know how to read it.

 

Thanks.

dump-LVDS+VGA.txt

Share this post


Link to post
Share on other sites

I followed the instructions & I ended up both laptop screen & secondary HDMI connected 2nd screen both black.  

Did not edit DSDT.aml because SMBIOS is MacBook Pro8.1

Edited AppleIntelSNBGraphicsFB.kext with 1st set of find/replace, apply permission.

Restarted, nothing changed means HDMI connected monitor displayed properly. Laptop screen black. unplug HDMI monitor, laptop screen displayed work.

Edited the second time with 02 05 00 00 00 08 00 00 06 00 00. Saved, put  back ,permission. Restarded, all screen black.

Anyway to have my hack boot without the edited kextloaded in boot arg?

Any help would be appreciated.

 

Settings MacBook Pro 8.1

Asus X53E PC laptop

Intel i5-2450M

Intel HD3000

macOS High Sierra separate drive

Boot loader Clover 4700 

Share this post


Link to post
Share on other sites

So you patch the vanilla kext found in /S/L/E, repair permissions and reboot, is that it? How about rebuilding the cache? If you did not rebuild the cache, your patched kexts is ignored... Why don't you apply the patches on-the-fly through Clover instead of patching the kext, possibly erroneously ?

 

Please post:

  1. your patched SNB framebuffer kext
  2. your zipped Clover folder (without Themes subfolder)

 

This being said, HDMI video output normally works OOB, it's HDMI audio that requires the patch. Post #1 does stipulate that your HDMI port could be attached to any of the 3 x connectors 0205, 0304 or 0406. Do not presume it's going to be 0205 necessarily.

 

The 4 x output ports connector table (used for MBP8,1) in the vanilla SNB framebuffer kext of High Sierra remains unchanged, i.e.:

0102 0400 1007 0000 1007 0000   // 0102 = laptop?, 0400 = 4 output ports
0503 0000 0200 0000 3000 0000   // Connector 0503, type 0200 = LVDS
0205 0000 0004 0000 0700 0000   // Connector 0205, type 0004 = DP
0304 0000 0004 0000 0900 0000   // Connector 0304, type 0004 = DP
0406 0000 0004 0000 0900 0000   // Connector 0406, type 0004 = DP

 

You may obtain HDMI output through one of the following patches in that 4-port table:

                     \/      \/
Find:    0205 0000 0004 0000 0700 0000
Replace: 0205 0000 0008 0000 0600 0000   (06 or any other value shown in IOReg)
                     /\      /\

or

                     \/      \/
Find:    0304 0000 0004 0000 0900 0000
Replace: 0304 0000 0008 0000 0600 0000   (06 or any other value shown in IOReg)
                     /\      /\

or

                     \/      \/
Find:    0406 0000 0004 0000 0900 0000
Replace: 0406 0000 0008 0000 0600 0000   (06 or any other value shown in IOReg)
                     /\      /\

 

You may notice that, in the examples I posted on p1 for the Dell Latitude E6220, I've specified port number #5 for HDMI output. The value you enter in the patch does not actually matter, it automatically gets adjusted as you should find in IOReg with tools such as IORegistryExplorer.

 

But you've got to make sure you've patched the correct connector table because there are more than one in the kext! That's where you may have gone wrong...

 

Other tables look like these:

0102 0100 1007 0000 1007 0000   // 0102 = laptop?, 0100 = 1 output port
0503 0000 0200 0000 3000 0000   // Connector 0503, type 0200 = LVDS

or

0102 0300 1007 0000 1007 0000   // 0102 = laptop?, 0300 = 3 output ports
0100 0000 0200 0000 3000 0000   // Connector 0100, type 0200 = LVDS
0205 0000 0004 0000 0700 0000   // Connector 0205, type 0004 = DP
0304 0000 0004 0000 0900 0000   // Connector 0304, type 0004 = DP

or

0103 0400 1007 0000 1007 0000   // 0103 = desktop?, 0400 = 4 output ports
0100 0000 0004 0000 3000 0000   // Connector 0100, type 0004 = DP
0205 0000 0004 0000 0700 0000   // Connector 0205, type 0004 = DP
0304 0000 0004 0000 0900 0000   // Connector 0304, type 0004 = DP
0406 0000 0008 0000 0600 0000   // Connector 0406, type 0004 = HDMI

 

As long as you apply one of the 3 x above patches, on the fly, in Clover, you normally cannot go wrong even if those patches will apply to all connector tables. You'll just have to experiment with the patches, that's all.

 

Booting with your original & vanilla framebuffer kext, check the number of video output ports you have registered and if you find you have 4 of them, do not edit the 1st line of the table to convert it from 010204 to 010203 and pass the 4th connector line to null; just apply the patches as I stated above.

 

Hopefully, you may find this post useful on the matter.

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

Loading...

×
×
  • Create New...