Haswell HDMI Audio


HD4600 HDMI audio, with or without dsdt edits
Haswell/8 Series/Socket 1150 - HD4600/AMD/Nvidia HDMI Audio

Update v2.2: 2/25/14 - 10.9.2/Mavericks HD4600/HD4000/HD3000 Framebuffer Edit Scripts
Update v2.1: 10/23/13 - Mavericks/10.9 and HD7xxx supported
Update v2.0: 10/14/13 - HDMIx2 and DVI2HDMI audio working
Note: v1 Archive: Haswell HDMI Audio (v1 Archive)

OS X HDMI audio for Haswell/HD4600 systems with either: 1. HDMI audio edited dsdt or 2. the Haswell HDMI audio ssdt. Both techniques enable native Haswell graphics power management. Haswell HDMI audio is not native; AppleHDA.kext and AppleIntelFramebufferAzul.kext require edits (Note 1 and 2, below) Credit, PikeRAlpha for both fixes.

8series HDMI Audio dsdt edits/HDMI Audio ssdts - Desktop
toleda/audio_hdmi_8series
Configure MaciASL/Preferences/Sources/+ with URL:

Code:
https://raw.github.com/toleda/audio_hdmi_8series/master
News:

  1. Haswell/HD4600/AMD/Nvidia HDMI audio is working
  2. This guide assumes Azul framebuffer 0x0300220D, edit AAPL,ig-platform-id (dsdt or ssdt) for your preferred framebuffer
  3. New Azul patch supports HDMIx2 and DVI2HDMI audio

Requirements (this version, Haswell HDMI audio)

  1. AMI UEFI/Haswell/8 Series/Socket 1150 Intel motherboard
  2. HD4600 graphics and/or native OS X HDMI audio graphics support including Nvidia 4xx, 5xx, 6xx and some AMD 5xxx, 6xxx.
  3. OS X versions supported
    1. Mavericks.10.9 and newer
    2. Mountain Lion/10.8.5 and newer
  4. Haswell motherboard audio codecs
    1. Supported: ALC887, ALC892, ALC898 and ALC1150
    2. Unsupported/HDMI audio only, see Note 4, below

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, remove the injection not the plist file)
  5. Apply kext patches per Notes 1 and 2 and select Audio ID: 1 or 2 per Note 3, below
  6. CAUTION: Do not hot plug the HDMI cable; the system will freeze with a fatal Intel error and restart
  7. Wake issues with 10.8.5 and Supplemental Update 1.0, see Notes, 7

8 series HDMI audio enabling techniques - select one

  1. 8 series HDMI Audio dsdt (with dsdt edits)
  2. 8 series HDMI Audio ssdt (with native dsdt)

Location.aml - dsdt.aml/ssdt.aml installation folder

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

Installation Details

  1. Download (View Raw) [Guide]-Haswell-hdmi_audio_(dsdt_or_ssdt)_v1.2.pdf.zip

1. Installation - 8 series HDMI audio dsdt

  1. MaciASL, see Tools, 1.
  2. MaciASL/Preferences/Sources/raw.github.com/toleda/audio_hdmi_8series/master
    1. More info - MaciASL Repo
  3. MaciASL/Patch/8series-Clean Compile
  4. MaciASL/Apply/Close/Compile
    1. If errors, seek assistance
  5. If no dsdt/Device (P0P2), Patch/Desktop-add_dsdt/PCIO/P0P2...
  6. MaciASL/Patch/Desktop-HD5K/AMD/Nvidia-A1 or A2 or ....
  7. MaciASL/Apply/Close/Compile/Save
    1. If errors, seek assistance
  8. Install Location.aml/dsdt.aml
  9. Rebuild kernel cache - see Tools, 2.
  10. Restart
  11. Verify HDMI audio

2. Installation - 8 series HDMI audio ssdt

  1. audio_hdmi_8series/ssdt_8series
  2. Copy Downloads/ssdt-ami-8_series_hdmi_audio-1/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. Enable SSDT
    1. Chimera or Chameleon - Extra/org.chameleon.Boot.plist
      1. Code:
        <key>DropSSDT</key>
        <string>Yes</string>
    2. Clover_v2000+ - EFI/CLOVER/config.plist/ACPI/SSDT
      1. Code:
        <key>DropOem</key>
        <YES/>
  4. Rebuild kernel cache - see Tools, 2.
  5. Restart
  6. Verify HDMI audio

Native 8 Series HDMI Audio Graphics

  1. HD4600 (no native HDMI audio support, framebuffer edits required)
    1. HDMI display (Azul framebuffer 0x0300220D)
      1. AppleIntelFramebuffer@0, native supports DP
      2. AppleIntelFramebuffer@1, with edit, supports DVI or HDMI
      3. AppleIntelFramebuffer@2, with edit, supports HDMI
    2. DP audio supported
    3. DVI audio supported
    4. Three displays supported, two with HDMI audio
      1. DP + HDMI or DP + DVI
      2. DVI (w/DVI2HDMI adapter)
      3. HDMI, HDMIx2 or HDMI + DVI
      4. Special case: DP and DPx2, no Azul edit required.
  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
    4. DVI audio supported
  3. AMD HD5xxx/HD6xxx/HD7xxx (framebuffer injection/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. DVI audio not supported
    5. HD7xxx HDMI audio, see [Case_Studies]_AMD-HD7xxx_HDMI_Audio_v1.zip
  4. Supported Configurations (ML Haswell HDMI Audio)
    1. HD4600 only
    2. Nvidia only
    3. AMD only
    4. HD4600 and Nvidia
    5. HD4600 and AMD

Notes

  1. 8 series/AppleHDA.kext (backup native kext before patching)
    1. 1. 10.9/AppleHDA.kext_v2.5.2 or 2.5.3 only edit
      1. Installed with MultiBeast 6.0 or newer/Realtek ALCxxx Audio
      2. Download (View Raw): audio_hdmi_hd5K-hda-90_patch.command.zip
    2. 10.8.5/AppleHDA.kext_v2.4.7 only edit
      1. Installed with MultiBeast 5.5.3 or newer/Realtek ALCxxx Audio
      2. Download (View Raw): audio_hdmi_hd5K-hda-85_patch.command.zip
    3. Installation
      1. Select: Downloads/audio_hdmi_hd5k-hda-.._patch.command
      2. Double Click
      3. Enter Password
  2. 8 series/AppleIntelFramebufferAzul.kext (backup native kext before patching)
    1. 10.9/AppleIntelFramebufferAzul.kext
      1. HD4600+/HD4000/HD3000 Framebuffer Edits
    2. 10.8.5/AppleIntelFramebufferAzul.kext_v8.16.74 only edit
      1. Download (View Raw): audio_hdmi_hd5k-azul-85_patch.command.zip
    3. Installation
      1. Select: Downloads/audio_hdmi_hd5k-azul-.._patch.command
      2. Double Click
      3. Enter Password
  3. 8 series HDMI audio woks with two ML Audio IDs
    1. Audio_ID: 1 supports HD4600/AMD/Nvidia HDMI and 3, 5 and 6 port ALC8xx onboard audio
    2. Audio_ID: 2 supports HD4600/AMD/Nvidia HDMI and 3 port ALC8xx onboard audio
  4. For unsupported motherboard audio codecs, the native 10.8.5/10.9+ AppleHDA.kext supports HDMI audio only when configured properly (Notes 1, 2 and 3-1).
  5. 8 series patches must be applied after each software update.
  6. No testing on laptops has been performed
  7. 10.8.5 and Supplemental Update 1.0 (10.9 sleep works)
    1. No HDMI audio after wake, restart required. (DP audio OK)
    2. 2nd HDMI display may wake to black screen

Troubleshooting

  1. Verify HDMI device connected
    1. System Information/Graphics/Display/HDMI device name/Television/Yes
  2. Run IOJones/Verify Devices (PEGP, IGPU and HDAU)
    1. Device (IGPU and HDAU) may not be present if HD4600/HD5000 Graphics is not enabled
    2. Device (PEGP) may not be present if no discrete graphics
    3. If GFX0@2 exits, edited dsdt or ssdt not installed or installed improperly
  3. IOreg/IOJones/Verify HDAU@3
    1. IOHDACodecDevice@3/IOHDACodecVendorID: …80862807
    2. If no codec, apply Notes, 1. AppleHDA.kext edit
  4. IOreg/IOJones/Verify IGPU@2
    1. AppleIntelFramebuffer@2/connector-type=<00 08 00 00>
    2. if wrong connector, apply Notes, 2. AppleIntelFramebufferAzul.kext edit

Problem Reporting (post to this thread)

  1. Motherboard/BIOS version/processor/graphics/OS and version
  2. dsdt (if edited)
  3. installed Haswell HDMI audio SSDT (if installed)
  4. org.chameleon.Boot.plist or config.plist (as appropriate)
  5. IOJones

Credit
PikeRAlpha Haswell HDAU solution | Pike's Universum
bcc9 http://www.insanelymac.com/forum/top...ort/?p=1934889, Post #11

Tools
(Guides below)

  1. Edit dsdt with MaciASL http://maciasl.sourceforge.net/
  2. Rebuild kernel cache: see http://sourceforge.net/projects/dpcimanager/
  3. Find HD4600 HDMI port-number: Alternative to IORegistryExplorer: IOJones

Guides

Rebuild kernel cache


  1. Open Downloads/DPCIManager/DPCIManager
  2. Select: Rebuild Cache

Find HD4600 HDMI AppleIntelFramebuffer
HD4600+/HD4000/HD3000 Framebuffer Edits

AppleIntelFramebufferAzul.kext
/Framebuffer 0x0300220D/edits
HD4600+/HD4000/HD3000 Framebuffer Edits

Post a Comment

0 Comments