Contribute
Register

ML: UEFI HDMI audio, no dsdt edits

toleda

Moderator
Joined
May 20, 2010
Messages
24,101
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS

HD4000 HDMI Audio, no dsdt edits required
Ivy Bridge/7 Series/Socket 1155/UEFI - HD4000/AMD/Nvidia HDMI Audio

v2 Mavericks HDMI Audio Guides
See Post #1 Mavericks: HDMI Audio - AppleHDA [Guide]

v1 Mavericks HDMI Audio Guides
(Deprecated - 10/1/2014)
This guide is no longer supported
Do not expect a reply if you post to this thread.


OS X HDMI audio for UEFI/Ivy Bridge systems with the native dsdt. One step, install the HDMI audio enabling SSDT to Extra and restart to HDMI audio. More good news, the ML HDMI Audio SSDT survives OS X and BIOS updates. Ideal for systems with no onboard audio requirements (i.e., HTPCs, BRIX, NUC), uses native AppleHDA.kext.

UEFI HDMI Audio ssdt - Desktop
audio_hdmi_uefi/ssdt_7series at master · toleda/audio_hdmi_uefi

Requirements (this version, UEFI HDMI Audio SSDT)

  1. AMI UEFI BIOS - native dsdt, no dsdt/HDMI audio edits (see Note 1)
  2. Ivy Bridge/HD4000 processors/7 Series motherboards only (see Note 2)
  3. HD4000 and native OS X HDMI audio graphics support including Nvidia 4xx, 5xx, 6xx and some AMD
  4. OS X 10.8.4 and newer.
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
  3. Remove S/L/E/HDAEnabler1.kext or S/L/E/HDAEnabler2.kext (if present)
  4. Remove any property-type injection (Extra/org.chameleon.Boot.plist)
Download
See link above.
Location.aml - dsdt.aml/ssdt.aml installation folder

  1. Chameleon/Chimera - Extra/
  2. Clover - EFI/Clover/ACPI/Patched/
Installation

  1. Copy Downloads/ssdt-audio_uefi_hdmi_v3/SSDT-1.aml to Location.aml
    1. If Location.aml/SSDT.aml is present, install Downloads/audio_ssdt-uefi_hdmi_v3/SSDT-1.aml as Location.aml/SSDT-1.aml
    2. If no Location.aml/SSDT.aml, rename Downloads/audio_ssdt-uefi_hdmi_v3/SSDT-1.aml to SSDT.aml and install as Location.aml/SSDT.aml
    3. The 1st SSDT is SSDT, 2nd is SSDT-1, 3rd is SSDT-2, etc.; no gaps
  2. Enable SSDT
    1. Chimera or Chameleon - Extra/org.chameleon.Boot.plist
      1. Code:
        [INDENT=2]<key>DropSSDT</key>
        [/INDENT]
        [INDENT=2]<string>Yes</string>
        [/INDENT]
    2. Clover_v2000+ - EFI/CLOVER/config.plist/ACPI/SSDT
      1. Code:
        [INDENT=2]<key>DropOem</key>
        [/INDENT]
        [INDENT=2]<true/>
        [/INDENT]
  3. Rebuild kernel cache - see Tools: 4
  4. Restart
  5. Verify HDMI audio
Native HDMI Audio Graphics

  1. HD4000 (framebuffer editing may be required)
    1. HDMI display on port 0x7, native, typically, Gigabyte and Asus motherboards
    2. HDMI display on port 0x6, framebuffer edit required (see guide below), typically, Intel, MSI, and Zotac motherboards
    3. DP audio supported on port 0x5 and port 0x6
  2. Nvidia 4xx/5xx/6xx7xx
    1. ​Not supported natively: GTS 450, GTX 550ti, and GTX560ti
    2. All Nvidia graphic card connectors support HDMI audio (DVI2HDMI, DP2HDMI)
    3. DP audio supported
  3. AMD HD5xxx/HD6xxx (framebuffer injection and editing may be required)
    1. ​Framebuffers, see ATI/AMD 5xxx & 6xxx Graphics Cards Framebuffer Personalities
    2. Framebuffer edits, Lion HDMI Audio - Part 3a: Kext Edits - AMD
    3. DP audio supported
  4. Supported Configurations (ML UEFI HDMI Audio SSDT)
    1. ​HD4000 only
    2. Nvidia only
    3. AMD only
    4. HD4000 and Nvidia
    5. HD4000 and AMD
Troubleshooting

  1. Verify HDMI device connected
    1. System Information/Graphics/Display/HDMI device name/Television/Yes
  2. Run IOJones/Verify Devices (PEGP, GFX0 and HDEF)
    1. Device (GFX0) may not be present if HD4000 Graphics is not enabled
    2. Device (PEGP) may not be present if no discrete graphics
Problem Reporting

  1. Motherboard/BIOS version/processor/graphics/OS and version
  2. Iinstalled SSDT
  3. Extra/org.chameleon.Boot.plist or Clover/config.plist/
  4. IOJones or IOReg
Notes

  1. Do do not use this method if you already have HDMI audio
  2. Any post requesting help on anything other than an UEFI/Ivy Bridge/HD4000 processor/7 Series motherboard will be deleted
Credit
bcc9 http://www.insanelymac.com/forum/topic/290783-intel-hd-graphics-4600-haswell-working-displayport/?p=1934889
PikeRAlpha Intel HD4600 with full resolution | Pike's Universum
RehabMan

Tools (Guides below)

  1. Find HD4000 HDMI port-number: Alternative to IORegistryExplorer: IOJones
  2. Patch Capri framebuffer for port 0x6: see Patcho, a simple hex binary patcher
  3. Rebuild kernel cache: see http://sourceforge.net/projects/dpcimanager/
Find HD4000 HDMI port-number

  1. Boot system with only HDMI display connected
  2. Open Downloads/IOJones
  3. Search: display
    1. Screenshot
    2. Screen Shot 2013-08-07 at 3.36.54 PM.png
  4. Select: AppleDisplay
  5. Cancel Search (X)
  6. Select: AppleIntelFramebuffer (above AppleDisplay)
  7. Scroll Property window to port-number
  8. Note port-number
    1. Screenshot
    2. Screen Shot 2013-08-07 at 3.37.33 PM.png
Patch Capri framebuffer for port 0x6

  1. Open Downloads/capri06 (double click)
  2. Terminal/Enter Password
    • 0x0005EA11: 5B (or similar)
  3. Successful patch
Code:
Last login: Sat Aug  3 22:07:48 on ttys002
$ Downloads/capri06 ; exit;
Using embed
0A00660100020302000000020000000100000020100700001007000000000000000000000000000000000000000000000205000000040000070100000304000000 0400000701 0800000600 /System/Library/Extensions/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri
File cannot be modified, trying sudo
Password:
0x0005EA11: 5B
logout
Rebuild kernel cache

  1. Open Downloads/DPCIManager/DPCIManager
  2. Select: Rebuild Cache
    1. Screenshot
    2. Screen Shot 2013-08-07 at 5.56.43 PM.png
 

tonymacx86

Administrator
Staff member
Joined
Nov 18, 2009
Messages
8,485
Motherboard
GA-Z270X-UD5
CPU
Core i3-7100
Graphics
HD 630
Mac
MacBook Pro, Mac mini
Classic Mac
Apple, PowerBook
Mobile Phone
iOS
Joined
Jul 29, 2012
Messages
81
Motherboard
AsRock Z77 Pro4-M
CPU
Intel i5 3570k
Graphics
Sapphire 6870
Mac
Classic Mac
Mobile Phone
I did what you said, however I do not get HDMI audio. Firstly I am not sure about one thing - do I need an unedited DSDT in extra folder or can I just remove it since I only use it for HDMI audio edits.

I am AsRock z77 Pro4-M with modified bios v1.60 with i5 3570k as the processor. My graphics card is Sapphire Radeon HD 6870 which I needed to edit the kext to get working. I'm using Mountain Lion 10.8.4

I have attached the IOJones files however I do not understand when you say "Copy of installed SSDT". Do you mean, the ssdt file I downloaded from this post or my current ssdt so the system definition?
 

Attachments

Joined
Sep 22, 2012
Messages
615
Motherboard
UD5H
CPU
3770k OC to 4.8ghz EVO 212
Graphics
GTX 760 SLI
Mac
Classic Mac
Mobile Phone
Worked on my UD5H with a 650ti. The directions seem a little complicated, but it really isn't. All I did was unzip the file, rename SSDT-1.aml to SSDT.aml and drop it in my Extras folder located at the root of my boot drive. Easy, thanks so much for making HDMI audio so easy. As a note, HDMI audio wont show up under system preferences unless, there is an HDMI device connected.
Screen Shot 2013-08-08 at 7.01.38 PM.png
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,101
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
do I need an unedited DSDT in extra folder or can I just remove it since I only use it for HDMI audio edits.
IOJones is incomplete and not helpful. Why are you messing with a system that already works?
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,101
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
Worked on my UD5H with a 650ti.
There should not be 2 Intel High Definition Audio entries in your screenshot. Looks like you did not follow the complicated instructions. Specifically, Remove S/L/E/HDAEnabler1.kext or S/L/E/HDAEnabler2.kext (if present)
 
Joined
Jul 29, 2012
Messages
81
Motherboard
AsRock Z77 Pro4-M
CPU
Intel i5 3570k
Graphics
Sapphire 6870
Mac
Classic Mac
Mobile Phone
IOJones is incomplete and not helpful. Why are you messing with a system that already works?
Sorry about the iojones. Im just curios and wanted to try it :D Im not a huge fan of messing around with DSDT's so I thought if this works, it will make future installations a bit simpler. I've attached another iojones file hopefully this time I did it correctly
 

Attachments

Joined
Jul 22, 2012
Messages
16
Motherboard
Asus P8Z77-V
CPU
i7 3770 (@4.1Ghz Turbo)
Graphics
Sapphire RX 480 Nitro+
Mac
MacBook Air
Mobile Phone
Android
Hi toleda,

I tried the SSDT but there is no HDMI audio on HD4000. With my own patched DSDT there is HDMI audio so I suppose the framebuffer patch for my MSI board is correct. I want get rid of my DSDT because the operation regions always change after bios settings and I have to change the dsdt every time.

If I boot stock (without my DSDT) the HDEF DSM from SSDT injects, I have audio with ID 3, but no HDMI audio. Maybe the path in my ACPI tree is different for GFX0 and the SSDT need some changes??
 

Attachments

toleda

Moderator
Joined
May 20, 2010
Messages
24,101
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
If I boot stock (without my DSDT) the HDEF DSM from SSDT injects, I have audio with ID 3, but no HDMI audio.
Requirements
1. AMI UEFI BIOS (native dsdt/no dsdt/HDMI audio edits)
The attached dsdt has been edited with PJALM dsdt edits (includes HDMI audio); do not use this dsdt with Post #1 SSDT.

See Post #1, Problem Reporting, reply with requested information
No IOJones
 
Top