GUIDE: HDMI Audio

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

  1. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #676
    Thanks both!

    I didn't realise there is an IORegistryExplorer 2.1 on github, which export a much smaller file then the current IORegistryExplorer 3.0.2.

    Anyway, here is the ioreg. Million thanks in advance!
     

    Attached Files:

  2. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #677
    The process that enabled all Nvidia HDMI audio codecs has been disabled in 10.13.4 AppleHDAController.kext.
    IOReg show the Nvidia HDMI codec is not recognized, no AppleHDAController.
    Screen Shot 2018-04-16 at 5.24.40 PM.png
    1080 Ti/HDMI audio codec id is 10ef.
    The simplest fix to patch the binary (hex editor):

    Binary: AppleHDAController
    Find: de 10 1a 0e
    Replace: de 10 ef 10 (1x)

    AppleALC.kext_v1.2.6 does not support 10ef, the next release will.
    Attached is a preview of the next version supporting 10ef

    Install either method and reply with new IOReg.
     
  3. Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #678
    Will the next release support GTX 980 HDMI audio codec id as well?
     
  4. h9826790, Apr 16, 2018
    Last edited: Apr 16, 2018

    h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #679
    Thanks for the support.

    This is the IOReg with both AppleALC.kext preview installed and AppleHDAController.kext patched.

    I tried with just the AppleALC.kex preview installed. Also doesn't work.
     

    Attached Files:

  5. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #680
    To clarify, 2 methods; one or the other, remove 1st before installing 2nd
    Both IORegs look the same, neither method worked
    Binary patch: specify hex editor? in place? not in place, kext installer? kext cache rebuild?
    AppleALC: native AppleHDA.kext? location? kext installer? kext cache rebuild?
    Attach kext cache rebuild output, if available
    --- Post Merged, Apr 17, 2018 ---
    IOReg/HDAU/device-id?
     
  6. h9826790, Apr 17, 2018
    Last edited: Apr 17, 2018

    h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #681
    I know, I tried that preview AppleALC.kext with the original AppleHDAController.kext first.

    May I know with the self patched AppleHDAController.kext. Should I use the normal AppleALC 1.2.6? Or the one that manually edited? My last attempt was with the self edited + builded version.

    https://forums.macrumors.com/threads/guide-hdmi-audio.1499797/page-27#post-25971642

    Either doesn't work. Then I tried both. Anyway, will try patched AppleHDAcontroller.kext + native AppleALC.1.2.6 now.

    For info:

    Binary patch,

    Hex Editor is HexMiner (I used it for few years already, never give me any issue)
    Screen Shot 2018-04-18 at 04.08.49.png

    I copied the original AppleHDAController binary to desktop. Edited it. Then put it back to the original place, then manually fix the permission.
    Screen Shot 2018-04-18 at 04.07.07.png

    Then open Kext Utility, let it install the self edited+builded AppleALC 1.2.6 (not your preview version), and let it rebuild cache.

    AppleALC,

    YES, with native AppleHDA.kext.

    Installed to S/L/E by Kext Utility. And I did let it rebuild cache.
    Screen Shot 2018-04-18 at 04.17.58.png

    May I know how to get the kext cache rebuild output?
    --- Post Merged, Apr 17, 2018 ---
    This is the IOReg for patched AppleHDAController with the AppleALC 1.2.6 release directly downloaded from here.

    https://github.com/vit9696/AppleALC/releases

    W
    ith this combination. The 1080Ti's audio controller shows driver installed
    Screen Shot 2018-04-18 at 04.26.52.png

    But still not available in Sound preferences yet.
    Screen Shot 2018-04-18 at 04.28.19.png
     

    Attached Files:

  7. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #682
    Kext patch procedure is correct.
    Native AppleALC.kext v1.2.6 does not include the AppleHDAController patch for your graphics card, useless.
    Do not combine the binary patch with AppleALC.kext, KP possible.
    For the 1080Ti's audio controller, you selected the video device, not the audio controller: pcie10de,10ef

    The attached IOReg ("patched AppleHDAController with the AppleALC 1.2.6 release") shows AppleHDAController loading, working. Reason, patched binary.
    Screen Shot 2018-04-18 at 9.17.41 AM.png

    Remove AppleALC.kext. Rebuild kextcache: Terminal:
    Code:
    sudo touch /System/Library/Extensions && sudo kextcache -u /
    Save Terminal Output

    The reason for no HDMI audio, with the working AppleHDAController, is the Nvidia Web driver.

    Restart, Reply with new IOReg and Terminal Output.
     
  8. h9826790, Apr 18, 2018
    Last edited: Apr 18, 2018

    h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #683
    Thanks for providing the procedures. Will do that once I back to home.

    Question:

    Should I remove the Lilu.kext and the NvidiaGraphicsFixup.kext as well?

    P.S. I realised that I was selecting the video device on the PCIe page, because what I wanted to show is just the "driver installed" is yes. Anyway, here is the audio device details.
    Screen Shot 2018-04-19 at 04.01.31.png
     
  9. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #684
    I just removed all AppleALC, Lilu, and NvidiaGraphicsFix kext.

    kextcache rebuilded
    Screen Shot 2018-04-19 at 04.13.12.png

    The binary still patched

    HDMI Audio installed

    PCI info same as above (shows Audio Controller driver installed), but not working yet

    And the attachment is the IOReg.
     

    Attached Files:

  10. cdf macrumors regular

    Joined:
    Jul 27, 2012
    #685
    Audio now works on my GTX 750 Ti with AppleALC and NvidiaGraphicsFixup. For posterity, I've described the procedure below.

    1) Install NvidiaGraphicsFixup.kext and Lilu.kext.

    2) Obtain the path to HDAU in IORegistryExplorer:

    1.png

    In my case, the path was AppleACPIPCI/IOU0/IOPP/HDAU.

    3) Add the path to CodecLookup.plist in the source of AppleALC (unless the information is already included):

    2.png

    4) Form the codec ID by appending de10 (the Nvidia vendor ID) to the device ID that appears under HDAU in IORegistryExplorer:

    3.png

    In my case, the complete ID is de10bc0f.

    5) Form the decimal name of the codec. In my case, the name is 4028 (decimal for 0x0fbc).

    6) For completeness, find the chip number of the GPU. In my case, the number is GM107 (according to the Wikipedia article on the Maxwell architecture).

    7) Include the complete ID, decimal name, and chip number to Controllers.plist in the source of AppleALC (unless the information is already included):

    4.png

    (The only case-specific entries are "Device," "Name," and "Replace.")

    8) Rebuild AppleALC (making sure to include the debug version of Lilu.kext in the top-level folder of the source).

    9) Install AppleALC.kext.

    See also the AppleALC guide.
     
  11. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #686
    Expected
    10.13.4 AppleHDAController is working
    IOReg shows the issue with Nvidia Web driver and Pascal:
    If using DP, try other DP ports.
    If HDMI, acquire DP2HDMI adapter (for 4K display, an adapter required)
    Reply with new IOReg
     
  12. tu2thepoo macrumors member

    Joined:
    Nov 14, 2017
    #687
    For anyone not wanting to edit kexts or do IOreg dumps*, I got HDMI audio working again with these downloads:

    I did the following:
    1. Download jch's copy of the 10.13.3 AppleHDA
    2. Moved my current system/library/extensions AppleHDA kext (that is, the 10.13.4 version) to the trash**
    3. Copied the 10.13.3 appleHDA file and kextbeast to my desktop
    4. Ran kextbeast and installed the 10.13.3 appleHDA file to S/L/E
    5. Re-ran HDMIaudio 1.1 install.sh
    6. Reboot

    Everything is peachy on my Geforce 1060's HDMI output:
    Screen Shot 2018-04-20 at 12.23.47 PM.png

    Screen Shot 2018-04-20 at 12.23.34 PM.png

    Screen Shot 2018-04-20 at 12.22.58 PM.png

    You could supply your own copy of AppleHDA.kext by doing a backup of 10.13.3 before updating, but I didn't know that this was an issue until after the fact :D

    * But for real, big props to h9826790 for diving into all of that and toleda for dropping all the knowledge. I'm just not good at any of that stuff.

    ** Kextbeast doesn't seem to overwrite any existing files with the same name, which sounds like a good safety feature to me. Just didn't realize that until I tried it a few times.
     
  13. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #688
    Thanks for the suggestion. I just back home and try different DP. YOU ARE SPOT ON!

    There are 3 DP on my reference 1080Ti. The left most port's audio works with simple binary patch.
    Screen Shot 2018-04-21 at 17.14.20.png

    Screen Shot 2018-04-21 at 17.17.44.png
     

    Attached Files:

  14. Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #689
    Thank’s a lot! Finally I got it working on GTX 980.
    Sound is ok when I use DP to HDMI adapter. No sound straight from HDMI out but anyway... :)
     
  15. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #690
    One more suggestion, IOReg shows AppleGraphicsPowerManagement.kext is not loading. Make an injector kext to support Pascal graphics with the MacPro5,1 sysdef, search: macOS Native Discrete GPU Power Management.
    --- Post Merged, Apr 22, 2018 ---
    Nvidia web driver supports sound on all connectors for Fermi/Kepler/Maxwell graphic's cards (except 450,550,560). For Pascal graphics cards, only one DP supports sound and not always.

    Your requirement for for a 980 DP2HDMI adapter is not a Nvidia Web driver problem, likely, a HDMIAudio.kext problem.
     
  16. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #691
    Thanks for the suggestion, that's beyond my knowledge at this moment. I can learn how to do that, no problem.

    However, may I know what can I expect if I successfully load the AppleGraphicsPowerManagement.kext? My GPU's power management seems OK with the Nvidia web driver.
     
  17. leendertstruik macrumors newbie

    Joined:
    Jul 29, 2011
    #692
    --- Post Merged, Apr 23, 2018 ---
    Awesome, that worked for me! I was following this tread for a while now and this is the only thing that works for me :) Working with HDMI directly. Schermafbeelding 2018-04-23 om 11.21.14.png Schermafbeelding 2018-04-23 om 11.24.47.png
     
  18. toleda macrumors newbie

    Joined:
    Jan 20, 2010
    #693
    VBIOS manages thermal limit by increasing fan speed or reducing frequency. The Nvidia web deriver has no PM. Fermi and previous use thresholds; Kepler, Maxwell and Pascal use P states. Setting AGPM.kext/Sysdef/Heuristic-ID: 4 sets macOS/Nvidia p state PM.
     
  19. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #694
    I see.

    So, even system info shows AGPM.kext is loaded, but it isn't working properly at this moment. Is that correct?
    Screen Shot 2018-04-25 at 03.12.49.png
     
  20. cdf macrumors regular

    Joined:
    Jul 27, 2012
    #695
    I wonder if proper PM would address the notorious PS and PCI fan bug. It had been hypothesized that the bug was related to GPU power states.
     
  21. Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #696
    Does it still work with the security update?
     
  22. Susurs, Apr 24, 2018
    Last edited: Apr 24, 2018

    Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #697
    I did SMC reset and CMD+OPTION+P+R due to some other issues, and the sound was lost for some reason on 10.13.4... It shows no input/output devices at all. Putting back default HDA - gives me standart sound (HDMI/DP does not work) but installing new 10.13.3. kext again (which was working previously) removes any sound input/output devices.... :(

    Removing/enabling HDMIaudio does not change anything.
    --- Post Merged, Apr 24, 2018 ---
    P.S. On 10.12.6 HDMIaudio works but booting into another installation and then back to 10.12.6 disables HDMI sound for some reason. Reinstalling solves this until reboot to other partition again.
     
  23. h9826790 macrumors G4

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #698
    PRAM reset will enable SIP, which disable all unsigned 3rd party kext.

    Try disable SIP, it may work again.
     
  24. Susurs macrumors 6502a

    Susurs

    Joined:
    Jun 18, 2010
    #699
    Oh great! Will definitely try to. I thouht I might need to reinstall the system.
    Does 10.13.3. HDA in 10.13.4. counts as unsigned as well?
    --- Post Merged, Apr 25, 2018 ---
    P.S. Do you have any possible hint why HDMI sound gets disabled on 10.12.6 every time I reboot to another partition and back?
     
  25. Laeghaire macrumors newbie

    Laeghaire

    Joined:
    Apr 25, 2018
    #700
    KUDOS:


    I did the following:
    1. Download jch's copy of the 10.13.3 AppleHDA
    2. Moved my current system/library/extensions AppleHDA kext (that is, the 10.13.4 version) to the trash**
    3. Copied the 10.13.3 appleHDA file and kextbeast to my desktop
    4. Ran kextbeast and installed the 10.13.3 appleHDA file to S/L/E
    5. Re-ran HDMIaudio 1.1 install.sh
    6. Reboot

    this is the only working solution I had tried the HDMIaudio kext several time the key was indeed to replace the apple kext to the older version.

    Many thanks this was driving me nuts so many different posts this one simple helped

    Works on EVGA Geforce 980 TI SC+ on Mac Pro 5.1
     

Share This Page