Contribute
Register

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

I have Intel/Nvidia with Optimous, Nvidia has been disabled.
I follow all your guide, also try (12) and (9) inject but it not work. I have KP/reboot every time when plug HDMI monitor port.
The attach file include all problem reporting info.
 

Attachments

  • HDMI_AUDIO.zip
    6.1 MB · Views: 69
I have Intel/Nvidia with Optimous, Nvidia has been disabled.
I follow all your guide, also try (12) and (9) inject but it not work. I have KP/reboot every time when plug HDMI monitor port.
The attach file include all problem reporting info.

HDMI audio not implemented here. Missing:
- B0D3 must be renamed to HDAU
- "hda-gfx" injection required on HDAU
 
I have added it in DSDT, you can check it.

Problem with HDAU vs. B0D3 is obvious:
Code:
SPEEDY-OSX:patched RehabMan$ grep B0D3 *.dsl
SSDT-6.dsl:        Device (B0D3)
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ABWA (One)
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ARST ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ASTR ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.AINI ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.CXDC ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ABWA (Zero)

And there is no _DSM for B0D3/HDAU to inject "hda-gfx":
Code:
SPEEDY-OSX:patched RehabMan$ grep hda-gfx *.dsl
DSDT.dsl:                    "hda-gfx",
SSDT-6.dsl:                    "hda-gfx",

The one in DSDT is on HDEF (not needed). And the one in SSDT-6 is on IGPU. None for HDAU/B0D3.

Keep in mind this rule: "The ioreg never lies".
 
Problem with HDAU vs. B0D3 is obvious:
Code:
SPEEDY-OSX:patched RehabMan$ grep B0D3 *.dsl
SSDT-6.dsl:        Device (B0D3)
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ABWA (One)
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ARST ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ASTR ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.AINI ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.CXDC ()
SSDT-6.dsl:                            \_SB.PCI0.B0D3.ABWA (Zero)

And there is no _DSM for B0D3/HDAU to inject "hda-gfx":
Code:
SPEEDY-OSX:patched RehabMan$ grep hda-gfx *.dsl
DSDT.dsl:                    "hda-gfx",
SSDT-6.dsl:                    "hda-gfx",

The one in DSDT is on HDEF (not needed). And the one in SSDT-6 is on IGPU. None for HDAU/B0D3.

Keep in mind this rule: "The ioreg never lies".
Yes, you true. I have repatched SSDT and DSDT but still no luck, It still KP/reboot immediately when HDMI plug in . I attach the update file below.
 

Attachments

  • HDMI_AUDIO_Update.zip
    6.2 MB · Views: 81
Why not use hotpatching instead? Your DSDT does not need a battery patch (no fields larger than 8-bit in the EC)...
What patches have you applied to your DSDT/SSDT?
 
Why not use hotpatching instead? Your DSDT does not need a battery patch (no fields larger than 8-bit in the EC)...
What patches have you applied to your DSDT/SSDT?
I don't know much, just follow the guide here. And i am not patch battery, default it work.
I apply those patch:

DSDT.dsl patch and rename export to export to DSDT.aml:
remove _dsm (optional)
Rename GFX0 to IGPU
USB (EHCI) Patches
IRQ Fix
SMBUS
RTC FIx
Shutdown Fix v2
HPET Fix
OS Check Fix
AC Adapter Fix
Add MCHC
Fix _WAK Arg0 v2
Audio Layout 3
graphics_Rename B0D3 to HDAU (edit layout id 3)

SSDT-6.dsl patch and rename export to SSDT-1.aml:
remove _dsm (optional)
Rename GFX0 to IGPU
graphics_Rename B0D3 to HDAU (edit layout id 3)
Brightness fix(Haswell/Broadwell)
Haswell 4400/4600/5000

SSDT-7.dsl patch and rename export to SSDT-2.aml:
remove _dsm (optional)
Rename GFX0 to IGPU
Disable form _INI, uncomment line //External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)

SSDT-8.dsl patch and rename export to SSDT-3.aml:
remove _dsm (optional)
Rename GFX0 to IGPU
 
Yes, you true. I have repatched SSDT and DSDT but still no luck, It still KP/reboot immediately when HDMI plug in . I attach the update file below.

ACPI is not patched correctly. Based on ACPI/origin, you should have in ACPI/patched:
DSDT.aml
SSDT.aml (from ssdtPRgen.sh)
SSDT-0.aml
SSDT-1.aml
SSDT-2.aml
SSDT-3.aml
SSDT-8.aml
SSDT-9.aml
SSDT-10.aml
SSDT-11.aml

Note: IntelBacklight.kext and ACPIBacklight.kext are mutually exclusive.

Also, from where did you download OS X?
 
Last edited:
With "hotpatching", you can instead create an extra SSDT that includes all the patches that are required... You don't have to edit your native DSDT/SSDTs...
Renaming can be done in the config.plist...
My opinion is as long as you don't have to apply a battery patch, it is best to go with hotpatching instead, I can help you if you're interested.
 
With "hotpatching", you can instead create an extra SSDT that includes all the patches that are required... You don't have to edit your native DSDT/SSDTs...
Renaming can be done in the config.plist...
My opinion is as long as you don't have to apply a battery patch, it is best to go with hotpatching instead, I can help you if you're interested.

The guide the-braveknight is referring to is here: http://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/

It is a good idea to understand how to patch ACPI for the target machine with normal ACPI patching first...
Hotpatching is a bit advanced, and not as easy to try new fixes.

At this point, I'm not convinced that the issue here is an ACPI issue, but we need to start with an ACPI setup that is correct. So far, that hasn't occurred.
 
Back
Top