Contribute
Register

Mountain Lion HDMI Audio - HD4000

toleda

Moderator
Joined
May 20, 2010
Messages
24,206
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
Mountain Lion HDMI Audio - New Guides, See Mountain Lion HDMI Audio
Recommend applying new edits to a new unedited dsdt and replacing the current edited dsdt.
Download deleted.

Mountain Lion HDMI Audio - HD4000/Ivy Bridg
e

Introducing a new simple and easy HDMI Audio dsdt editing tool for HD4000 HDMI audio. Based on the DSDT Editor built by MaLd0n, pushing the Apply button automatically adds the HDMI audio dsdt edits to your dsdt. This version is exclusively for HD4000 HDMI audio on Ivy Bridge motherboards running OS X Mountain Lion.

Edit - 8/3/12 - Updated patch script to v1; removes existing HDEF and IGPU injections.

Benefits
1. Automated HDMI audio dsdt editing
2. Works with most Ivy Bridge dsdts
3. Enables HD4000 HDMI audio (determined by Audio ID)
4. Installs AMD/Nvidia discrete graphics card HDMI audio

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. Ivy Bridge System
a. Ivy Bridge motherboard (Z77 and H77, B75 not tested)
b. Ivy Bridge/HD4000 processor (Desltop: 3770K, 3770. 3770S, 3770T, 3570K, 3475K, 3225)
2. OS X
a. Mountain Lion - 10.8 and newer
3. dsdt - no compile errors
4. AppleHDA.kext on board audio version 2.2.0 or newer from MultiBeast/Patched AppleHDA
5. Realtek supported audio codecs (8xy): 887, 888, 889, 892, 898
6. Chimera - 1.11 or newer

Tools
1. DSDT Editor - Registration required, olarila.com • View topic - DSDT editor and patcher
2. IORegistryExporer see [Guide] How to Make a Copy of IOReg
3. Applications/Utilities/Console
4. Applications/TextEdit
5. Carbon Copy Cloner or SuperDuper

HD4000 Audio ID
1. Determine Audio ID
a. ALC887, use Audio ID: 387
b. ALC888, use Audio ID: 388
c. ALC889, use Audio ID: 389
d. ALC892, use Audio ID: 392
e. ALC898, use Audio ID: 398
2. HD4000 Audio IDs are the same as HD3000 Audio IDs.

Installation - Detailed
1. See Downloads/hd4000_hdmi_audio_dsdt_editing_kit/Read Me First- hd4000_hdmi_audio

Attachment
1. hd4000_hdmi_audio_dsdt_editing_kit_v1
Download deleted.

layout-id - TextEdit
1. TextEdit/Edit layout-id
a. ALC887, use Audio ID: 387, layout-id 0x83, 0x01, 0x00, 0x00
b. ALC888, use Audio ID: 388, layout-id 0x84, 0x01, 0x00, 0x00
c. ALC889, use Audio ID: 389, layout-id 0x85, 0x01, 0x00, 0x00
d. ALC892, use Audio ID: 392, layout-id 0x88, 0x01, 0x00, 0x00
e. ALC898, use Audio ID: 398, layout-id 0x8E, 0x01, 0x00, 0x00

Apply Edits - DSDT Editor
1. DSDT Editor/Open dsdt.aml
2. DSDT Editor/Patch/Open hdmi_audio_ivy_bridge.txt
3. DSDT Editor/Patch/Apply
4. DSDT Editor/iASL/Compile

Verify Edits - DSDT Editor
1. DSDT Editor/Find HDEF (1x), represented as Device (HDEF)
2. DSDT Editor/Find IGPU (1x), Next, until represented as Device (IGPU)

Save dsdt - DSDT Editor
1. DSDT Editor/iASL/Save .aml As… Desktop//hd4000_hdmi_audio_dsdt_editing_kit/dsdt. aml (add extension)

Install dsdt.aml - DSDT Editor
1. DSDT Editor/iASL/Save .aml As…Extra/dsdt.aml (add extension)

Restart

Verify HDMI Audio
1. About This Mac/Overview
z77i_deluxe_hd4000_hdmi_audio_mini.png

2. About This Mac/Displays
z77i_deluxe_hd4000_hdmi_audio_summary.png

3. System Preferences/Sound/Outputs

z77i_deluxe_hd4000_hdmi_audio_sound_a.png

4. System Preferences/Displays
z77i_deluxe_hd4000_hdmi_audio_display_a.png



Notes
1. Audio ID: 398 (Default) in hdmi_audio_ivy_bridge.txt
2. No frame buffer edits (AppleIntelFramebufferCapri.kext) with the following AAPL,ig-platform-id
a. 0a 00 66 01
b. 0b 00 66 01

dsdt Edits
1. HDEF (Audio ID: 398, hex 18e)
Code:
[FONT=Helvetica]        Device (HDEF)[/FONT]
[FONT=Helvetica]        {[/FONT]
[FONT=Helvetica]            Name (_ADR, 0x001B0000)[/FONT]
[FONT=Helvetica]....[/FONT]
[FONT=Helvetica]....[/FONT]
[FONT=Helvetica]
[/FONT]
[FONT=Helvetica]            Method (_DSM, 4, NotSerialized)[/FONT]
[FONT=Helvetica]            {[/FONT]
[FONT=Helvetica]                Store (Package (0x06)[/FONT]
[FONT=Helvetica]                    {[/FONT]
[FONT=Helvetica]                        "hda-gfx", [/FONT]
[FONT=Helvetica]                        Buffer (0x0A)[/FONT]
[FONT=Helvetica]                        {[/FONT]
[FONT=Helvetica]                            "onboard-1"[/FONT]
[FONT=Helvetica]                        }, [/FONT]
[FONT=Helvetica]
[/FONT]
[FONT=Helvetica]                        "layout-id", [/FONT]
[FONT=Helvetica]                        Buffer (0x04)[/FONT]
[FONT=Helvetica]                        {[/FONT]
[FONT=Helvetica]                            0x8E, 0x01, 0x00, 0x00[/FONT]
[FONT=Helvetica]                        }, [/FONT]
[FONT=Helvetica]
[/FONT]
[FONT=Helvetica]                        "PinConfigurations", [/FONT]
[FONT=Helvetica]                        Buffer (Zero) {}[/FONT]
[FONT=Helvetica]                    }, Local0)[/FONT]
[FONT=Helvetica]                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))[/FONT]
[FONT=Helvetica]                Return (Local0)[/FONT]
[FONT=Helvetica]            }[/FONT]
[FONT=Helvetica]        }[/FONT]


2. IGPU (renamed from GFX0)
Code:
[FONT=Helvetica]       Device (IGPU)[/FONT]
[FONT=Helvetica]        {[/FONT]
[FONT=Helvetica]            Name (_ADR, 0x00020000)[/FONT]
[FONT=Helvetica]....[/FONT]
[FONT=Helvetica]....[/FONT]

[FONT=Helvetica]            Method (_DSM, 4, NotSerialized)[/FONT]
[FONT=Helvetica]            {[/FONT]
[FONT=Helvetica]                Store (Package (0x06)[/FONT]
[FONT=Helvetica]                    {[/FONT]
[FONT=Helvetica]                        "device-id", [/FONT]
[FONT=Helvetica]                        Buffer (0x04)[/FONT]
[FONT=Helvetica]                        {[/FONT]
[FONT=Helvetica]                            0x66, 0x01, 0x00, 0x00[/FONT]
[FONT=Helvetica]                        }, [/FONT]
[FONT=Helvetica]
[/FONT]
[FONT=Helvetica]                        "AAPL,ig-platform-id", [/FONT]
[FONT=Helvetica]                        Buffer (0x04)[/FONT]
[FONT=Helvetica]                        {[/FONT]
[FONT=Helvetica]                            0x0A, 0x00, 0x66, 0x01[/FONT]
[FONT=Helvetica]                        }, [/FONT]
[FONT=Helvetica]
[/FONT]
[FONT=Helvetica]                        "hda-gfx", [/FONT]
[FONT=Helvetica]                        Buffer (0x0A)[/FONT]
[FONT=Helvetica]                        {[/FONT]
[FONT=Helvetica]                            "onboard-1"[/FONT]
[FONT=Helvetica]                        }[/FONT]
[FONT=Helvetica]                    }, Local0)[/FONT]
[FONT=Helvetica]                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))[/FONT]
[FONT=Helvetica]                Return (Local0)[/FONT]
[FONT=Helvetica]            }[/FONT]
[FONT=Helvetica]        }[/FONT]
Credits:
VCH888; ALC889A, Gigabyte (Intel): now having a working front mic - insanely-mac Forum - Page 38
MaLd0n/oldnapalm/Cassio: olarila.com • View topic - DSDT editor and patcher
 
Last edited by a moderator:
Joined
Aug 12, 2011
Messages
435
Motherboard
HP DV7-6190sl
CPU
2630qm
Graphics
Intel HD3000+AMD 6770m
Mobile Phone
  1. Android
I state that I am having problems with the new ML AppleHDA (Patch AppleHDA binary failed for IDT codec 111d:7605)....

why you used on board hda-gfx onboard-2 under iGPU instead of onboard-1 as in gma.c ?

Code:
[TABLE="class: code"]
[TR="class: c-line"]
[TD="class: mono prettyprint"]␉{␊
[/TD]
[/TR]
[TR="class: c-line"]
[TD="class: code-lc"][URL="http://www.tonymacx86.com/#L295"]295[/URL]
[/TD]
[TD="class: mono prettyprint"]␉␉devprop_add_value(device, "built-in", &BuiltIn, 1);␊
[/TD]
[/TR]
[TR="class: c-line"]
[TD="class: code-lc"][URL="http://www.tonymacx86.com/#L296"]296[/URL]
[/TD]
[TD="class: mono prettyprint"]␉␉devprop_add_value(device, "class-code", ClassFix, 4);␊
[/TD]
[/TR]
[TR="class: c-line"]
[TD="class: code-lc"][URL="http://www.tonymacx86.com/#L297"]297[/URL]
[/TD]
[TD="class: mono prettyprint"]␉␉devprop_add_value(device, "device-id", hd4k_device_id, 4);␊
[/TD]
[/TR]
[TR="class: c-line"]
[TD="class: code-lc"][URL="http://www.tonymacx86.com/#L298"]298[/URL]
[/TD]
[TD="class: mono prettyprint"]␉␉devprop_add_value(device, "hda-gfx", (uint8_t *)"[COLOR=#ff0000]onboard-1[/COLOR]", 10); ␊
[/TD]
[/TR]
[TR="class: c-line"]
[TD="class: code-lc"][URL="http://www.tonymacx86.com/#L299"]299[/URL]
[/TD]
[TD="class: mono prettyprint"]␉␉devprop_add_value(device, "AAPL,ig-platform-id", ig_id, 4);␊
[/TD]
[/TR]
[/TABLE]

I wanted to find my HD3000 audio over HDMI (ever had), the question is of course referring only to HDMI (not have HD4000), but curiosity for onboard 1 or 2 I believe is the same

thanks
 
Joined
Jun 2, 2011
Messages
19
Motherboard
ASROCK A7M
CPU
2500K
Graphics
6850
Mac
Classic Mac
Mobile Phone
Thanks toleda so much for your detailed explanation on how to get HD 4000 HDMI audio to work.

I have a 3570k, H77M-ITX. Installed ML, everything works including HD 4000 video. HDMI audio doesn't show up of course without your edit. I am trying to install your edit into my DSDT but I get the following error: Line: 8557 Name already exists in scope (_DSM).

I did not let it go further. I attached my original DSDT.aml file which works perfectly for everything else except hdmi audio if you can help me figure it out. I also have a Realtek 892. I of course changed the layout id in your text file and followed all the steps.

edit. forgot to mention, the dsdt was already edited for use with Lion and HD3000. It worked perfectly with HD 3000 including HDMI on Lion. I'm not sure if there are changes that are needed for HD 4000 and ML.
 

Attachments

  • hdmi_audio_ivy_bridge.txt
    4.8 KB · Views: 1,570
  • DSDT.aml.zip
    14.2 KB · Views: 267

toleda

Moderator
Joined
May 20, 2010
Messages
24,206
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
I state that I am having problems with the new ML AppleHDA (Patch AppleHDA binary failed for IDT codec 111d:7605)....

I wanted to find my HD3000 audio over HDMI (ever had), the question is of course referring only to HDMI (not have HD4000), but curiosity for onboard 1 or 2 I believe is the same
For HD3000 HDMI audio, see Lion HDMI Audio -Part 2b: DSDT Edits/Integrated Intel HD3000,; ML is the same. On board audio has to work with AppleHDA.kext for HDMI audio to work.
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,206
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
edit. forgot to mention, the dsdt was already edited for use with Lion and HD3000. It worked perfectly with HD 3000 including HDMI on Lion. I'm not sure if there are changes that are needed for HD 4000 and ML.
The edits for HD3000 HDMI audio are different than HD4000 HDMI audio. The patch is not intended to update HD3000 HDMI audio. It is best to start with a clean compile native dsdt. Otherwise, you have to remove the Method (_DSM... from HDEF and IGPU before you apply the HD4000 patch.

Edit - 8/3/12 - Updated patch script to remove existing HDEF and IGPU injections. Download hd4000_hdmi_audio_dsdt_editing_kit_v1 and run with your current dsdt for HD4000 HDMI audio.
 
Joined
Jun 2, 2011
Messages
19
Motherboard
ASROCK A7M
CPU
2500K
Graphics
6850
Mac
Classic Mac
Mobile Phone
Thanks, I'll try it out on Monday when I get back in town and report back. Thanks a ton.
 
Joined
Mar 17, 2010
Messages
118
Motherboard
ASUS sabertooth z97 mark 2
CPU
i7 4790k
Graphics
HD 4600
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Hi Toleda, thanks for all your help. I just bougth GA-B75M-D3P with i5-3570k. Actually I'm waiting to be delivered and build a HTPC with it, so is vital to get HDMI working. I have two questions for now: do you know so far if B75M have been tested yet? and what dsdt should I start with? There's no need for DSDT with the new Gigabyte's uefi bios. Thanks again.
 
Joined
Aug 12, 2011
Messages
435
Motherboard
HP DV7-6190sl
CPU
2630qm
Graphics
Intel HD3000+AMD 6770m
Mobile Phone
  1. Android

toleda

Moderator
Joined
May 20, 2010
Messages
24,206
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
Hi Toleda, thanks for all your help. I just bougth GA-B75M-D3P with i5-3570k. Actually I'm waiting to be delivered and build a HTPC with it, so is vital to get HDMI working. I have two questions for now: do you know so far if B75M have been tested yet? and what dsdt should I start with? There's no need for DSDT with the new Gigabyte's uefi bios. Thanks again.
I don't expect any issues with B75; no testing has been done to date. If you're interested, you can make the edits and verify the results. As with any other system, extract the dsdt as described in numerous guides. UEFI systems require dsdts. If you want HDMI audio in OS X, you will need an edited dsdt, even with UEFI.
 
Joined
Jun 2, 2011
Messages
19
Motherboard
ASROCK A7M
CPU
2500K
Graphics
6850
Mac
Classic Mac
Mobile Phone
Thanks, I'll try it out on Monday when I get back in town and report back. Thanks a ton.

thanks. it worked. i have a perfect hackint0sh now! thanks again. I have attached my DSDT if anyone needs it. It's for H77M-ITX w/ HD4000 graphics and HDMI audio. WOW!
 

Attachments

  • dsdt.aml - h77m-itx layout id 392.zip
    14.2 KB · Views: 275
Top