Contribute
Register

Broadwell HDMI Audio Issue

Status
Not open for further replies.
Joined
Mar 10, 2012
Messages
204
Motherboard
ASUS ROG Strix B760-I
CPU
i5-13500
Graphics
RX 6600 XT
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
I've done DSDT patch (HDAU, IGPU, HDEF) and BDWframbuffer.kext binary patch but still no HDMI audio.

I think the problem is in fb binary patch, which I just change DP port to HDMI port for 0x5 and 0x4 index, but not sure if it is done correctly. Here are my ioreg and screen shot from DPCImanager. Any help is appreciated.
 

Attachments

  • HDMI.ioreg
    2.9 MB · Views: 164
  • Screen Shot 2015-07-03 at 10.22.43 PM.png
    Screen Shot 2015-07-03 at 10.22.43 PM.png
    97.9 KB · Views: 267
I've done DSDT patch (HDAU, IGPU, HDEF) and BDWframbuffer.kext binary patch but still no HDMI audio.
DPCImanager screenshot does not match the IOReg.
Attach the HDMI audio edited dsdt or ssdt.
 
DPCImanager screenshot does not match the IOReg.
Attach the HDMI audio edited dsdt or ssdt.

oops, sorry I changed ig-platform-id several times while testing hdmi audio....

Here is my current dsdt, ioreg when connected to hdmi. Thx!
 

Attachments

  • DSDT.aml.zip
    25.9 KB · Views: 96
  • HDMI2.zip
    572.5 KB · Views: 91
current dsdt, ioreg when connected to hdmi. Thx!
What is the HDMI device?
IOReg, shows device removed and device does not support HDMI audio. Framebuffer shows HDMI connector.
Make the following dsdt edits:
1. Add to Device (HDEF)
Code:
        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
        {

            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03
                })
            }

            Return (Package (0x04)
            {
                "layout-id", 
                Buffer (0x04)
                {
                     0x03, 0x00, 0x00, 0x00
                }, 

                "PinConfigurations", 
                Buffer (Zero) {}
            })
        }
2. Remove:
Code:
    Scope (_SB.PCI0.HDEF)
    {
        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
        {
            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
            If (LEqual (Arg0, Buffer (0x10)
                    {
                        /* 0000 */   0x8D, 0xD9, 0xC5, 0xC5, 0x0E, 0x36, 0xAF, 0x43,
                        /* 0008 */   0xB7, 0xC1, 0x3E, 0xDE, 0x8F, 0x66, 0x9A, 0xD3
                    }))
            {
                ADBG ("Audio Player call")
                While (One)
                {
                    Store (Arg2, _T_0)
                    If (LEqual (_T_0, Zero))
                    {
                        If (LEqual (Arg1, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00
                            })
                        }
                    }
                    Else
                    {
                        If (LEqual (_T_0, One))
                        {
                            If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
                            {
                                ADBG ("Audio not active")
                                Store (Zero, VBOK)
                            }
                            Else
                            {
                                ADBG ("Audio is active")
                                Store (One, VBOK)
                            }
                        }
                    }

                    Break
                }
            }

            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03
                })
            }

            Return (Package (0x06)
            {
                "layout-id", 
                Buffer (0x04)
                {
                     0x03, 0x00, 0x00, 0x00
                }, 

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

                "PinConfigurations", 
                Buffer (Zero) {}
            })
        }
    }
Reply with edited dsdt and new IOReg.
 
OK, here is the updated DSDT&ioreg. Still no HDMI audio.
 

Attachments

  • update1.zip
    567.3 KB · Views: 135

Attachments

  • HDMI4.zip
    560.6 KB · Views: 93
Any further news on this one? I have this issue myself on my HD5500. Been trying out a bunch of different framebuffer patches on port 0x1616002 like patching both DPs to HDMI (causes the HDMI port to not work anymore). Also tried changing the DP's connector to 8 instead of 4, but no audio.

I've also tried Toleda's SSDT for HD5500 from the Intel 9 repo. No dice.

I've included a zip with the audio codec dump from Linux for both the Conexant and Intel HDMI codecs, an ioreg -l without any framebuffer patches (I know everyone probably wanted a IORegistryExplorer one, but I don't want my real name here), a DSDT, and all the SSDTs in .dsl format for easy access without disassembly.

As for the SSDTs, "SSDT-5" and "SSDT-8" are interesting since they contain information about the IGPU, B0D4, PEGP, PEG1 etc... The rest aren't very interesting, but are included just in case.

Thank you for any hints to solving this one.
 

Attachments

  • Broadwell Intel HDMI UX303LA Information.zip
    211.1 KB · Views: 91
tried Toleda's SSDT for HD5500 from the Intel 9 repo. No dice.
IOReg.txt is useless. No support for Conexant codec.
Did you edit the dsdt for IGPU? if yes, disabled HD5500 ssdt.
See Problem Reporting, Post #1, HDMI Audio AppleHDA. Post to same thread as the guide.
 
Status
Not open for further replies.
Back
Top