Contribute
Register

[Easy Guide] ML: UEFI HDMI Audio

Status
Not open for further replies.

toleda

Moderator
Joined
May 19, 2010
Messages
22,845
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. 512K
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
2787035531_066ba1ee85.jpeg

HD4000 HDMI Audio
Ivy Bridge/7 Series/Socket 1155/UEFI - HD4000/AMD/Nvidia HDMI Audio

[Easy Guide] A simple HDMI Audio dsdt editing tool for OS X HDMI audio on UEFI motherboards. Despite the perception, all Intel based systems (including UEFI), have a DSDT. OS X HDMI audio requires dsdt edit to enable HDMI audio. Based on MaciASL built by SJ_UnderWater, the Apply button automatically makes the HDMI audio dsdt edits to your dsdt in a half dozen steps. No DSDT, no problem.

UEFI HDMI Audio dsdt edits - Desktop/Laptop/Intel NUC
toleda/audio_hdmi_uefi · GitHub
Configure MaciASL/Preferences/Sources/+ with URL:
Code:
https://raw.github.com/toleda/audio_hdmi_uefi/master

For HD4000 HDMI audio without dsdt edits, see ML: UEFI HDMI audio, no dsdt edits

Benefits
1. Automated dsdt editing for HDMI audio
2. Installs HD4K/HD3K HD Graphics HDMI audio dsdt edits
3. Installs AMD/Nvidia discrete graphics HDMI audio dsdt edits
4. Enables native CPU and GPU power management (with proper sysdef and ssdt)
5. Enables HD4K/HD3K HD Graphics with GraphicsEnabler=No
6. Supports HDMI audio on all Nvidia 6xx Kepler video connectors (HDMI, DP, DVI)
7. Minimum edits, no Method (DTGP.., faster boot

Before You Start:
1. OS X does not provide HDMI audio controls (No volume, no mute, no balance, etc.)
2. The connected HDMI device (TV, receiver, etc.) provides any and all audio controls

Requirements
1. AMI UEFI/Intel based motherboard
1a. Not supported - X79​
2. OS X
2a. Mavericks - 10.9 and newer
2b. Mountain Lion - 10.8.3 and newer​
3. dsdt - no compile errors
3a. No dsdt, see PJALM's DSDT Patches
4. Motherboard onboard audio codec
4a. Realtek supported audio codecs (8xy): 885, 887, 888, 889, 892, 898
4b. Unsupported audio codecs: HDMI audio works with any unsupported audio codec/no onboard audio​
5. AppleHDA.kext (one of the following)
5a. MultiBeast 5.2.1 or newer/Audio/Realtek ALC8xx/With DSDT/ALC...
5b. Native AppleHDA.kext (unsupported audio codecs)​

Not Supported
1. AMD HD7xxx HDMI audio, 0210 01aa_v100300 HDMI codec not supported
2. GTS 450, GTX 550 ti and GTX 560 ti (work arounds available)

More Information
Special HDMI Audio Considerations
Detailed Instructions
See Mountain Lion HDMI Audio - AMI DSDT

Tools
1. MaciASL SourceForge.net: MaciASL - Project Web Hosting - Open Source Software
2. IORegistryExplorer see [Guide] How to Make a Copy of IOReg
3. CarbonCopyCloner or SuperDuper
4. Download/ZIP: https://github.com/toleda/audio_hdmi_uefi

Audio IDs (10.8 AppleHDA.kext_v2.3.0 or newer)
1. Audio ID 1/A1: supports AMD/Nvidia HDMI and 3, 5 and 6 port ALC8xx onboard audio (HD3000/HD4000 HDMI audio not available)
2. Audio ID 3/A3: supports HD3000/HD4000 with or without AMD/Nvidia HDMI and 3, 5 and 6 port ALC8xx onboard audio (Black port - not available)

Patches
ib1. UEFI-Clean Compile - fix native dsdt compiler errors for successful dsdt edits
uefi1. Desktop-AMD/Nvidia-A1 - AMD/Nvidia HDMI audio dsdt edits
uefi2. Desktop-HD4K/HD3K/AMD/Nvidia-A3 - HD4000 HDMI audio dsdt edits
uefi3. Laptop-A3-FB_01 - Laptop HD4K/HD3K HDMI audio dsdt edits
uefi4. Laptop-A3-FB_03 - Laptop HD4K/HD3K HDMI audio dsdt edits
uefi5. NUC-HD4K-A1 - NUC HDMI audio edits (2xHDMI and TB)
ib4. HD4K-on-6_Series_MEI - HD4K MEI dsdt edit (apply once, only with uefi1 - uefi4)
sb5. HD3K-on-7_Series_MEI - HD3K MEI dsdt edit (apply once, only with uefi1 - uefi4)

Location.aml - dsdt.aml installation folder
1. Chameleon/Chimera - Extra/
2. Clover - EFI/Clover/ACPI/Patched/

UEFI dsdt edit preparation
1. Copy Extra/dsdt.aml to Desktop
2. Backup dsdt.aml
3. Install MaciASL, see Tools/1.
4. Configure MaciASL/Preferences/Sources/+/https://raw.github.com/toleda/audio_hdmi_uefi/master
5. Make a copy of IOReg, see Tools/2.
6. Make bootable backup of system, see Tools/3.
7. Verify no audio enablers (S/L/E/HDAEnabler1.kext, HDAEnabler8xx.kext, etc.)
7a. If present, delete the enabler, fix permission and rebuilt cache.​
8. Verify no device-properties injection (Extra/org.chameleon.Boot.plist)
8a. If present, edit/Extra/org.chameleon.Boot.plist, delete the injection string, save.​

UEFI HDMI audio dsdt edits
1. MaciASL/Open dsdt.aml
1a. Verify AMI dsdt (1st line)
1b. DefinitionBlock ("./dsdt.aml", "DSDT", 2, "ALASKA", "A M I", 0x000000..)
1c. If dsdt is not AMI, this method will not work. Full Stop.​
2. Optional: Fixes some Compiler Warnings and Messages
2a. Patch/MaciASL/Patch/toleda_hdmi_uefi/
2b. Select UEFI-Clean Compile
2c. Apply/Close/Compile]
2d. If errors (warnings and messages OK), see Troubleshooting/4​
3. MaciASL/Patch/toleda_hdmi_uefi/
3a. Select patch (i.e., Desktop-HD4K/HD3K/AMD/Nvidia-A)
3b. MaciASL/Apply/Close/Compile​
4. MaciASL/File/Save As… /ACPI Machine Language Binary/Desktop/dsdt.aml (add extension)
5. MaciASL/File/Save As… /ACPI Machine Language Binary/Location.aml/dsdt.aml (add extension)
6. Restart

Notes
1. HD4K/HD3K HD Graphics may require framebuffer edits for working HDMI audio
2. AMD HD 5xxx and 6xxx graphics may require framebuffer edits for working HDMI audio

Verify HDMI Audio
1. System Preferences/Sound/Outputs
Z77-I Deluxe/HD4000-DP and HDMI/HD6870-HDMI
z77i-hd4000-HD6870-audio.png

Troubleshooting
1. Verify HDMI device connected
1a. System Information/Graphics/Display/HDMI device name/Television/Yes​
2. Verify Extra/dsdt.aml is
2a. .aml file
2b. edited​
3. Run IOReg/Verify Devices (PEGP, GFX0, HDAU, HDEF and IGPU)
3a. Device (IGPU) may not be present if HD4000 Graphics is not enabled
3b. Device (GFX0) and Device (HDAU) may not be present if no discrete graphics​
4. Problem Reporting
4a. Motherboard/BIOS version/processor/graphics/OS and version
4b. Procedure/Guide Used
4c. dsdt/native (.dsl)
4d. dsdt/edited (.dsl)
4e. copy of IOReg​

Credits:
PikeRAlpha:USB 3.0 DSDT mods
PJALM: PJALM's DSDT Patches
RehabMan:ASUS DSDT Patch Repository for MaciASL - Page 3
SJ_UnderWater: Native DSDT/AML IDE & Compiler: MaciASL Open Beta
VCH888: ALC889A, Gigabyte (Intel): now having a working front mic - Page 38 - Sound - InsanelyMac Forum
 
Last edited by a moderator:
Oh my god i did it, finally ,it works.
All i ended to do is too in MacIASL open patch ,and aplay HD4k HDMI perch.
After reset my LG tv plays sound through HDMI.
 

Attachments

  • Screen Shot 2013-06-13 at 8.33.04 AM.jpg
    Screen Shot 2013-06-13 at 8.33.04 AM.jpg
    118.3 KB · Views: 1,272
  • Screen Shot 2013-06-13 at 8.32.12 AM.png
    Screen Shot 2013-06-13 at 8.32.12 AM.png
    117.1 KB · Views: 840
I haven't been able to get this to work.

I first got my original DSDT
Patched it with Z77x-ud5h (PJAM)
Then patched the HD 4000 graphics (PJAM)

THen did the UEFI Clean Patch
Then did the uefi2 patch

rebooted and I do not get hdmi audio.

Here's a link to a dropbox folder with the DSDTs
https://www.dropbox.com/sh/e1idwp7c1y8ki11/rNVIuKdFuW

I tried running IOReg but it just crashes
I am using a i7 3770k with the HD4000 graphics ga-z77x-ud5h
 
I first got my original DSDT
Patched it with Z77x-ud5h (PJAM)
Then patched the HD 4000 graphics (PJAM)

THen did the UEFI Clean Patch
Then did the uefi2 patch
Note this error is in patchedDSDT.dsl
* iASL Warning: There were 6 external control methods found during
* disassembly, but additional ACPI tables to resolve these externals
* were not specified. This resulting disassembler output file may not
* compile because the disassembler did not know how many arguments
* to assign to these methods. To specify the tables needed to resolve
* external control method references, use the one of the following
* example iASL invocations:
* iasl -e <ssdt1.aml,ssdt2.aml...> -d <dsdt.aml>
* iasl -e <dsdt.aml,ssdt2.aml...> -d <ssdt1.aml>
*/

The PJALM "Graphics" patches include HDMI audio edits. Do not apply additional HDMI audio patches.

The PJALM steps for the Z77X-UD5H are:
1. Gigabyte repo: Z77X-UD5H
2. Graphics repo: Generic Discrete Graphics (AMD/Nvidia) - Optional
3. Graphics repo: HD4000
 
So start with a clean DSDT

Patch PJALM z77x-ud5h

patch the discrete PJALM patch (optional... but should I do it? yes or no?)

then patch the HD4000 PJALM (and this already includes hd4000 hdmi audio)?

And that's it?
 
OK I did the steps I outlined above and it works :headbang:

Interestingly HDMI audio only seems to work via the HDMI port not the DVI port... (not that big of a deal, but believe it or not I did have it working the other way around at one point o_O )

In any case thank you guys :)
 
OK I did the steps I outlined above and it works :headbang:

Interestingly HDMI audio only seems to work via the HDMI port not the DVI port... (not that big of a deal, but believe it or not I did have it working the other way around at one point o_O )

In any case thank you guys :)

DVI doesn't carry audio, the only way to have the audio working with DVI is use a a separate audio cable between source and screen. Glad you got HDMI audio working anyway :thumbup:


Adrian B



EDIT - Thanks for the update Toleda, #10, I was not aware that was the case :thumbup:
 
OK I did the steps I outlined above and it works
Interestingly HDMI audio only seems to work via the HDMI port not the DVI port... (not that big of a deal, but believe it or not I did have
All Nvidia 4xx, 5xx, 6xx graphics cards support HDMI audio on DVI ports with a DVI2HDMI adapter. AMD/DVI and Intel/DVI do not support audio in any configuration.
Enjoy.
 
Status
Not open for further replies.
Back
Top