You are on page 1of 12

[Guide]_HD4600-hdmi_audio_(dsdt_or_ssdt)_v2.1.

HD4600 HDMI Audio

Haswell/9 Series/Socket 1150 - HD46000/AMD/Nvidia HDMI


Audio
Haswell/8 Series/Socket 1150 - HD46000/AMD/Nvidia HDMI
Audio
v2.2: 2/3/2015 - 9 Series ssdt Support
v2.1: 8/18/2014 - Limited 9 Series Support
v2: 8/15/2014 - Initial Release
OS X HDMI audio for HD4600 systems with either: 1. HDMI audio
edited dsdt or 2. HDMI audio ssdt. Both techniques enable native
Haswell CPU and GPU power management. HD4600 HDMI audio is
not native; edits to AppleHDA.kext and
AppleIntelFramebufferAzul.kext edit are always required. Credit:
PikeRAlpha for both fixes.
Requirements
1. OS X 10.9 and newer
2. AMI UEFI/Haswell/8 Series/Socket 1150 Intel motherboard
3. HD4600 graphics and/or native OS X HDMI audio graphics
support including Nvidia 4xx, 5xx, 6xx and some AMD 5xxx,
6xxx, 7xxx, R7 and R9
4. 8 Series desktop, laptop and nuc configurations supported
a. Alternate laptop framebuffer connector edits required
5. 8 Series motherboard audio codecs
a. Supported: ALC887, ALC892, ALC898 and ALC1150

b. Unsupported audio codec/HDMI audio only


6. Audio ID, select one
a. 1 - 3, 5, 6 port motherboard audio (-A1)
b. 2 - 3 (5.1) port motherboard audio (-A2)
c. 1 - Native AppleHDA.kext (w/unsupported audio codec)
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 System/Library/Extension (S/L/E)
a. S/L/E/HDAEnabler1.kext (if present)
b. S/L/E/HDAEnabler2.kext (if present)
4. Make a bootable backup of your system (CarbonCopyCloner/
SuperDuper)
5. CAUTION: Do not hot plug HD4600 HDMI cable; fatal Intel error
and restart
Tools
1. IORegistryExplorer (select one)
a. IORegistryExplorer_v2.1.zip (View Raw)
b. IOJones Download
2. dsdt editor
a. MaciASL
3. device_id/kernel cache/status
a. DPCIManager
4. bootable backup
a. CarbonCopyCloner or SuperDuper
Limited
9 Series/HD4600 HDMI Audio dsdt edits/HDMI Audio ssdts Desktop
toleda/audio_hdmi_9series
Configure MaciASL/Preferences/Sources/+ with URL: (copy/paste
URL)
https://raw.github.com/toleda/audio_hdmi_9series/master
8 Series/HD4600 HDMI Audio dsdt edits/HDMI Audio ssdts Desktop
toleda/audio_hdmi_8series

Configure MaciASL/Preferences/Sources/+ with URL: (copy/paste


URL)
https://raw.github.com/toleda/audio_hdmi_8series/master
Step 1: HD4600 HDMI Audio kext edits
1. AppleHDA.kext (select one)
a. toleda/audio_RealtekALC (HD4600 HDMI audio/yes)
b. toleda/audio_pikeralphaALC (-b AppleHDA -b
AppleHDAController)
c. toleda/audio_CloverALC (config.plists/KextsToPatch)
d. MultiBeast 6.0 or newer (patched)
e. Native AppleHDA.kext
i. 10.10/HD4600: audio_hdmi_hd4600hda-100_patch.command.zip
ii. 10.9/HD4600: audio_hdmi_hd4600hda-90_v2_patch.command.zip

1. AppleIntelFramebufferAzul.kext (select one)


a. HD4600+/HD4000/HD3000 Framebuffer Edits
i. Except Laptop
b. toleda/audio_CloverHDMI (config.plists/KextsToPatch)
2. All HD4600 patches must be applied after each software update
a. Except Clover
9 Series/Step 2: OS X HDMI Audio Guides- select one
1. dsdt edits:[Guide]_OS_X_hdmi_audio-dsdt_v2.pdf.zip
a. URL: https://raw.github.com/toleda/audio_hdmi_9series/
master
b. Patches/8series (subject to change)
i. AMI-Clean_Compile-9Series
ii. AMI-HD4600-AMD-Nvidia-A1
iii. AMI-HD4600-AMD-Nvidia-A2
c. Example: Desktop with Audio ID: 1; Select
i. AMI-Clean_Compile-9series
ii. AMI-HD4600-AMD-Nvidia-A1
2. ssdt/Clover only: [Guide]_OS_X_hdmi_audio-ssdt_9seriesClover_v2.pdf (included in ssdt Download)
a. EFI/CLOVER/config.plist/ACPI/DSDT/Patches
i. config-hdmi_hd4600-100.plist.zip (add 2 patches)
ii. [Guide]_OS_X_hdmi_audio-ssdt_9seriesClover_v2.pdf
b. ssdt_9series

c.

ssdts (subject to change)


i. AMI-HD4600-AMD-Nvidia-A1
ii. AMI-HD4600-AMD-Nvidia-A2
d. Example: Desktop with Audio ID: 1, Select
i. AMI-HD4600-AMD-Nvidia-A1
4. 9 Series AppleHDA.kext (temporary: 10.9 only)
a. Patched AppleHDA.kext
i. audio_alc_9series-hda-93_patch.command.zip
b. Clover
i. config-audio_cloverALC-9series.plist.zip
5. 9 Series HD4600 MEI Fix (temporary: 10.9 only)
a. Edit: /System/Library/Extensions/
AppleIntelFramebufferAzul.kext/Contents/Info.plist
b. Add: IOKitPersonalities/AppleIntelMEIDriver/
IOPCIPrimaryMatch/0x8cba8086
6. Restart with HDMI device connected
8 Series/Step 2: OS X HDMI Audio Guides- select one
1. dsdt edits: [Guide]_OS_X_hdmi_audio-dsdt_v2.pdf.zip
a. URL: https://raw.github.com/toleda/audio_hdmi_8series/
master
b. Patches/8series (subject to change)
i. AMI-Clean_Compile-8series
ii. AMI-add_dsdt/PCI0/P0P2 (w/ssdt/P0P2)
iii. AMI-add_dsdt/PCI0/P0P2 (w/ssdt/PEG0)
iv. AMI-HD4600-AMD-Nvidia-A1
v. AMI-HD4600-AMD-Nvidia-A2
vi. NUC-HD4600-Compiler Fixes
vii. NUC-HD4600-A1
viii. AMI-HD4600-Laptop-A1
c. Example: Desktop with Audio ID: 1; Select
i. AMI-Clean_Compile-8series
ii. AMI-HD4600-AMD-Nvidia-A1
2. ssdt: [Guide]_OS_X_hdmi_audio-ssdt_v2.pdf.zip
a. ssdt_8series
b. ssdts (subject to change)
i. AMI-HD4600-AMD-Nvidia-A1
ii. AMI-HD4600-AMD-Nvidia-A2
iii. AMI-no_p0p2-HD4600-AMD-Nvidia-A1
iv. NUC-HD4600-A1
c. Example: Desktop with Audio ID: 1, Select

i. AMI-HD4600-AMD-Nvidia-A1
3. Restart with HDMI device connected
Step 3: Verify HDMI Audio (Ex., HDMI/DP/AirPlay audio enabled)

OS X/HD4600 HDMI Graphics and Audio


1. HD4600 (no native HDMI audio support, framebuffer edits
required)
a. HDMI display (Azul framebuffer 0x0300220D)
i. AppleIntelFramebuffer@0, Port 0x5/DP
ii. AppleIntelFramebuffer@1, Port 0x6/DP
iii. AppleIntelFramebuffer@2, Port 0x7/DP
b. DP audio supported
c. DVI audio supported
d. Three displays supported, two with HDMI audio
i. DP + HDMI or DP + DVI
ii. DVI (w/DVI2HDMI adapter)
iii. HDMI, HDMIx2 or HDMI + DVI
iv. Special case: DP and DPx2, no Azul edit required.

2. Supported Configurations (OS X HDMI Audio)


a. HD4600 only
b. Nvidia only
c. AMD only
d. HD4600 and Nvidia
e. HD4600 and AMD
dsdt/ssdt edits
1.
Device (IGPU) //or Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x04)
{
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x03, 0x00, 0x22, 0x0D
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
2.

Device (HDAU)
{
Name (_ADR, 0x00030000) // _ADR: Address

Method (_DSM, 4, NotSerialized) // _DSM: DeviceSpecific Method


{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
Troubleshooting
1. Verify HDMI device connected
a. System Information/Graphics/Display/HDMI device/
Television/Yes
2. Run IOReg/IOJones/Verify Devices HDEF, IGPU (native/GFX0)
and HDAU
a. Ex. IOReg/Search: HDEF
b. Select HDEF
c. Cancel Search (x)
d. Scroll up to view HDEF device and properties
3. IOReg/IOJones/Verify HDEF@1B
a. If Credits, delete S/L/E/HDAEnabler1.kext or
HDAEnabler2.kext
b. Verify layout-id is 1, 2 or 3
c.

4. IOReg/IOJones/Verify HDAU@3
a. If no HDAU@3, see HD4600 HDMI Audio kext edits/
AppleHDA.kext
b. if no HDAU@3, verify dsdt/ssdt HD4600 HDMI audio edits
c. If no hda-gfx, verify dsdt/ssdt HD4600 HDMI audio edits
d.

5. IOReg/IOJones/Verify IGPU@2 (or GFX0@2)


a. If no IGPU@2 verify dsdt/ssdt HD4600 HDMI audio edits
b. if no AppleIntelAzulController, verify dsdt/ssdt HD4600
HDMI audio edits
c. Verify AAPL,ig-platform-id=<03 00 22 0d>
d.

6. Verify AppleIntelFramebuffer@[0, 1 or 2] with display0 attached


a. HDMI: connector-type=<00 08 00 00>
b. DVI: connector-type=<00 08 00 00>
c. DP: connector-type=<00 04 00 00>
d. if wrong connector-type, see HD4600 HDMI Audio kext
edits/AppleIntelFramebufferAzul.kext
e.

7. AMD HDMI audio troubleshooting


a. Select View Raw: [Guide]_AMD-hdmi_audio_v2.pdf.zip
8. Nvidia HDMI audio troubleshooting
a. Select View Raw: [Guide]_Nvidia-hdmi_audio_v2.pdf.zip
Problem Reporting (include the following information)
1. Description of audio problem
3. OS X version/motherboard model/BIOS version/processor/
graphics
4. Procedure/Guide Used
5. Copy of IOReg - IOReg_v2.1/File/Save a Copy As, verify file (no
ioreg.txt)
6. Screen shots:
a. DPCIManager
b. System Information/Hardware/Audio/Intel High Definition
Audio (not Devices)
7. System/Library/Extensions/AppleHDA.kext
8. System/Library/extensions/AppleHDAxxx.kext (if installed)

9. Chimera/Chameleon
a. Extra/org.chameleon.Boot.plist
b. DPCIManager/Misc/Boot Log
c. Extra/dsdt.aml (if installed)
d. Extra/ssdt.aml (if installed)
10. Clover
a. EFI/Clover/config.plist
b. EFI/Clover/misc/debug.log (Set config.plist/Boot/Debug/
YES)
c. EFI/Clover/ACPI/Patched/dsdt.aml (if installed)
d. EFI/Clover/ACPI/Patched/ssdt.aml (if installed)
Credit
PikeRAlpha Haswell HDAU solution | Pike's Universum
bcc9 http://www.insanelymac.com/forum/top...ort/?p=1934889, Post
#11