Contribute
Register

Audio - HDMI Audio AppleHDA [Guide]

Status
Not open for further replies.
Problem Report:
1. Description of HDMI audio problem
No HDMI output options through System Preferences/ Sound.

2. OS X version/motherboard model/BIOS version/processor/graphics
OS X Version: Yosemite 10.10.1
Motherboard Model: Intel DP55WG
BIOS Version: KGIBX10J.86A.5924.2011.0223.0145
Processor: Intel i5-680 LGA1156
Graphics Card: AMD Radeon 6850

3. Procedure/Guide Used
Have been researching to determine proper steps/guide first. I have gone as far as installing the HDA 100 patch in the original post - which I now realize is stored in a Series 8 folder. (https://github.com/toleda/audio_hdmi_8series/blob/master/audio_hdmi_hd4600-hda-100_patch.command.zip)

I believe the correct guide for my particular system is the Series 5 Guide found here: https://raw.githubusercontent.com/t.../[Guide]_5series-hdmi_audio_(dsdt)_v2.pdf.zip

While Verifying items through IOReg, found:
DefinitionBlock ("iASL7CmMoX.aml", "DSDT", 2, "INTEL ", "KBIBX10J", 0x00001290) - AWARD BIOS Version?
PEG1@1 (not PEG0@1 as in guide)
No GFX results
HDEF@1B (same as guide)
Audio Codex @1B,2
- Address = 0x2
- Revision = 0x1000004
- Vendor = 0x10ec0889

4. Copy of IORegistryExplorer/IOJones (either)
- IOReg/File/Save a Copy As…, verify file (no ioreg.txt) [ATTACHED]

5. Copy Of Console/All Messages (last boot)
- Console/File/Save a Copy As... [ATTACHED]

6. System/Library/Extensions/AppleHDA.kext
Installed via MultiBeast - ALC889 with Optional HDAEnabler Audio ID: 1 to provide standard analog sound from motherboard. (Later read somewhere that HDAEnabler disables the HDMI sound? Does this need to be undone?)

7. Chimera/Chameleon
- Extra/org.chameleon.Boot.plist [ATTACHED]
- DPCIManager/Misc/Boot Log [ATTACHED]
- Extra/dsdt.aml (if installed) [ATTACHED - File used during MultiBeast Install]
- Extra/ssdt.aml [N/A - None were purposefully/knowingly installed]

8. Clover
N/A
 

Attachments

  • Archive.zip
    1.5 MB · Views: 71
  • AppleHDA.kext.zip
    909.4 KB · Views: 68
  • Tyler’s Mac Pro.ioreg
    2.9 MB · Views: 117
  • org.chameleon.Boot.plist
    851 bytes · Views: 169
  • DPCIManager Boot Log.txt
    9 KB · Views: 125
  • Console All Messages.log.zip
    81.5 KB · Views: 86
  • DSDT.aml
    16.3 KB · Views: 121
Last edited:
No HDMI output options through System Preferences/ Sound.
No edits have been done.
The 5 series guide is correct, AMI edit.
See the Discrete Graphics/AMD HDMI audio guide as well.
 
No edits have been done.
The 5 series guide is correct, AMI edit.
See the Discrete Graphics/AMD HDMI audio guide as well.

I have attached screenshots of each step and the guides I'm using. Searching for the Discrete Graphics/AMD HDMI audio guide helped me find "[Guide]_OS_X_hdmi_audio-dsdt_v2.1.pdf" Is this the appropriate guide? If not, I did not find proper guide, could you provide a link?

Updated Procedure
Using: [Guide]_5series-hdmi_audio_(dsdt)_v2.pdf

Performed clean install of system to eliminate possible problems from other attempts.

Removed System/Library/Extensions/HDAEnabler1.kext

VERIFY BIOS SUPPLIER
DefinitionBlock ("iASLAGHzdg.aml", "DSDT", 2, "INTEL ", "KBIBX10J", 0x00001290)
- The “KBIBX10J” indicates an AWARD dsdt

Configured MaciASL to use the source: https://raw.github.com/toleda/audio_hdmi_5series/master
Changed Read/Write Permissions on the Extra & Extra/DSDT.aml items to allow MaciASL to patch/edit without having to duplicate item.

Used IOReg guide linked in the Series 5 guide (named next)
Now Using: [Guide]-OS X-hdmi_audio_(IOReg details_v2.pdf

Verify HDEF using [GUIDE-OS X-hdmi_audio_(IOReg details)_v2
Determine Graphics device names and address
1. Search “display”
2. Select AppleMCCSParameterHandler under - PEG1@1 / IOPP / display@0 … see screenshot for remainder

Result: Discrete Graphics (PEG1@1) - Does the fact that it is PEG1@1 and not PEG0@1 matter?


Determine discrete graphics device names and address
1. Search “PEG” (Did not search PEG0 because result was null)
2. IOName = pci-bridge
3. Other information provided in screenshot


Determine Integrated Graphics device names and address
1. Search “GFX”, “GFX0”, “GFX1”
2. No Results


Verify MEIDriver (Applies to HD3000 on 7 Series or HD4000 on 6 Series
1. N/A for my build


Verify HDEF
1. Search HDEF
2. Results “HDEF@1B” under AppleACPIPCI
and “HDEF@0,1” under PEG1@1

Layout-ID = <01 00 00 00> for HDEF@1B
Layout-ID = <01 00 00 00> for HDEF@0,1



Determine Motherboard Audio Codec Device_ID
1. Select second line after HDEF@1B
2. IOHDACodecDevice@1B,2
Results:
IOHDACodecAddress = 0x2
IOHDACodecRevisionID = 0x100004
IOHDACodecVendorID = 0x10ec889



EVALUATE IOReg
Determined: Series 5 AWARD fix. Used Evaluation #3

3. Award BIOS /5 Series /6 Series (Verify PEG0 address, 1 or 3)
PEG1@1 :: #address-cells = <03 00 00 00>

Result:
Patch File Edits
1. Opened the Patch Window in MaciASL
2. Selected “Award-BIOS-AMD-Nvidia-5series-A1” from Sources results
3. Allowed to load patch information and selected “Apply” and Closed Patch Window

End Result: Could not Compile DSDT because it returned Errors. These same errors were present on my last attempt before reformatting and reinstalling Yosemite. Opened the original DSDT file and tried to compile it through MaciASL and had same errors. Redownloaded the DSDT file and tried with same errors resulting.


Try AMI Evaluation for Series 5
2. AMI BIOS /5 Series /6 Series
—————————————
2a. If IOReg Shows P0P1@1, no edit is required
- No “P0Pn@n” present in IOReg or DSDT
2b. If IOReg shows ABCD@n, the edits are:
ABCD@n = PEG1@1

2c. Replaced PEG3, PEG5, PEG6 with “ABCD” (Was the purpose to remove “PEGn” items here?)
2d. Replaced address 0x000x10000 with 0x000n0000 (Is the n supposed to be any particular value?

2e. If IOReg shows no GFX@2, no edit is required
- No GFX items present in IOReg but there is a “GFX0” in my DSDT. Should this be removed?
2f. Replaced GFX0 in DSDT with “DEFG”
2h. If Audio ID: 1 is correct, no edit is required
- Installed “Audio ID = 1 via MultiBeast during setup to get onboard audio, but PEG address was <03 00 00 00> so by understanding, this requires editing?
2i. Find all “0x01, 0x00, 0x00, 0x00” and replace all with “0x03, 0x00, 0x00, 0x00”


End Result: Still cannot save file because of compile errors present in DSDT file.


Thank you for the time you're taking to help.


Note:
An HDEF was present, so do I still need to search “AZAL” which is present in 2 places in my DSDT?
(Lines taken from Award Patch Script Header)
# Important, If no HDEF, check:
# 1. If Device (AZAL) is present in your dsdt,
# Find: AZAL
# Replace All: HDEF
# 2. If Device (HDEF) is not present in your dsdt,
# see http://www.github.com/toleda/audio_ALCInjection
#
# 1. Remove PEGP device - if present
# 2. Rename device P0P1 to device PEGP - Verify IOReg/P0P1@1 or pci-bridge@1.
# If IOReg/P0P2@2, pci-bridge@2, etc. edit 0x00010000 to 0x00020000 (2x below)
# If IOReg/P0P3@3,NPE7@3,pci-bridge@3, etc. edit 0x00010000 to 0x00030000 (2x below)
# 3. Insert device GFX0 and device HDAU into device PEGP (AMD/Nvidia HDMI audio)
# 4. Insert layout-id=1 into device HDEF
 

Attachments

  • Step 5 - Search HDEF.png
    Step 5 - Search HDEF.png
    206.5 KB · Views: 118
  • Step 3 - Search GFX.png
    Step 3 - Search GFX.png
    67.1 KB · Views: 122
  • Step 2 - Search PEG.png
    Step 2 - Search PEG.png
    207 KB · Views: 134
  • Step 1a - Search Display.png
    Step 1a - Search Display.png
    187.7 KB · Views: 126
  • Step 1 - Search Display.png
    Step 1 - Search Display.png
    252.3 KB · Views: 148
  • [Guide]-OS X-hdmi_audio_(IOReg details)_v2.pdf
    1.5 MB · Views: 268
  • [Guide]_5series-hdmi_audio_(dsdt)_v2.pdf
    812.3 KB · Views: 283
  • Evaluation 2 - Compile Error.png
    Evaluation 2 - Compile Error.png
    356 KB · Views: 144
  • Evaluation 3 - Compile Error.png
    Evaluation 3 - Compile Error.png
    294.7 KB · Views: 145
  • Step 5 - Search HDEF (second).png
    Step 5 - Search HDEF (second).png
    197.5 KB · Views: 147
  • Tyler’s Mac Pro.ioreg
    3 MB · Views: 130
  • AppleHDA.kext.zip
    909.4 KB · Views: 72
  • org.chameleon.Boot.plist
    851 bytes · Views: 117
  • DSDT.aml
    16.3 KB · Views: 142
  • DPCI Manager.txt
    12.4 KB · Views: 84
End Result: Still cannot save file because of compile errors present in DSDT file.
Back up dsdt.
Fix compile errors, paste into MaciASL/Patch window
Code:
into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\(0x10\)[^\)]*) replaceall_matched
begin
%1Package() { Buffer%2}
end;
into_all all code_regex pnp0c14 replaceall_matched begin PNP0C14 end
Apply/Close/Compile

Edit AZAL to HDEF
See How to Add or Edit dsdt/HDEF v2
Use Patch/Rename dsdt/AZAL/Audio ID:1
Apply/Close/Compile

Add HDMI audio dsdt edits:
Use AMI-BIOS-AMD-Nvidia-5series-A1 (do not use Award patch)
Apply/Close/Compile

For AMD HDMI Audio, see Post #1/dsdt/ssdt HDMI audio/5. Discrete Graphics
[Guide]_AMD-hdmi_audio_v2.pdf

Reply with edited dsdt and IOReg.
 
Continued Procedure

Compressed Extra/DSDT.aml to desktop

Opened DSDT in MaciASL

Copied provided code into Patch Window. Applied/ Closed / Compiled

Search MaciASL for AZAL
Result: 2 places - Replace All with HDEF

Requirements:
1) Mavericks or Newer (Yosemite)
2) Device ID Codec = 10ec0889 - ALC889
3)
4) Successfully Compiled via code correction provided above.


No additional kexts to remove from S / L / E as per “How to Add or Edit dsdt/HDEF v2” instructions

Configured MaciASL with ALCInjection Source. Closed & Reopened MaciASL

Apply Edits:
1. Patch “Rename dsdt/AZAL/Audio ID: 1” from the ALC Injection Source
Apply / Close / Compile / Saved

Apply AMI Patch - 13 Patches, 4 Changes, 0 Rejects
Apply / Close / Compile / Saved

Verify Edits:

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

MaciASL / File / Save As / DSDT (ACPI…) in Extras/ - Replace Existing File

Verify DSDT after Reboot:
IOReg HDEF Search for Layout ID = <01 00 00 00>

VIOLA! HDMI Outputs show up in Sound System Preferences and both (DisplayPort to HDMI and regular HDMI) work perfectly!

When I do system updates, will I have to go through this entire procedure again or can I just install this DSDT that I now have edited via MultiBeast?

THANK YOU TOLEDA, YOU ARE AWESOME
 

Attachments

  • Functioning HDMI.ioreg
    3.2 MB · Views: 98
  • DSDT.aml
    16.8 KB · Views: 100
When I do system updates, will I have to go through this entire procedure again or can I just install this DSDT that I now have edited via MultiBeast?
System Updates have no effect on the dsdt. A BIOS update does update the dsdt. Unlikely, there will be a BIOS update for your system.
After a Software Update, run MultiBeast/ALC889 to restore audio.
 
Got prompted for an update to nvidia web drivers today for my GTX 970. Installed it and rebooted to no HDMI audio. 898 works but HDMI is gone. I tried to create a new DSDT from the 7 series guide, but when I get to the 2nd compile I now receive errors.
 

Attachments

  • [Guide]_OS_X_hdmi_audio-dsdt_v2.pdf
    788.1 KB · Views: 162
  • JOO-YiN’s Mac Pro.ioreg
    3.3 MB · Views: 120
  • 2nd compiler.png
    2nd compiler.png
    135.4 KB · Views: 133
  • AppleHDA.kext.zip
    909.7 KB · Views: 71
  • DSDT.aml
    45.6 KB · Views: 114
  • org.chameleon.Boot.plist
    734 bytes · Views: 135
  • Screen Shot 2014-12-22 at 10.25.24 PM.png
    Screen Shot 2014-12-22 at 10.25.24 PM.png
    143.5 KB · Views: 123
I get to the 2nd compile I now receive errors.
Attached dsdt is patched correctly. Cannot patch a patched dsdt. Use as is.
Display is not reported as a HDMI device. What display is connected?
Likely an issue with the new driver. Suggest reverting to working driver.
 
Attached dsdt is patched correctly. Cannot patch a patched dsdt. Use as is.
Display is not reported as a HDMI device. What display is connected?
Likely an issue with the new driver. Suggest reverting to working driver.

reverting worked. Pretty weird update.
 
I have a 4930k, Sabertooth x79, and a GTX 970. DSDT Free system. What audio enabler should I use for HDMI audio?
 
Status
Not open for further replies.
Back
Top