GUIDE: HDMI Audio

Discussion in 'Mac Pro' started by andrejkw, Nov 30, 2012.

  1. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #701
    AGPM.kext loaded and determined the installed graphics card does not match the AGPM/MacPro5,1 supported graphics cards (GT 210 and GTX 285?). Native IOReg/AGPM/MacPro5,1:
    Screen Shot 2018-04-25 at 7.13.20 PM.png
    Working Nvidia/AGPM, note AGPM attach to each graphics system. IOReg/AGPM:
    Screen Shot 2018-04-25 at 6.58.54 PM.png
    Apologies for a way off topic post
     
  2. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #702
    Thanks for teaching me all about this. I am more than happy to learn new things.

    However, still haven't figure out how to make that injector kext yet
    --- Post Merged, Apr 25, 2018 ---
    Or if I can use the same method to patch the AGPMcontroller?
     
  3. Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #703

    Thank you again! That was the issue. 10.13.3 HDA is functional in 10.13.4. again for me. Standard sound outputs are working. I have latest security update installed, so I cannot check HDMI as there are no updated Web drivers so far. But under PCI I see my 980 listed as Audio device again.
     
  4. cdf macrumors regular

    Joined:
    Jul 27, 2012
    #704
    Regarding AGPM, I tried to get it working in my cMP using dAGPM, but the computer would not boot. On our machines, there is no IGPU and no X86PlatformPlugin, and with NvidiaGraphicsFixup installed, the ACPI name is indeed GFX0. Therefore, to make the injector kext, it seems that all we need to do is replace "Mac-Nvidia" by "MacPro5,1" in the Info.plist of dAGPM.kext. Unfortunately, this did not work. Like I said in a previous post, I'm curious to see if native power management can resolve the GPU-related fan issues that we are plagued with.

    @toleda: Would you have any further advice on how to get AGPM working in our machines?

    As for the audio situation, I strongly recommend using AppleALC over replacing AppleHDA. I'm pretty sure that the the biggest obstacle for getting AppleALC to work with our machines is adding the ACPI names "IOU0," "IOU1," etc. (See steps 2 and 3 in post 685.) To facilitate its adoption among cMP users, AppleALC should perhaps be updated to include these names.
     
  5. toleda, Apr 27, 2018
    Last edited: Apr 27, 2018

    toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #705
    Injector kext/Info.plist/IOKitPersonalities/AGPM/Machines, rename
    1. Mac-Nvidia to MacPro5,1
    2. GFX0 to PXS2
    or Vendor10deDevice1234 to Vendor10deDevice1b06
    Install with kext installer

    Different method, Info.plist patch rather binary patch
    --- Post Merged, Apr 27, 2018 ---
    dAGPM sees PXS2 (native kextcache) not GFX0 (patched kextcache). Another choice is to use Vendor10deDevice1234 (with device-id edit), GFX0 does not match and is ignored.

    AppleALC.kext/Lilu.kext, overkill for a 4 byte binary edit requiring regular support.
     
  6. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #706
    Thanks for the hints, still studying, the closest thing I can find at this moment is this one (the info.plist inside the AGPM.kext).
    Screen Shot 2018-04-28 at 02.39.29.png

    Haven't locate the Mac-Nvidia or Vendor10deDevice1234 yet.

    This part looks like for GTX260 (no idea why this card's device ID is included). There is another part with device 0640, that one should be for the GT120.

    The Threshold_High / Low is a bit different for these 2 parts. So, it seems I should not just pick one and mod it to Vendor10deDevice1b06
     
  7. cdf macrumors regular

    Joined:
    Jul 27, 2012
    #707
    To make the injector kext, use dAGPM.kext, and edit its Info.plist according to toleda's explanation. When I made the kext, I incorrectly used GFX0, and my system would no longer boot. I had to use single-user mode to uninstall the kext.
     
  8. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #708
    Thanks! Lets see if I can get it right :D
     
  9. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #709
    Failed, boot loop :p
    Screen Shot 2018-04-28 at 04.40.52.png
     
  10. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #710
    Apologies, remove dAGPM.kext.
     
  11. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #711
    removed, no worries.
     
  12. dylanbdrake macrumors newbie

    dylanbdrake

    Joined:
    May 23, 2018
    #712
    I have a cMP 5,1 with GTX 1070 (not a hackintosh) and I tried to follow those steps but I can't delete the kext file. What am I doing wrong? I just want my DisplayPort audio to work with my LG Ultrawide screen :(
     
  13. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #713
    SIP enabled?
     
  14. dylanbdrake macrumors newbie

    dylanbdrake

    Joined:
    May 23, 2018
    #714
    Not sure :/
     
  15. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #715
    Check here
    Screen Shot 2018-05-23 at 23.41.55.png
     
  16. dylanbdrake macrumors newbie

    dylanbdrake

    Joined:
    May 23, 2018
    #716
    Ok I managed to do the first part but how do I 'run HDMIaudio 1.1 install.sh'?
     
  17. skizzo macrumors member

    Joined:
    Apr 11, 2018
    #717
    I think he is suggesting you need to disable SIP on your machine for HDMI audio to work properly.

    I just went through this myself installing a new GPU. Followed the instructions on the first page but I tried it say 3 times and did a couple reboots but did not work. I read through almost this entire thread until I saw a couple posts about disabling SIP. Unfortunately that was never mentioned in the original post and may be something that is only required on more recent OS since this thread was started several years and OS ago. I got it working after I disabled SIP. I did not fully disable SIP though, I did just the kext part.

    Refer to this post as this is what solved the issue for me. This method only disables the kext part of SIP which is apparently enough to get HDMI audio working out of HDMI and Displayport. It leaves the other parts of SIP enabled
    https://forums.macrumors.com/threads/guide-hdmi-audio.1499797/page-22#post-24310883
     
  18. dylanbdrake macrumors newbie

    dylanbdrake

    Joined:
    May 23, 2018
    #718
    I managed to disable the SIP but cannot get HDMI Audio running I get this (photo attached)
    --- Post Merged, May 23, 2018 ---
    I got it working!!!!!! I've been trying for so long and it finally worked!!
     

    Attached Files:

  19. skizzo macrumors member

    Joined:
    Apr 11, 2018
  20. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #720
    The screen capture doesn't looks like you install the HDMIAudio correctly.

    But if it's working, then better not to touch it now.
     
  21. steenamaroo, May 24, 2018
    Last edited: Jun 27, 2018

    steenamaroo macrumors newbie

    Joined:
    May 11, 2015
    #721
    Hi all,
    Just wanted to share a success. I haven't actually connected an HDMI device yet, but I see 'Driver Installed - Yes'
    I have a real Mac Pro, 4,1 flashed to 5,1 with EVGA GTX970 non-flashed.
    I'm running 10.13.4 (17E202) and Nvidia 387.10.10.10.30.107.

    I installed v1.1 of the kext found here and saw no result, although the kext was loaded.
    Then I opened AppleHDA.kext/Contents/Plugins/AppleHDAController.kext/Contents/MacOS/AppleHDAController in a hex editor, and replaced DE 10 0B 0E DE 10 1a 0e with DE 10 BB 0F, which is my device ID.

    I then removed v1.1 of this kext for confirmation that it was required, and saw 'Driver Installed - No', so reinstalled it.
    SIP was disabled for the entire process, and still is. No idea if that's required.

    Hope this is useful to someone.
    Thanks for the wealth of information and hard work!
     
  22. steenamaroo macrumors newbie

    Joined:
    May 11, 2015
    #722
    Just to add to the above, I have since confirmed that it's 100% working, with a correctly identified Panasonic TV.

    While 'System Information->PCI' did show Driver Installed - Yes' for the Audio Device,
    it might be useful for some to know that there was no other evidence of HDMI audio in the system until an HDMI device was connected.


    With DVI input screens, even connected using HDMI+DP to DVI adaptors, System Information->Audio and Audio/Midi Setup did not list an HDMI device.
     
  23. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #723
    Thanks for the sharing. From my experience so far, hex edit + HDMIAudio.kext 1.1 is the most reliable way to get the graphic card’s audio work properly.

    And disable SIP is a requirement.
     
  24. leendertstruik macrumors newbie

    Joined:
    Jul 29, 2011
    #724
    Can anyone confirm this is working with 10.13.5? Im so glad its working now so im a little nervous to update...
     
  25. cdf, Jun 8, 2018
    Last edited: Jun 8, 2018

    cdf macrumors regular

    Joined:
    Jul 27, 2012
    #725
    I can confirm that the HDMIAudio kext works in 10.13.5 after patching AppleHDA with your audio controller device ID.

    As a reminder for Nvidia cards: You can find your device ID in System Profiler under PCI. There should be two entries for your card. One is the display controller, the other is the audio controller. The device ID will be something like 0xabcd, from which you can obtain the string de10cdab (note the reversal of abcd), which will replace the string de101a0e in AppleHDAController. After making all necessary backups and disabling SIP, you can apply the patch by typing this in terminal:
    Code:
    sudo perl -i -pe 's|\xde\x10\x1a\x0e|\xde\x10\xcd\xab|sg' /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/MacOS/AppleHDAController
    Pay careful attention to the formatting of the strings de101a0e and de10cdab, and make sure that you understand that your string will be different from de10cdab.

    Please note that you may want to rebuild the kernel cache:
    Code:
    sudo touch /System/Library/Extensions && sudo kextcache -update-volume /
     

Share This Page