Contribute
Register

[Guide] Intel IGPU HDMI/DP audio (all Sandy Bridge -> Kaby Lake [and likely later])

Which is the patch for a ig-platform 0x191b0000 to patch AppleIntelFramebuffer@3 ?

I haven't added any Skylake patches yet. I'm waiting for the drivers to be more final before collecting the data.

That said, looking at the data, I don't see an @3 in the kext...

Code:
@0 (LVDS): 00 00 08 00 02 00 00 00 98 00 00 00
@1 (DP):   01 05 09 00 00 04 00 00 87 01 00 00
@2 (DP):   02 04 0A 00 00 04 00 00 87 01 00 00
@3 (NA):   FF 00 00 00 01 00 00 00 20 00 00 00
 
I haven't added any Skylake patches yet. I'm waiting for the drivers to be more final before collecting the data.

That said, looking at the data, I don't see an @3 in the kext...

Code:
@0 (LVDS): 00 00 08 00 02 00 00 00 98 00 00 00
@1 (DP):   01 05 09 00 00 04 00 00 87 01 00 00
@2 (DP):   02 04 0A 00 00 04 00 00 87 01 00 00
@3 (NA):   FF 00 00 00 01 00 00 00 20 00 00 00
I found a fix using this -> https://github.com/toleda/audio_hdmi_100series
I can finally attach an external hdmi display. The problem is that the laptop's monitor is not working (black screen) now.
 
Thank you! The difference in config-plist is this:
HDMI working but black screen:

<dict>
<key>Comment</key>
<string>10.8+-Intel-IGPU-HDMI-HDA</string>
<key>PciAddr</key>
<string>00:02.00</string>
<key>CustomProperties</key>
<array>
<dict>
<key>Key</key>
<string>hda-gfx</string>
<key>Value</key>
<string>onboard-1</string>
</dict>
</array>
</dict>
.......
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>10.11.4+-SKL-1912000-4_displays</string>
<key>Find</key>
<data>AQMDAw==</data>
<key>Name</key>
<string>AppleIntelSKLGraphicsFramebuffer</string>
<key>Replace</key>
<data>AQMEAw==</data>
</dict>
 

Attachments

  • Marco’s MacBook Pro_11,2.ioreg.zip
    418.2 KB · Views: 143
  • Marco’s MacBook Pro_HDMI_work.ioreg.zip
    536.3 KB · Views: 194
  • config.plist
    8.4 KB · Views: 249
Thank you! The difference in config-plist is this:

In the HDMI_work ioreg, you're not injected an ig-platform-id at all. In the SKL kext, it chooses default platform data. I'm not sure whether it corresponds to a certain ig-platform-id, or the data is not associated with an ig-platform-id. But it has the @3 DP connector...

Edit: Looking at the SKL framebuffer init code... reveals that the default ig-platform-id (when none specified) is 0x19120000.

In the 11,2 ioreg, you're using ig-platform-id 0x191b0000. It has an @3 connector, but it is a strange type (01 00 00 00... VGA?).

I would patch the @3 connector in 0x191b0000 to match the @3 default connector...

The @3 connector in the default platform data is probably: 03 06 0A 00 00 04 00 00 87 01 00 00
And the connector you have for @3 in 0x191b0000 is: FF 00 00 00 01 00 00 00 20 00 00 00

So, if you enter a patch for KextsToPatch:
Name=AppleIntelSKLGraphicsFramebuffer
Find=FF 00 00 00 01 00 00 00 20 00 00 00
Replace=03 06 0A 00 00 04 00 00 87 01 00 00

Then you might have working DP/HDMI @3 with 0x191b0000

Of course you probably want it to be HDMI (if the physical port is HDMI):
Replace=03 06 0A 00 00 08 00 00 87 01 00 00

(if you want an example of an existing HDMI connector, look at the ig-platform-data for 0x193b0000)
 
Last edited:
Hello RehabMan I still fighting on a TravelMate P236M, i5-5200U CPU (HD 5500 graphics) and InsydeH20 BIOS.
Now I do have this problem.
I did have used both "graphics_Rename-GFX0" and graphics_Rename-B0D3 patches in this order, to solve my injection problems. In all DSDT and SSDT files now in ACPI/patched.
Now it hangs on boot.
I did have realized if do comment in DSDT all the lines but Name (_ADR, 0x00020000) in Device IGPU I can boot otherwise it hangs.
The same even if I leave GFX0.
Device (IGPU)
{
Name (_ADR, 0x00020000) // _ADR: Address
// Method (_DSM, 4, NotSerialized)
// {
// If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
// Return (Package()
// {
// "hda-gfx", Buffer() { "onboard-1" },
// })
// }


I di check in all SSDT files for some leftover for GFX0 but there it is not in any of them.

Any suggestion?

Thanx
 
OK here the files.
I've included in Clover dir a folder with both dsl and aml files working (the one with IGPU commented out) and not working (the one with "graphics_Rename-B0D3.txt" fully applied).

thanks
 
OK here the files.
I've included in Clover dir a folder with both dsl and aml files working (the one with IGPU commented out) and not working (the one with "graphics_Rename-B0D3.txt" fully applied).

thanks

Nothing attached.
 
In the HDMI_work ioreg, you're not injected an ig-platform-id at all. In the SKL kext, it chooses default platform data. I'm not sure whether it corresponds to a certain ig-platform-id, or the data is not associated with an ig-platform-id. But it has the @3 DP connector...

Edit: Looking at the SKL framebuffer init code... reveals that the default ig-platform-id (when none specified) is 0x19120000.

In the 11,2 ioreg, you're using ig-platform-id 0x191b0000. It has an @3 connector, but it is a strange type (01 00 00 00... VGA?).

I would patch the @3 connector in 0x191b0000 to match the @3 default connector...

The @3 connector in the default platform data is probably: 03 06 0A 00 00 04 00 00 87 01 00 00
And the connector you have for @3 in 0x191b0000 is: FF 00 00 00 01 00 00 00 20 00 00 00

So, if you enter a patch for KextsToPatch:
Name=AppleIntelSKLGraphicsFramebuffer
Find=FF 00 00 00 01 00 00 00 20 00 00 00
Replace=03 06 0A 00 00 04 00 00 87 01 00 00

Then you might have working DP/HDMI @3 with 0x191b0000

Of course you probably want it to be HDMI (if the physical port is HDMI):
Replace=03 06 0A 00 00 08 00 00 87 01 00 00

(if you want an example of an existing HDMI connector, look at the ig-platform-data for 0x193b0000)

I tried your patch:
<dict>
<key>Comment</key>
<string>Fix HDMI</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
/wAAAAEAAAAgAAAA
</data>
<key>Name</key>
<string>AppleIntelSKLGraphicsFramebuffer</string>
<key>Replace</key>
<data>
AwYKAAAEAACHAQAA
</data>
</dict>

Unfortunatly with no success. I can't even boot with this patch and the hdmi attached from the start (if i plug the HDMI after boot it seems to work, see ioreg attached). My laptop has 3 ports: VGA, HDMI, DP.
 

Attachments

  • Marco’s MacBook Pro_HDMI_work_patched.zip
    571.9 KB · Views: 114
Back
Top