Jump to content
19 posts in this topic

Recommended Posts

I would like to disable the digital audio out on my 6800XT as I don't need it and it might be causing problems with my other audio devices. I've tried injecting No-hda-gfx with all-zero value into my GPU and DP/HDMI audio controller on it with DeviceProperties, but that changed nothing. Also I cannot go the SSDT route because it's a "subdevice" of the GPU and seems I can only disable the whole GPU with SSDT.

Help please?

Edited by i0ntempest
6 hours ago, i0ntempest said:

I would like to disable the digital audio out on my 6800XT as I don't need it and it might be causing problems with my other audio devices. I've tried injecting No-hda-gfx with all-zero value into my GPU and DP/HDMI audio controller on it with DeviceProperties, but that changed nothing. Also I cannot go the SSDT route because it's a "subdevice" of the GPU and seems I can only disable the whole GPU with SSDT.

Help please?

Try to inject device-id property for HDMI audio device as <12345678> so that AppleGFXHDA.kext will not attach to it.

But I wonder if you see any "causing  problem with other audio devices".

1 hour ago, Slice said:

Try to inject device-id property for HDMI audio device as <12345678> so that AppleGFXHDA.kext will not attach to it.

But I wonder if you see any "causing  problem with other audio devices".

Thanks for the help. Just to confirm, what you mean is I should inject that bogus device-id with data type "DATA", into "Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28] (subsys 1002:ab28)" shown in dspci output, which is at path given by gfxutil "03:00.1 1002:ab28 /PCI0@0/PEG0@1/PEGP@0/pci-bridge@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)"? If that's what you meant that doesn't seem to change anything, DP audio is still visible in Sound settings.

EDIT: I also tried blocking com.apple.driver.AppleGFXHDA, but that doesn't work either, kextstat still shows it's loaded after boot.

Edited by i0ntempest
2 hours ago, Slice said:

Try to inject device-id property for HDMI audio device as <12345678> so that AppleGFXHDA.kext will not attach to it.

But I wonder if you see any "causing  problem with other audio devices".

I did the same by making a SSDT. Dunno why OpenCore is failing to inject device id, the path should be correct? The path in my SSDT is _SB_.PCI0.PEG0.PEGP.

Edited by i0ntempest
53 minutes ago, i0ntempest said:

Thanks for the help. Just to confirm, what you mean is I should inject that bogus device-id with data type "DATA", into "Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28] (subsys 1002:ab28)" shown in dspci output, which is at path given by gfxutil "03:00.1 1002:ab28 /PCI0@0/PEG0@1/PEGP@0/pci-bridge@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)"? If that's what you meant that doesn't seem to change anything, DP audio is still visible in Sound settings.

EDIT: I also tried blocking com.apple.driver.AppleGFXHDA, but that doesn't work either, kextstat still shows it's loaded after boot.

Check with IORegistryExplorer which kext attached to the device and what are its properties, device-id.

5 minutes ago, Slice said:

Check with IORegistryExplorer which kext attached to the device and what are its properties, device-id.

Okay this is weird, I checked with IORegistryExplorer across reboots and I actually need both the SSDT and DeviceProperties injection active to be able to change its device-id. Otherwise it just has its original id. I attached my SSDT below (modified from here), can you see any problems?

SSDT-RDN-HDAU-disable.aml

54 minutes ago, Slice said:

Check with IORegistryExplorer which kext attached to the device and what are its properties, device-id.

Right, I fixed my SSDT - turns out I shouldn't have deleted DTGP. But still, doesn't explain why OC injection isnt working. I'll put my complete EFI folder here (there are some SSDTs I left in there for experimenting, they're not enabled pls ignore them).

EFI.zip

7 hours ago, Slice said:

More interesting to see your IOreg.

Here you go, I injected bogus device id 11451419 into the HDAU device.

Hack Pro.ioreg.7z

Edited by i0ntempest

Just noticed I might have given an broken ioreg (version too new). This one is created with v2.1.

Hack Pro_orig.ioreg.zip

Edited by i0ntempest
1 hour ago, grandosegood said:

hey there, i too have a radeon vii and am trying to disable HDMI/DP audio from it. have you had success yet?

I did, it's just that injecting device-id with OpenCore does not work, but injecting using an SSDT file does. You may get my SSDT-RDN-HDAU.aml and SSDT-DTGP.aml from my EFI folder above, adapt to your device path and it should work.

Edited by i0ntempest

thanks for the reply, i just tried and it didn't seem to work (montior still appears in output devices). Here is my device path

 

/PCI0@0/PEG1@1/PEGP@0/BRG0@0/GFX0@0

 

So presumably, the only thing i need to change from you is PEG0 to PEG1, correct? i have both attached here

test_SSDT-RDN-HDAU-disable.aml SSDT-DTGP.aml

Not sure. Try running "gfxutil | grep HDAU" and see if you get any output. Get prebuilt binary here or install from macports.

Ah got it - then you should also change "Device (EGP1)" below the path to Device (BRG0).

EDIT: Seems I forgot to delete DTGP method in the HDAU SSDT. You can drop SSDT-DTGP.

Edited by i0ntempest
  • 6 months later...
On 27/9/2022 at 6:14, grandosegood said:

¡muchas gracias! funcionó cuando eliminé SSDT-Bridge de mi sistema (resultó que no era necesario).

I'm trying to find out what the SSDT-Bridge.aml is used for without finding information about it. any ideas

  • 11 months later...

I'm also trying to disable the AppleGFXHDA kext file, but so far I wasn't able to do it. @i0ntempest I assume you tried that to solve the audio cuts right?

 

I have two GPUs, here is the output I get from a few useful commands:

$ kextstat | grep -E "AppleGFXHDA"
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
  157    0 0xffffff7f94a3f000 0x5f000    0x5f000    com.apple.driver.AppleGFXHDA (340.1) 7A6F73EC-B35A-323F-97F5-AF0945D70BF1 <154 120 115 18 9 8 7 6 3 1>
    
$ ioreg -p IODeviceTree -n GFX0 -r |grep "acpi-path"
  |   "acpi-path" = "IOACPIPlane:/_SB/PC00@0/GFX0@20000"
    
$ gfxutil | grep HDAU
03:00.1 1002:ab28 /PC00@0/PEG1@1/PEGP@0/pci-bridge@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)
07:00.1 1002:ab28 /PC00@0/RP21@1B/PXSX@0/pci-bridge@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1B,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)

I'm also attaching the output of my ioreg here. Could someone guide me on how to disable the kext and disable audio ut from HDMI/DP?

 

Thanks a lot! 🙏🏻

 

Hack-MacPro7,1.zip

×
×
  • Create New...