Mountain Lion HDMI Audio

Discussion in 'HDMI Audio' started by toleda, Sep 4, 2012.

  1. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Sep 4, 2012 at 1:48 AM #1
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    [​IMG]
    Mountain Lion HDMI Audio



    Update 9/28/13 - New 10.8.5 support
    1. Haswell/HD4600/AMD/Nvidia HDMI audio
    2. x79

    New guide, seeHaswell HDMI Audio
    Haswell HDMI Audio dsdt edits - Desktop
    toleda/audio_hdmi_8series
    Configure MaciASL/Preferences/Sources/+ with URL:
    Code (Text):
    https://raw.github.com/toleda/audio_hdmi_8series/master
    Update 6/6/13 - New guide, see Easy Guide] ML: UEFI HDMI Audio
    toleda/audio_hdmi_uefi · GitHub
    Configure MaciASL/Preferences/Sources/+ with URL:
    Code (Text):
    https://raw.github.com/toleda/audio_hdmi_uefi/master

    Update 3/22/13 - ML: HDMI Audio - New Guides
    HD4000/7 Series MB dsdt edits
    - Desktop/Laptop/Intel NUC
    toleda/audio_hdmi_hd4000 · GitHub
    Configure MaciASL/Preferences/Sources/+ with URL:
    Code (Text):
    https://raw.github.com/toleda/audio_hdmi_hd4000/master
    HD3000/6 Series MB dsdt edits - Desktop
    toleda/audio_hdmi_hd3000 · GitHub
    Configure MaciASL/Preferences/Sources/+ with URL:
    Code (Text):
    https://raw.github.com/toleda/audio_hdmi_hd3000/master
    5 Series MB dsdt edits - Desktop
    toleda/audio_hdmi_5series · GitHub
    Configure MaciASL/Preferences/Sources/+ with URL:
    Code (Text):
    https://raw.github.com/toleda/audio_hdmi_5series/master

    Enabling HDMI audio in OS X Mountain Lion is very similar to Lion. Editing your dsdt has been a significant obstacle to success. Introducing a new simple and easy HDMI Audio dsdt editing tool for OS X HDMI audio. Based on the DSDT Editor built by MaLd0n, pushing the Apply button automatically adds the HDMI audio dsdt edits to your dsdt.


    The techniques to enable Mountain Lion HDMI audio are the same as Lion (except HD4000 HDMI audio). The Lion HDMI Audio - Part 1: Requirements guides are current for Mountain Lion. In some circumstances, especially PC and laptop, the Lion guides are appropriate. The Mountain Lion HDMI audio guides are focused on motherboards with AMI or Award (Gigabyte) dsdts. For that reason, there in not an updated Nvidia HDMI guide for Mountain Lion. Instead, guides for AMI and Award Mountain Lion HDMI audio dsdt edits are now available. A minimum set of edits enable AMD and Nvidia and HD3000 or HD4000 HDMI audio in Mountain Lion and Lion. The HDMI audio edits enable HDMI audio automatically for the user's installed and enabled graphics solution

    A reality check; even with the correct edits, HDMI audio may not work on your system. This is a do it yourself project, it is rare that someone will offer to edit your dsdt. Occasionally, a user will post their dsdt with working HDMI audio. If your motherboard and BIOS versions are the same as the dsdt posted, you can test that dsdt on your system. Working dsdts also provide validated HDMI audio edit examples that can be applied to your dsdt. If your result is working HDMI audio, you will likely find the process is worth the effort.

    Benefits
    1. Automated HDMI audio dsdt editing
    2. Installs HD3000 or HD4000 integrated graphics HDMI audio dsdt edits
    3. Installs AMD/Nvidia discrete graphics card HDMI audio dsdt edits

    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. Intel (Note 1)
    1a. Ivy Bridge motherboard (7 Series)
    1b. Sandy Bridge motherboard (6 series)
    1c. Core i3, i5, i7/Nehalem motherboard (5 Series)
    2. OS X
    2a. Mountain Lion - 10.8 and newer
    2b. Lion - 10.7.4 and newer
    3. dsdt - no compile errors
    4. Motherboard onboard audio codec
    4a. Realtek supported audio codecs (8xy): 885, 887, 888, 889, 892, 898
    4b. Unsupported audio codecs: ML HDMI audio works with any unsupported codec, no onboard audio
    5. AppleHDA.kext (one of the following)
    5a. ML: Native AppleHDA.kext (unsupported audio codecs)
    5b. ML: MultiBeast 5.1.3 or newer/Audio/Realtek ALC8xx/With DSDT/ALC...
    5c. Lion: MultiBeast 4.6.1 Drivers & Bootloaders/Kexts & Enablers/Audio/Realtek ALC8xx/Patched AppleHDA/ALC...
    6. OS X recognized and enabled graphics with HDMI audio codec
    7. Chimera - 1.11 or newer

    Special HDMI Audio Considerations
    1. AMD/Nvidia/Intel
    1a. HDMI audio works with or without onboard audio working
    1b. For unknown reasons, some systems do not successfully enable HDMI audio
    2. AMD
    2a. AMD and Nvidia dsdt edits are the same
    2b. HDMI Device_ID and/or Framebuffer edits may be required.
    2c. DVI ports do not support HDMI audio
    2d. Surround sound (Encoded Digital Audio) does not work with GE=No
    3. Nvidia
    3a. AMD and Nvidia dsdt edits are the same
    3b. All Nvidia HDMI device-ids native to ML AppleHDA
    4c. HDMI audio available on all ports (DVI2HDMI adapter)
    4. Intel
    4a. dsdt edits are different for HD3000 and HD4000
    4b. Framebuffer edits may be required for 1 or 2 HDMI outputs
    4c. 2x HDMI audio available by deleting one audio output device (Line Out or Optical)
    5 HDMI audio support not available with
    5a. Multiple discrete graphics cards
    5b. Discrete graphics cards installed in a slot other than the primary slot (X16)

    Tools
    1. MaciASL (dsdt editor) MaciASL - Browse Files at SourceForge.net
    2. IORegistryExplorer see [Guide] How to Make a Copy of IOReg
    3. Applications/Utilities/Console
    4. Applications/TextEdit
    5. Carbon Copy Cloner or SuperDuper

    Mountain Lion Audio ID (10.8 AppleHDA.kext_v2.3.0 or newer, available in MultiBeast 5.1.3 or newer)
    1. AMD/Nvidia HDMI audio
    1a. Audio ID: 1 for 5/6 port on board audio
    1b. Audio ID: 2 for 3 port on board audio
    2. HD3000/HD4000 HDMI audio
    2a. Audio ID: 3 for 3/5/6 port onboard audio

    Lion Audio ID (10.7.4 AppleHDA.kext_v2.2.0 only, available in MultiBeast 4.6.1)
    1. See Note 2 below

    Mountain Lion HDMI Audio Edits - Three Steps
    1. Preparation
    2. dsdt edits
    3. Kext edits

    Mountain Lion HDMI Audio - Preparation
    1. Backup dsdt.aml
    2. Make bootable backup of system (Carbon Copy Cloner or SuperDuper)
    3. Make a copy of IOReg
    4. Determine BIOS supplier, either:
    4a. Award - Gigabyte 5 series, 6 series (except UEFI)
    4a. Ex. - DefinitionBlock ("./dsdt.aml", "DSDT", 1, "GBT ", "GBTUACPI", 0x00001000)
    4b. AMI - All other (except Gigabyte Award BIOS)
    4b. Ex. - DefinitionBlock ("./dsdt.aml", "DSDT", 2, "ALASKA", "A M I", 0x00000015)

    Mountain Lion HDMI Audio - dsdt Edits

    Mountain Lion HDMI Audio - dsdt Edit Links
    1. Mountain Lion HDMI Audio - Award DSDT
    1a. HD4000_Award_hdmi_audio_dsdt_editing_kit
    1b. HD3000_Award_hdmi_audio_dsdt_editing_kit
    1c. 5-Series_Award_hdmi_audio_dsdt_editing_kit
    2. Mountain Lion HDMI Audio - AMI DSDT
    2a. HD4000_AMI_EFI_hdmi_audio_dsdt_editing_kit
    2b. HD3000_AMI_EFI_hdmi_audio_dsdt_editing_kit
    2c. HD3000_AMI_BIOS_hdmi_audio_dsdt_editing_kit
    2d. 5-Series_AMI_BIOS_hdmi_audio_dsdt_editing_kit

    Mountain Lion HDMI Audio - dsdt Edits
    1. Edit layout-id - TextEdit (Note 3)
    2. Apply Edits - MaciASL
    3. Verify Edits - MaciASL
    4. Save dsdt - MaciASL
    5. Install dsdt.aml - MaciASL

    Mountain Lion HDMI Audio - Kext Edits

    Mountain Lion HDMI Audio - Kext Edits
    1. No kext edits required (AppleHDA.kext, AppleIntelFramebufferCapri.kext, AppleIntelSNBGraphicsFB.kext)
    2. Exception; some supported AMD graphics may required framebuffer edits, see Lion HDMI Audio - Part 3a: Kext Edits - AMD (Mountain Lion procedure same as Lion)

    Lion HDMI Audio - Kext Edits
    1. Lion HDMI Audio - Part 3a: Kext Edits - AMD
    2. Lion HDMI Audio - Part 3b: Kext Edits - Nvidia
    3. Lion HDMI Audio - Part 3c: Kext Edits - Intel HD3000 Revised

    Mountain Lion HDMI audio - Verify S/L/E and org.chameleon.Boot.plist
    1. Delete any and all audio enablers (HDAEnabler1, ..8??), helpers (ALC8??), etc.; AppleHDA.kext only.
    2. Delete any and all graphics enablers and property injectors. DSDT injection only.

    Mountain Lion HDMI audio - Restart

    Mountain Lion HDMI audio - Verify HDMI Audio
    1. System Preferences/Sound/Outputs
    Z77-I Deluxe/3770K/HD400/HD6870 - DP audio, 2XHDMI audio and Airplay Mirroring
    [​IMG]
    2. System Information/Graphics/Displays
    Z77-I Deluxe/3770K/HD400/HD6870
    [​IMG]

    Troubleshooting

    1. Verify HDMI device connected
    1a. System Information/Graphics/Display/HDMI device name/Television/Yes
    2. Verify Extra/dsdt.aml is
    2a. a .aml file
    2b. edited
    3. Run IOReg
    3a. Verify Devices (see Verify Edits - MaciASL above)
    4. Problem Reporting
    4a. Motherboard/processor/OS and version/graphics
    4b. Procedure/Guide Used
    4c. dsdt
    4d. copy of IOReg

    Notes
    1. Intel Product Series Models
    1a. 7-Series - Z77, H77, B75
    1b. 6-Series - Z68, P67, H67, H61
    1c. 5-Series - P55, H55
    2. For Lion Audio IDs w/AppleHDA.kext (10.7.4, v2.2.0) see Optimized Realtek Lion 10.7.4 AppleHDA

    Mountain Lion HDMI audio - dsdt edit code
    View attachment ML_DSDT-HDMI_Audio_Edits_v4.1.zip

    Credits:
    VCH888; http://www.insanelymac.com/forum/index.php?showtopic=140941&view=findpost&p=1448833
    proteinshake: http://www.insanelymac.com/forum/index.php?showtopic=280372
     
    Last edited by a moderator: Sep 27, 2016
  2. dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Sep 10, 2012 at 2:18 AM #2
    dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Hi,

    I've been reading this post for the past couple of hours trying to figure out what it means, and while I keep getting a little further, I'm still really confused. I have a Q77M-D2H and there's no DSDT available (that I could find at least). I tried extracting my own DSDT and compiling it so I could save it, but there were errors and so it wouldn't ket me...not sure if this is even the right approach.

    This may be a dumb question, but will getting HDMI audio working ever be something that can just be applied through MultiBeast, or will it always require this tweaking? I'm sure with a few more days work (!) I'll be able to get this done, but much of this is so over my head that I find myself wondering if I'm in too deep :)

    By the way, thanks for all this information -- not trying to complain, just want to figure it out!

    f.
     
  3. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Sep 10, 2012 at 3:26 AM #3
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    See [GUIDE] Creating your own DSDT for most boards
    Unlikely there will be a MultiBeast selection for HDMI audio.
     
  4. dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Sep 10, 2012 at 5:19 PM #4
    dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Thanks for pointing me in the right direction toleda -- because it looks like my motherboard isn't on the supported list for the DSDT tool, is it safe to assume I should go the EasyBeast route to generate a DSDT (I get a ton of compile errors in the tool)? I'm guessing that if it messes anything up, I could just delete the DSDT and start fresh? Is is possible that the DSDT generated by EasyBeast would cause issues that I wouldn't notice right away?

    Thanks,

    F.
     
  5. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Sep 10, 2012 at 7:39 PM #5
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    EasyBeast does not make a dsdt. Did you use the Fix Errors button in Compile Report of DSDT Editor? If yes, make a screenshot of the errors remaining.
     
  6. dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Sep 10, 2012 at 9:44 PM #6
    dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Hi Toleda,

    Thanks for the quick response. I did hit the fix errors button -- below is the errors that were remaining, along with the corresponding code:
    10484 Error _HID suffix must be all hex digits (GH)
    Name (_HID, "ABCDEFGH")


    9937 Warning Reserved method must return a value (Integer/String required for _HID)
    Method (_HID, 0, NotSerialized)

    9937 Warning Not all control paths return a value (_HID)
    Method (_HID, 0, NotSerialized)


    3135 Warning Result is not used, possible operator timeout will be missed
    Acquire (MUT0, 0x0FFF)

    2052 Warning ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)
    CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)

    There were also 12 Remark lines, all the same as below (in some cases _T_0 instead of _T_1)

    10347 Remark Use of compiler reserved name (_T_1)
    Name (_T_1, Zero)



    Let me know if that makes sense, and thanks again for your help.

    F.
     
  7. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Sep 11, 2012 at 12:37 AM #7
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Nothing serious. Go onto the next step, the AMI dsdt editing thread. Download the 7-Series_AMI_EFI_hdmi_audio_dsdt_editing_kit and included is an ami_clean_compile.txt patch file to fix your remaining errors and warnings. Apply the patch and proceed with each step in the guide.
     
  8. dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Sep 11, 2012 at 3:46 AM #8
    dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Ok, I patched with the clean compile as you said and got it to compile...one step closer!

    Now I'm at the section with the text:
    "Edit Open ML_...Series...hdmi_audio_.txt- TextEdit"

    I have onboard sound with 6 1/8" jacks, so I'm assuming that falls under 5/6 port on board, and I wouldn't have to change that value because it's already 0x01 -- or is that wrong?

    I'm also wondering about the other edits, where it says to find PEG0 and replace with the value from the table. I have a 7 series board, so that means PEGP, right? My question is do I open the file "hdmi_audio_ami_7_series_efi_ivy_bridge" and literally find/replace every instance of PEG0 with PEGP in that text file? When I look at that code, it seems like step 3 is telling me that this code will do that, but maybe I'm missing something.

    Also, if I don't care about using the onboard HDMI audio, can I just ignore the GFX0 stuff?

    Thanks,

    F.
     
  9. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Sep 11, 2012 at 4:05 AM #9
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,359
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Layout-id 1 is correct. Verify PEG0@1 in IOReg. No changes required for PEG0@1. If IOReg said P0P1@1, then an edit to the patch file are required (find: PEG0 replace: P0P1, PEGP is never edited). Let the patch file do everything. The advantage for leaving the onboard edits is HDMI video is supported (i.e., 3rd monitor) and sound assertions are eliminated.
     
  10. dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    Sep 11, 2012 at 4:34 PM #10
    dragadog

    dragadog

    Joined:
    Mar 15, 2012
    Messages:
    21
    Mobo:
    Macbook pro retina
    CPU:
    intel i7
    Graphics:
    onboard with i7
    I'm a little lost here. I see PEG0@1 -> IOPCI2PCI2PCIBridge -> PEGP@0 (see attached screenshot)

    I'm not sure what I need to edit in the patch, file, if anything. Just for the hell of it I tried running the patch file without edits, but HDMI didn't appear in sound preferences, so I figured that wasn't the right solution, and I removed the dsdt file and I'm trying again.

    Are you able to tell anything from that screen shot?

    Thanks again,

    F.
     

    Attached Files:

    • Screen Shot 2012-09-11 at 8.27.16 AM.jpg  (190.6 KB, 1,082 views)

Share This Page