Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
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.
 

toleda

macrumors newbie
Jan 20, 2010
24
6
still haven't figure out how to make that injector kext yet
if I can use the same method to patch the AGPMcontroller?
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
[doublepost=1524850115][/doublepost]
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.

@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..
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.
 
Last edited:

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
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
[doublepost=1524850115][/doublepost]
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.

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
 

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
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).
View attachment 759859

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

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.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
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.

Thanks! Lets see if I can get it right :D
 

dylanbdrake

macrumors newbie
May 23, 2018
13
3
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:
View attachment 759099

View attachment 759097

View attachment 759096

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.

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 :(
 

skizzo

macrumors 6502
Apr 11, 2018
260
83
Ok I managed to do the first part but how do I 'run HDMIaudio 1.1 install.sh'?

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
 

dylanbdrake

macrumors newbie
May 23, 2018
13
3
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

I managed to disable the SIP but cannot get HDMI Audio running I get this (photo attached)
[doublepost=1527098076][/doublepost]I got it working!!!!!! I've been trying for so long and it finally worked!!
 

Attachments

  • Screen Shot 2018-05-23 at 18.00.05.png
    Screen Shot 2018-05-23 at 18.00.05.png
    116.6 KB · Views: 339
  • Like
Reactions: thornslack

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
I managed to disable the SIP but cannot get HDMI Audio running I get this (photo attached)
[doublepost=1527098076][/doublepost]I got it working!!!!!! I've been trying for so long and it finally worked!!

The screen capture doesn't looks like you install the HDMIAudio correctly.

But if it's working, then better not to touch it now.
 

steenamaroo

macrumors member
May 11, 2015
34
1
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!
 
Last edited:

steenamaroo

macrumors member
May 11, 2015
34
1
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.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
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 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!

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.
 

leendertstruik

macrumors newbie
Jul 29, 2011
22
2
Can anyone confirm this is working with 10.13.5? Im so glad its working now so im a little nervous to update...
 

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
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 /
 
Last edited:

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
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 /
Hi, can't seem to get this to work for me. I'm going to re-apply 10.13.5 to make sure all is back to normal first and then try again.
That de101a0e, from where did it come, I've used iHex to find that string in my HDA original kext and it's not there?
Just so I get this;
The device ID for my RX470 is 0xaaf0, and the mac looks at this as de10f0aa?
Screen Shot 2018-06-24 at 12.55.50.jpg
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Hi, can't seem to get this to work for me. I'm going to re-apply 10.13.5 to make sure all is back to normal first and then try again.
That de101a0e, from where did it come, I've used iHex to find that string in my HDA original kext and it's not there?
Just so I get this;
The device ID for my RX470 is 0xaaf0, and the mac looks at this as de10f0aa?
View attachment 767539

10de is Nvidia's Vendor ID. AMD is 1002 (as per in your screen capture).

Therefore, device ID of your card's audio part should be 0210f0aa inside the kext file.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.