Jump to content

El Capitan AppleHDA HDMI Audio


toleda
 Share

155 posts in this topic

Recommended Posts

  • 2 weeks later...

I recently updated to 10.12.4, and HDMI Audio via my DisplayPort monitor stopped working.  I attached the IOReg copy, but the DCPI download link from sourgeforce gave warnings on chrome, so I didn't click through.

 

OS: 10.12.4

Mobo: MSI Z87M-G43

BIOS: Latest version, hasn't changed in over a year so I don't think this is related.

Processor: 4770k

GPU: NVIDIA GTX 670 (Updated to latest web drivers for 10.12.4)

Files.zip

Link to comment
Share on other sites

GPU: NVIDIA GTX 670 (Updated to latest web drivers for 10.12.4)

IOReg shows HDMI audio is configured correctly.

IOReg says a GTX960 is installed.

If IOReg is wrong, run the macOS drivers and verify DP audio.

Previously, Nvidia has broken HDMI audio with their web driver.

Verify the 10.12.4 Nvidia web driver is working.

Link to comment
Share on other sites

Hello toleda
Thank you for all your hard work.
 
I'm having trouble getting HDMI audio to work with SSDT patch.
I'm on AMD Phenom II X6 1055/GA-MA785GM-US2H (latest BIOS F12f) with AMD Radeon 7750 1GB, running El Capitan 10.11.6/Shaneee-RC4 kernel, so unfortunately I can't use Clover, I'm booting with Enoch/Chameleon instead.
 
Without any patch my GFX doesn't show up at all in DSDT although video works correctly on both monitors.
I've injected it along with HDAU in what looks like the proper place (_SB.PCI0.PCE2), video still works great, HDAU shows up on IOREG, codec shows up in DPCIManager, but unfortunately not in Sound Preferences/System information. 
 
Notes:
I have not currently injected the framebuffers in SSDT, because then it gets all the connectors wrong and connector patches dont work correctly for some reason on El Capitan.
(With FB injected, the card info is then correct but still no HDMI audio, even though the HDMI connector works properly, the other monitor is blank though). 
I'm booting with unmodified AppleHDA and AMD7000Controller + custom (included) Verde.kext (the only way card works correctly on El Capitan, I used clover connector patch in Yosemite but I had other issues so I didn't try to fix audio).
For some reason AppleHDA.kext has signature validation issues, although it is from Apple dmg's, I'm not sure why.
I've also tried different layout-id's (0x1, 0x2, 0x3) with no success!

 

IOReg%20HDAU%20Screenshot.PNG?dl=1

I think I'm very close, I'd appreciate any help towards a solution, thank you very much! :)

 

Included files [zip]: 

http://d.pr/f/Loc8+

Link to comment
Share on other sites

HDAU shows up on IOREG, codec shows up in DPCIManager, but unfortunately not in Sound Preferences/System information. 

ACPI edits are correct. Typically, the default framebuffer supports HDMI audio; not true in this case. 

Only remaining choice is framebuffer injection wth connector edits, see Case_Studies]_AMD-HD7xxx_HDMI_Audio_v3.pdf.zip.

Link to comment
Share on other sites

I spent the last few days getting my connectors/framebuffers correct and I finally managed it, although I still dont have hdmi sound, so I'm right back where I started. 

I dont know what else to try so I'll live with it for the moment although I'm open to new suggestions!

 

nevertheless, I'm extremely grateful for your time :)

Link to comment
Share on other sites

Turns out it was the AppleHDA.kext

Since the VoodooHDA installer had deleted it at some point, I extracted the one that is in the combo security update 2017-001 dmg, thinking it must be the latest version.

I was wrong, the AppleHDA.kext from the El Capitan installer is version 272.5 versus the update's which is 271.12 (and fails signing)

 

So, after applying the proper connector patch for my card I can now enable the correct FB using chameleon's GraphicsEnabler with the appropriate options (AtiConfig=Dashimaki & AtiPorts=3) and inject only HDAU from SSDT. 

Sound now is properly enabled. Display hot plugging doesn't work, even though I used the bios extracted values.

 

I use GraphicsEnabler because if I try to inject the full FB from SSDT I don't know how to set the port number, so I have 1 extra FB not attached to any connector (I have 3 ports instead of 4).

If I inject SSDT with 3 FBs then I get the generic Radeon FB again.

 

Anyway, thanks a lot for pointing me to the correct direction.

I am attaching the correct patch for my GFX (Sapphire AMD HD7750 Ultimate 1GB), as well as the SSDT used, in case it helps someone else.

 

AMD7000Controller.kext patch:

ATOM BIOS Rom:
SubsystemVendorID: 0x174b SubsystemID: 0xe213
IOBaseAddress: 0x0000
Filename: 213P03H0.U03
BIOS Bootup Message:
C44501 MOCHA Verde PRO 1G GDDR5 64Mx32
 
PCI ID: 1002:683f
Connector at index 0
Type [@offset 45160]: DisplayPort (10)
Encoder [@offset 45164]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45244]: 0x91, OSX senseid: 0x2
HotPlugID: 4
Connector at index 1
Type [@offset 45170]: HDMI-A (11)
Encoder [@offset 45174]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45271]: 0x94, OSX senseid: 0x5
HotPlugID: 1
Connector at index 2
Type [@offset 45180]: DVI-I (2)
Encoder [@offset 45184]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45308]: 0x93, OSX senseid: 0x4
HotPlugID: 2
Connector at index 3
Type [@offset 45190]: DVI-I (2)
Encoder [@offset 45194]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45308]: 0x93, OSX senseid: 0x4
HotPlugID: 2
 
C44501 MOCHA Verde PRO 1G GDDR5 64Mx32                                      
 
Subsystem Vendor ID: 174b
       Subsystem ID: e213
Object Header Structure Size: 246
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: b5
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
 
 
01[DISPLAY_PORT] 0x12 0x4  0x2 —> 12 04 04 02
02[HDMI_TYPE_A]  0x22 0x5  0x5 —> 22 05 01 05
03[DVI_I]        0x10 0x0  0x4 —> 10 00 02 04
04[DVI_I]        0x00 0x10 0x4 —> 00 10 02 04
 
Original: 
Personality: Dashimaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 1690048 (Original)
00040000040300000001010112040202
00040000040300000001020022050305
04000000140200000001030100000404
00080000040200000001040011020101
 
This patch worked on Yosemite:
00040000040300000001040112040402
00020000040200000001030000100304
00020000040200000001020110000204
00080000000200000001010022050105

Patch for El Capitan:
00040000040300000001040012040402
00080000000200000001010022050105
04000000140000000001020000000204
00020000040200000001030000100204
 
Notes: I succesfully enabled Dual DVI on El Capitan after ignoring BIOS txmit 0x10 and set it to 00 as per:
http://www.insanelymac.com/forum/topic/273937-guide-getting-xfx-hd6850-connectors-to-work/
SSDT.aml:

/*
* Intel ACPI Component Architecture
* AML Disassembler version 20100331
*
* Disassembly of iASL3eEYsz.aml, Thu Apr 20 01:50:35 2017
*
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000000CD (205)
* Revision 0x01
* Checksum 0x55
* OEM ID "shiloh"
* OEM Table ID "GFX1"
* OEM Revision 0x00001000 (4096)
* Compiler ID "INTL"
* Compiler Version 0x20100331 (537920305)
*/
DefinitionBlock ("iASL3eEYsz.aml", "SSDT", 1, "shiloh", "GFX1", 0x00001000)
{
Device (_SB.PCI0.PCE2.GFX1)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}

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

Device (_SB.PCI0.PCE2.HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}

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

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

Link to comment
Share on other sites

Hi, I've been trying to set up a Hackintosh based on Zotac gaming NUC magnus en1060.

 

I'm almost 80% there, just in need of hdmi audio, and i'll be able to do a guide to this superb replacement to a Mac Mini.

 

But i clearly need some help and advice. i went through most of the tutos about this and can't get it to work. I may have just missed something, but the thing is i have my head on this since a few days so i can't get the picture right.

 

Hope you understand what i mean.

 

the mlb is based on intel series 100, cpu i5 QC 6400t with igpu hd530 (disabled in bios) and discreet GPU Geforce GTX 1060 6Gb VRAM

 

please help!

 

thanks

Link to comment
Share on other sites

in need of hdmi audio

Installation: Post #1, cloverHDMI

Not working: Post #1, Problem Reporting

Note: Nvidia/Pascal/Web drivers; HDMi audio on HDMI port does not work, HDMI/DP audio does work on DP ports. 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hi toleda, I'm hoping you can help. I'm trying to get HDMI audio working on a Clevo W76TUN laptop.

 

Details as requested here https://github.com/toleda/audio_hdmi_guides/blob/master/Problem%20Reporting.md

 

1. I have audio working only on the internal speakers. No HDMI audio show in System Preferences, no output when plugged in

I am using AppleALC with layout ID 28 (0x1C) for ALC662

 

2. 10.12.4/Clevo (Novatech) W76TUN/Phoenix 1.02.25NO/Core2Duo/nVidia G 105M

 

3. Installed using steps detailed here: https://github.com/toleda/audio_CloverHDMI/blob/master/README.md

a. mounted EFI

b. ran script

c. answered y to install for nVidia only (no intel)

d. renamed generated ssdt in ACPI/patched to 'SSDT.aml'

e. restarted

 

4. Attached

 

5. Attached

 

6. Attached

 

7. Original AppleHDA in S/L/E. AppleALC, Lilu & CodecCommander in /kexts/other

 

8. Attached

 

9. Attached

 

10. N/A

 

11. Attached

4.txt

5.zip

6.txt

8.zip

9.txt

11.zip

Link to comment
Share on other sites

trying to get HDMI audio working

Very difficult configuration, similar to a macmini3.1.

 

IOReg shows PEGP with onboard-1, only Clover does that and the setting does not exist in config.plist, mystery.

SSDT is not working

Replace with the attached ssdts, no need to rename.

Reply with new files.

clevo.zip

  • Like 1
Link to comment
Share on other sites

there's no sound at all with that last dsdt

GFX0 edits work, looks like Clover patched the edited dsdt, not good.

HDEF edits did not take; layout-id = 0, no idea why.

Attach DSDT_New.aml and config.plist

Link to comment
Share on other sites

Files attached, DSDT_New.aml is the DSDT you provided. I left the original there just in case and changed to boot DSDT_New.aml through clover.

Confirm new DSDT loads. Attach Clover boot log.

Link to comment
Share on other sites

Yes DSDT_New.aml is loading

Differences between DSDT and IOReg are not explainable.  HDMI audio will not work with missing DSDT injections.

 

IOReg/GFX0/hda-gfx/onboard-1

DSDT/GFX0/hda-gfx/onboard-2

 

IOReg/GFX0/NVDA,Display-A@0/connector-type/00 08 00 00

IOReg/GFX0/NVDA,Display-B@1/connector-type/00 08 00 00 missing

DSDT/GFX0/NVDA,Display, both present

 

IOReg/HDEF/hda-gfx/onboard-2 missing

DSDT/HDEF/hda-gfx/onboard-2

  • Like 1
Link to comment
Share on other sites

I've removed everything from Clover/ACPI/patched except the DSDT you've provided (attached) to avoid any conflicts and exported another IOReg (attached). I have no sound with this DSDT, System Information shows Audio Layout ID 0.

 

I've tried adding device HDAU and fully populating GFX0 (DSDT_HDMI11 and DSDT_HDMI12), both DSDTs attached.

With DSDT_HDMI11 and onboard-1 defined in HDAU and GFX0 I have no sound at all.

With DSDT_HDMI12 and onboard-2 defined in HDAU and GFX0 I only have sound on the internal speakers.

 

Would the AppleALC layout ID I'm using (28/1C) cause any issues?

 

HDMI Audio was working under Lion using VoodooHDA, after updating to Sierra the VoodooHDA I was using no longer worked. I tried updating to the newest revision and same thing.

IOReg.zip

DSDT_HDMI11.aml.zip

DSDT_HDMI12.aml.zip

DSDT.aml.zip

Link to comment
Share on other sites

I've tried adding device HDAU and fully populating GFX0 (DSDT_HDMI11 and DSDT_HDMI12), both DSDTs attached.

Would the AppleALC layout ID I'm using (28/1C) cause any issues?

HDMI Audio was working under Lion using VoodooHDA, after updating to Sierra the VoodooHDA I was using no longer worked. I tried updating to the newest revision and same thing.

The edited dsdt has all audio devices defined correctly. DSDT/HDEF is not working. Problems are noted above. 

Verify there is not another EFI partition Clover is using to boot.

No.

Voodoo replaces AppleGDA.

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...