i0ntempest Posted September 19, 2022 Share Posted September 19, 2022 (edited) 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 September 19, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
Slice Posted September 19, 2022 Share Posted September 19, 2022 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". Link to comment Share on other sites More sharing options...
i0ntempest Posted September 19, 2022 Author Share Posted September 19, 2022 (edited) 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 September 19, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
i0ntempest Posted September 19, 2022 Author Share Posted September 19, 2022 (edited) 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 September 19, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
Slice Posted September 19, 2022 Share Posted September 19, 2022 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. Link to comment Share on other sites More sharing options...
i0ntempest Posted September 19, 2022 Author Share Posted September 19, 2022 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 Link to comment Share on other sites More sharing options...
i0ntempest Posted September 19, 2022 Author Share Posted September 19, 2022 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 Link to comment Share on other sites More sharing options...
Slice Posted September 19, 2022 Share Posted September 19, 2022 More interesting to see your IOreg. Link to comment Share on other sites More sharing options...
i0ntempest Posted September 19, 2022 Author Share Posted September 19, 2022 (edited) 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 September 19, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
i0ntempest Posted September 26, 2022 Author Share Posted September 26, 2022 (edited) 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 September 26, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
grandosegood Posted September 27, 2022 Share Posted September 27, 2022 hey there, i too have a radeon vii and am trying to disable HDMI/DP audio from it. have you had success yet? Link to comment Share on other sites More sharing options...
i0ntempest Posted September 27, 2022 Author Share Posted September 27, 2022 (edited) 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 September 27, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
grandosegood Posted September 27, 2022 Share Posted September 27, 2022 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 Link to comment Share on other sites More sharing options...
i0ntempest Posted September 27, 2022 Author Share Posted September 27, 2022 Not sure. Try running "gfxutil | grep HDAU" and see if you get any output. Get prebuilt binary here or install from macports. Link to comment Share on other sites More sharing options...
grandosegood Posted September 27, 2022 Share Posted September 27, 2022 that command returns the following: /PCI0@0/PEG1@1/PEGP@0/BRG0@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1) Link to comment Share on other sites More sharing options...
i0ntempest Posted September 27, 2022 Author Share Posted September 27, 2022 (edited) 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 September 27, 2022 by i0ntempest Link to comment Share on other sites More sharing options...
grandosegood Posted September 27, 2022 Share Posted September 27, 2022 thank you very much! it worked when i removed SSDT-Bridge from my system (turned out to be not needed). Link to comment Share on other sites More sharing options...
kaoskinkae Posted April 5, 2023 Share Posted April 5, 2023 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 Link to comment Share on other sites More sharing options...
panosru Posted March 16 Share Posted March 16 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 Link to comment Share on other sites More sharing options...
Recommended Posts