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

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
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.
Ok, I think I'm getting it. So as an example the original perl command is saying;
Replace the string de101a0e with de10abcd, whilst mine would say, replace the string 0210xxxx with 0210f0aa.

Thing is where does that de101a0e actually come from? That's what I can't get my head around. I'm assuming that the command won't work if it can't locate the string to be replaced?
[doublepost=1529848061][/doublepost]
Please note that the fix is for Nvidia cards. I cannot confirm that it works for AMD cards. Try it with the right device ID (as mentioned by h98) and let us now. If it doesn't work, have a look at the WhateverGreen Lilu plugin.
Yeah thanks for that. I'll have a look see. I don't mind trying some stuff out.
 
Last edited:

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
Thing is where does that de101a0e actually come from?
It is one of the Nvidia IDs that Apple has whitelisted for audio in the AppleHDAController kext. We are simply replacing it with our own ID in order to be able to use HDMIAudio.
 
  • Like
Reactions: h9826790

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
It is one of the Nvidia IDs that Apple has whitelisted for audio in the AppleHDAController kext. We are simply replacing it with our own ID in order to be able to use HDMIAudio.
Ok, thanks. I'll have another look with iHex and see what I can find.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Ok, I think I'm getting it. So as an example the original perl command is saying;
Replace the string de101a0e with de10abcd, whilst mine would say, replace the string 0210xxxx with 0210f0aa.

Thing is where does that de101a0e actually come from? That's what I can't get my head around. I'm assuming that the command won't work if it can't locate the string to be replaced?

1) You should replace the whole de101a0e by 0210f0aa. The de101a0e is fixed, it won't change to 0210xxxx because you has a non Nvidia GPU installed.

As cdf pointed out, this fix is for Nvidia GPU, no one knows if can work for AMD. But I think it's quite safe to try it. Just make sure you keep the original kext copy at a safe place, and able to reverse it if required.

2) May be you look at the wrong place. Did you go all the way
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/MacOS to locate this file?
Screen Shot 2018-06-24 at 22.43.46.png

This is the one you should search the string and replace it accordingly.

NOT the kext itself.
Screen Shot 2018-06-24 at 22.44.04.png


If driver loaded for audio controller after string replaced (in PCI info), try re-install HDMIaudio.kext.

If driver loaded but no associated sound option, try different port on the card.
 

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
1) You should replace the whole de101a0e by 0210f0aa. The de101a0e is fixed, it won't change to 0210xxxx because you has a non Nvidia GPU installed.

As cdf pointed out, this fix is for Nvidia GPU, no one knows if can work for AMD. But I think it's quite safe to try it. Just make sure you keep the original kext copy at a safe place, and able to reverse it if required.

2) May be you look at the wrong place. Did you go all the way
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/MacOS to locate this file?
View attachment 767551
This is the one you should search the string and replace it accordingly.

NOT the kext itself. View attachment 767552

If driver loaded for audio controller after string replaced (in PCI info), try re-install HDMIaudio.kext.

If driver loaded but no associated sound option, try different port on the card.
Hi H9, I had the wrong end of the stick. I see what's going on now and will give it a try.......

EDIT: Ok, something screwy is happening. I can't find the original Nvidia string in the HDAkext;
Screen Shot 2018-06-24 at 16.41.21.jpg

..........so I'm going to copy that kext from a completely untouched Mac and see what I can find.
 
Last edited:

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Hi H9, I had the wrong end of the stick. I see what's going on now and will give it a try.......

EDIT: Ok, something screwy is happening. I can't find the original Nvidia string in the HDAkext;
View attachment 767554
..........so I'm going to copy that kext from a completely untouched Mac and see what I can find.

Search for the hex, not text
 

steenamaroo

macrumors member
May 11, 2015
34
1
Just back to point out that I made a mistake in post 721, and have amended with it strikethrough.
Instructions in that post followed again, successfully, for 10.13.5. :)
 
  • Like
Reactions: h9826790

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Please note that the fix is for Nvidia cards. I cannot confirm that it works for AMD cards. Try it with the right device ID (as mentioned by h98) and let us now. If it doesn't work, have a look at the WhateverGreen Lilu plugin.

Just confirmed the exact same patch work on my RX580 as well.
Screen Shot 2018-07-01 at 04.14.07.png
Screen Shot 2018-07-01 at 04.13.39.png
 
  • Like
Reactions: cdf

haralds

macrumors 68030
Jan 3, 2014
2,990
1,252
Silicon Valley, CA
Any more info?

SIP disabled?

Driver doesn't loaded at all?

Which card?
It's an AMD Radeon HD 7970 3072 MB that works fine with HDMIAudio under High Sierra.
The KEXT is Kext Developer signed, so SIP is ok.

Seems to load just fine:
$ sudo kextutil -verbose /Library/Extensions/HDMIAudio.kext
Defaulting to kernel file '/System/Library/Kernels/kernel'
/Library/Extensions/HDMIAudio.kext appears to be loadable (not including linkage for on-disk libraries).
Loading /Library/Extensions/HDMIAudio.kext.
/Library/Extensions/HDMIAudio.kext successfully loaded (or already loaded).
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
It's an AMD Radeon HD 7970 3072 MB that works fine with HDMIAudio under High Sierra.
The KEXT is Kext Developer signed, so SIP is ok.

Seems to load just fine:
$ sudo kextutil -verbose /Library/Extensions/HDMIAudio.kext
Defaulting to kernel file '/System/Library/Kernels/kernel'
/Library/Extensions/HDMIAudio.kext appears to be loadable (not including linkage for on-disk libraries).
Loading /Library/Extensions/HDMIAudio.kext.
/Library/Extensions/HDMIAudio.kext successfully loaded (or already loaded).

So, in the PCI info page shows audio part has driver loaded, but no relevant sound option available?
 

haralds

macrumors 68030
Jan 3, 2014
2,990
1,252
Silicon Valley, CA
So, in the PCI info page shows audio part has driver loaded, but no relevant sound option available?
Is it this:
AMD Radeon HD 7970:
Name: ATY,HamachiParent
Type: Audio Controller
Driver Installed: Yes
MSI: Yes
Bus: PCI
Slot: Slot-1
Vendor ID: 0x1002
Device ID: 0xaaa0
Subsystem Vendor ID: 0x1458
Subsystem ID: 0xaaa0
Revision ID: 0x0000
Link Width: x16
Link Speed: 5.0 GT/s
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Is it this:
AMD Radeon HD 7970:
Name: ATY,HamachiParent
Type: Audio Controller
Driver Installed: Yes
MSI: Yes
Bus: PCI
Slot: Slot-1
Vendor ID: 0x1002
Device ID: 0xaaa0
Subsystem Vendor ID: 0x1458
Subsystem ID: 0xaaa0
Revision ID: 0x0000
Link Width: x16
Link Speed: 5.0 GT/s

Did you try another port on the card, sometimes only one port has HDMIAudio available.
 

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
Did you try another port on the card, sometimes only one port has HDMIAudio available.
I have four ports available, (three DP and one HDMI), but I'm getting nothing out of any. Have all the same indications as you do from System Profiler though.

I might wait till the .6 release and try it again then.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
I have four ports available, (three DP and one HDMI), but I'm getting nothing out of any. Have all the same indications as you do from System Profiler though.

I might wait till the .6 release and try it again then.

Did you patch the AppleHDAController kext yet?
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
I did, yes. Also reinstalled HDMI AUDIO and have SIP off. Even did the KextUtility thing too.

That's strange. My RX580 can still output audio even after 10.13.6 update. (Because no update on AppleHDA)
Screen Shot 2018-07-10 at 15.34.10.png


Anyway, I use this port to get audio after editing the AppleHDA kext.
io-2-1.jpg

If you can't get it, I suspect you didn't edit the AppleHDA kext correctly.
 

H2SO4

macrumors 603
Nov 4, 2008
5,828
7,103
That's strange. My RX580 can still output audio even after 10.13.6 update. (Because no update on AppleHDA)
View attachment 769879

Anyway, I use this port to get audio after editing the AppleHDA kext.
View attachment 769882
If you can't get it, I suspect you didn't edit the AppleHDA kext correctly.
I'll soon find out. My plan is to update to 10.13.6 overnight. Once back at the OS, turn SIP off completely. Uninstall HDMIAudio.kext.
Make mods to the new AppleHDA.kext, (which I'll get from a completely different machine if need be), and go from there.
 
  • Like
Reactions: h9826790

Susurs

macrumors 68000
Jun 18, 2010
1,609
11,017
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.

Is it still working in 10.13.6?
 

tu2thepoo

macrumors member
Nov 14, 2017
75
59
Edit- ignore, misread post. Haven’t tried on 10.13.6 yet!

edit2- does work in 10.13.6, still using geforce 1060 DP audio
 
Last edited:

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 managed to make this work in 10.13.5 but it has stopped working in 10.13.6

What should I do?
 

skizzo

macrumors 6502
Apr 11, 2018
260
83
I managed to make this work in 10.13.5 but it has stopped working in 10.13.6

What should I do?

repeat the process. I did it originally in 10.13.4 and had to repeat it when I updated to 10.13.5. I assume I will be doing the same when I try 10.13.6
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.