"AMD Mute" SSDT zur Deaktivierung von GFX HDMI Audio erstellen

  • Nachdem die DisableGFXHDA Methode aus dem Kext Updater nicht mehr wirklich funktioniert habe ich nach einer anderen Lösung gesucht das HDMI/DisplayPort Audio Device einer AMD GraKa dauerhaft zu deaktivieren. Basierend auf apfelnico seiner SSDT für Robert habe ich ein kleines Tool gebaut was den Pfad der Grafikkarte ausliest und diesen in die SSDT einfügt. Am Ende liegt dann diese Datei auf dem Schreibtisch und kann in den EFI Ordner kopiert werden.


    Diese SSDT sollte für die meisten System mit einer AMD PCI GraKa funktionieren. Bei "speziellen" Hardwarekonstellationen ist es möglich, dass es nicht funktioniert. Aber die Meisten dürften eine Standard-Konfig haben. Daher einfach mal ausprobieren. Bei meinem Z390 mit einer RX5700XT klappt es.


    EDIT:

    Hab was bei den Buttons geändert. Man kann jetzt mit 3x Enter hintereinander die SSDT erzeugen und das Prog wieder schließen.

    Dateien

    4 Mal editiert, zuletzt von Sascha_77 ()

  • für was deaktiviert man den Ausgang bei HDMI? welche Vorteile hat das denn wenn ich fragen darf???

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Leider ist macOS nicht ganz so clever was das Speichern des zuletzt benutzten Audioausgangs angeht. Nach einem Neustart (oder auch nach dem Aufwachen) war meist wieder das HDMI/DisplayPort Device angewählt obwohl man z.B. auf "Line-Out" stehen hatte. Das nervt auf Dauer wenn sich immer das Ausgabedevice ändert. Darf man dann jedesmal von Hand wieder umstellen.


    Die SSDT schaltet (bzw. biegt die IDs um) für macOS dieses Device ganz ab sodass es auch nicht mehr ausgewählt werden kann. Da ich HDMI/DisplayPort Audio in meinem Szenario nicht brauche macht das Abschalten durchaus sinn.

  • Verstehe...danke für das aufklären. Konnte mir absolut kein reim drauf machen. ich schau mir das tool später mal an. baue ich vielleicht trotzdem mal in meine efi ein. kann ja mal Rückmeldung geben sobald ich es getestet hab


    UPDATE: Ist da was schiefgegangen, oder ist es normal das die file so groß ist und quasi die ganzen eintrage der dsdt noch da drinne stehen?

    Dateien

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Ah interessant.


    Mach mal bitte

    Code
    1. ioreg | grep PEG0 -A 2 | tail -n 1 | sed -e 's/.*+-o//g' -e 's/<.*//g' -e 's/@0//g' | xargs

    im Terminal. Ich ging davon aus das das Device immer 4 stellig ist. Wenn z.b. jetzt eine Stelle fehlt dann ist die aml Binary nicht mehr funktionsfähig. Oder aber der Befehl hat nicht den gewünschten Wert ausgegeben. Daher bräuchte ich mal die Ausgabe von Dir.


    Bzw. mach auch mal ein


    Code
    1. ioreg > ~/Desktop/ioreg.txt


    und häng das File hier an.


    Ich sehe aber auch gerade das die SSDT den Namen der Grafikkarte bei z.b. "Über diesen Mac" ändert. Ist zwar nur Kosmetik aber da werde ich mal schauen, dass der Name entsprechend der im System vorhandenen Karte lautet.

  • im terminal gabs keine ausgabe...war ja richtig den kompletten text dort einzufügen und mit Enter zu bestätigen?


    ioreg Datei im Anhang

    Dateien

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Den Code einfach einfügen, ja.


    Bei dir ist das ja komplett anders aufgebaut. Statt PEG0 steht bei dir GPP8. Hätte jetzt nicht gedacht das das so abweicht. Da muss ich dann nochmal schauen. Klar das die SSDT dann nicht klappt bzw. "beschädigt" ist.

  • Sascha_77

    Ich schrieb dir ja dazu schon etwas. Im Zweifel nimm den ganzen Eintrag „model“ raus.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • Sascha_77 keine Ahnung wieso es bei mir anders aufgebaut ist. kann es sein das es damit zu tun hat, weil es ein Ryzentosh ist? kenne mich mit dsdt und ssdt fast gar nicht aus

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Sascha_77

    Ich schrieb dir ja dazu schon etwas. Im Zweifel nimm den ganzen Eintrag „model“ raus.

    Ah ok, wenn man das einfach so weglassen kann dann werf ichs raus. Werde auch mal schauen das ich "iasl" mit ins Paket baue. Dann kann ich die Datei erst Disassmblen und muss nicht mit dem Hexeditor ran und hab am Ende u.U. ne Datei die nicht funktioniert.


    Hecatomb

    Gut möglich.

  • Entschuldigung wenn ich hier reingrätsche aber wäre sowas auch für den Audiotreiber einer Logitech Webcam möglich? Ich muss relativ oft Audioausgänge wechseln und da er nervt mich jedes mal...

  • Das geht vielleicht. Evtl. kann man hier auch die Radeon SSDT nehmen und den Pfad einfach auf die Kamera ändern. Vllt. mache ich mir es jetzt aber auch zu einfach. Naja versuch macht kluch. Häng mal eine IORegExplorer Ausgabe an.


    Hecatomb

    Mach mal bitte:

    Code
    1. ioreg -p IODeviceTree -n HDAU -r | grep "acpi-path"

    Einmal editiert, zuletzt von Sascha_77 ()

  • Sascha_77 bei diesem Befehl passiert iwie nichts

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Komisch. Bitte mache mal 1:1 so wie ich oben beschrieben habe:

    Code
    1. ioreg > ~/Desktop/ioreg.txt

    Und lade die Datei hoch. Nichts vom IORegExplorer. Das reine Textfile ohne was dran zu ändern.

  • ah moment...jetzt ist ne Datei aufm desktop

    Dateien

    • ioreg.txt

      (167,29 kB, 87 Mal heruntergeladen, zuletzt: )

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Kommt denn hier was?

    Code
    1. ioreg -p IODeviceTree -n HDAU -r
  • jetzt kam was



    ioreg -p IODeviceTree -n HDAU -r

    +-o HDAU@0,1 <class IOPCIDevice, id 0x10000025d, registered, matched, active, busy 0 (39 ms), retain 11>

    {

    "assigned-addresses" = <10010782000000000000d6fc0000000000400000>

    "IOInterruptSpecifiers" = (<1f00000007000000>,<0500000000000100>)

    "class-code" = <00030400>

    "IODeviceMemory" = (({"address"=4241883136,"length"=16384}))

    "IOReportLegendPublic" = Yes

    "built-in" = <00>

    "subsystem-vendor-id" = <4b170000>

    "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2,"CapabilityFlags"=258,"ChildProxyPowerState"=2,"MaxPowerState"=3}

    "pci-aspm-default" = 0

    "hda-gfx" = <"onboard-1">

    "IOInterruptControllers" = ("io-apic-1","IOPCIMessagedInterruptController")

    "IOPCIMSIMode" = Yes

    "vendor-id" = <02100000>

    "name" = <"pci1002,aaf0">

    "device-id" = <f0aa0000>

    "IOChildIndex" = 2

    "layout-id" = <07000000>

    "IOPCIResourced" = Yes

    "compatible" = <"pci174b,aaf0","pci1002,aaf0","pciclass,040300","HDAU">

    "IOServiceDEXTEntitlements" = (("com.apple.developer.driverkit.transport.pci"))

    "IOPCIExpressLinkCapabilities" = 4458755

    "subsystem-id" = <f0aa0000>

    "revision-id" = <00000000>

    "IOPCIExpressLinkStatus" = 4227

    "IOPCIExpressCapabilities" = 18

    "pcidebug" = "7:0:1"

    "IOName" = "pci1002,aaf0"

    "IOReportLegend" = ({"IOReportGroupName"="Interrupt Statistics (by index)","IOReportChannels"=((5291294645182070784,4295098369," $

    "reg" = <00010700000000000000000000000000000000001001070200000000000000000000000000400000>

    }

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Es gibt da kein "acpi-path". Das muss dann irgend ne speziell AMD Geschichte sein. Da kann ich dann nicht wirklich was machen. Klappt dann so wohl eher nur für Intel. Werds in der App vermerken das es Intel only ist.


    Kannst dann nur mal versuchen wie ich es anhand der Bilder in dem Radeon VII Thread beschrieben habe zu machen.

  • Ich selbst hab keine Probleme mit dem sound. Nutze eine externe soundkarte usw. wollte es nur mal so testen ;-)

    Dell XPS 13 7390  Intel® Core™ i7-10510u - OpenCore 0.9.4 - Win 11 macOS Ventura / macOS Sonoma

    MacBook Air 2022  M2 - 10 Core GPU - 16GB RAM - 512 GB - macOS Sonoma

    MacMini 6,1  Late 2012 - macOS Ventura Beta - OC Legacy Patcher 0.6.9

  • Danke für deine Zeit, hab dir die Ausgabe mal hochgeladen.

    Dateien

    • iMac.ioreg.zip

      (1,24 MB, 68 Mal heruntergeladen, zuletzt: )