Grundlegende Schritte zum Erstellen einer gepatchten DSDT - Desktops

  • Grundlegende Schritte zum Erstellen einer gepatchten DSDT - Desktops

    Hallo Zusammen,


    Ich habe mal versucht die Schritte für das Patchen der DSDT von verschiedenen Mainboard-Typen aufzulisten.

    Das Ganze ist nach Chipsätzen getrennt.


    Hinweis:

    • Voraussetzung zur Durchführung dieser Schritte ist die Nutzung der letzten Variante von MacIASL 1.31 mit aktualisiertem IASL aus folgendem Link MaciASL
    • Ebenso ist es wichtig zu wissen, welche Geräte tatsächlich auf euren Boards verbaut sind. Der Fokus liegt hierbei auf den Audio- und LAN-Chip. Dafür empfehle ich euch die Webseiten der Hersteller nach den Spezifikationen des jeweiligen Boards zu prüfen oder den DPCI-Manager einzusetzen.
    • In verschiedenen Situationen ist unter Umständen auch eine noch detailliertere Prüfung von internen Komponenten nötig. Dafür empfehle ich den IORegistryExplorer. Dieser kann bei zusätzlich eingebauten PCI-/PCIe-Karten den genauen "Standort" im System aufzeigen, so dass diese Zusatz-Karten bei Bedarf auch in die DSDT aufgenommen werden können.
    • Das Extrahieren der DSDT.aml aus dem laufenden BIOS erfolgt über das Drücken der F4-Taste im Clover-Bootmenü.
      • Damit werden die DSDT.aml, zusammen mit einem Rudel weiterer .aml-Dateien, in den Ordner /EFI/CLOVER/ACPI/origin abgelegt.
      • Wichtig: Das drücken der F4-Taste gibt weder eine akustische, noch eine optische Rückmeldung aus, so dass ihr erst sicher sein könnt, dass die Daten gezogen wurden, wenn ihr sie im Ordner /EFI/CLOVER/ACPI/origin findet
    • Patcht die Datei nie direkt im /origin-Ordner, sondern kopiert sie euch auf den Desktop oder an eine andere Stelle eurer Wahl.
    • Damit die letztendlich gepatchte DSDT auch genutzt werden kann, muss sie im Ordner /EFI/CLOVER/ACPI/patched abgelegt und das System neu gestartet werden.

    ACHTUNG:

    Es gibt keine Garantie für eine reibungslose Nutzung der hieraus resultierenden DSDTs.

    Zudem ist die vergleichbare Funktionalität in Clover in den letzten Jahren um einiges erweitert worden, sodass es womöglich keiner gepatchten DSDT für euer System bedarf.


    1. Mögliche Fehler in extrahierten DSDTs

    Eine per Clover extrahierte DSDT sollte vor Beginn der Patch-Aktion zuerst einmal auf Fehler geprüft werden.
    Dies geschieht durch die Funktion "Compile" des MaciASL.
    Werden keine Fehler ausgeworfen ist alles gut und ihr könnt mit den folgenden Patch-Listen für euren Chipsatz weitermachen.

    Dummerweise gibt es manche Original DSDTs, die schon bei diesem Test mit Fehlern um die Ecke kommen.


    Beispiel 1:

    Folgender Fehler tritt auf:



    Im Detail sind das die grün markierten Elemente aus den folgenden Bildern:

       


    Entfernt man die grün markierten "Arg"-Einträge und kompiliert erneut, wird daraus folgendes Ergebnis:


    Beispiel 2:


    Folgender Fehler tritt auf:


    Im Detail bezieht sich das auf den grün markierten Bereich in folgenden Bild:


    Wobei die "Zero"s über 119 Zeilen gehen.
    Entfernt diese Zeilen und kompiliert erneut.
    Das Ergebnis wäre dann:


    Nicht vergessen, das sind nur Beispiele und die jeweiligen Ergebnisse nach entfernen dieser ersten Fehler können natürlich variieren oder auch weitere Fehler beinhalten.
    Diese müssten dann weiter analysiert werden, bevor es weiter gehen kann.

    Ansonsten geht es mit dem Patchen der einzelnen Chipsätze weiter...


    1. Standard DSDT-Patch Verlauf für Desktops Skylake- (SKL), Kabylake- (KBL) & Coffeelake- (CFL) Chipsätze:

    1. Im BIOS den Serial-Port deaktivieren…. nutzt eh keiner mehr und erspart den “Z170-A UART Patch” in Clover.
    2. Rename HDAS nach HDEF (über die "Suchen/Ersetzen"-Funktion für alle Einträge) -> Damit die Onboard-Audio-Einstellungen von OSX gezogen werden.
    3. Rename HECI nach IMEI (über die "Suchen/Ersetzen"-Funktion für alle Einträge) -> Damit die HDMI-Audio-Einstellungen für Onboard Grafik von OSX gezogen werden.
    4. annähernder Patch aus 9-Serie für das Mainboard (ACHTUNG: Wenn nach Nutzung eines annähernden Patches noch Fehler auftreten, den Patch eines anderen, ähnlichen Boards auswählen) oder
      1. Unter “SourceForge” -> “Insert DTGP”
      2. Unter “General” -> “Basic Apple Device Renames” ACHTUNG: Je nach eingesetzter .plist-Datei im Maciasl kann es sein, dass dieser Patch nicht zur Verfügung steht.
      3. Unter “Intel9” -> Die Patches kurz prüfen und ggf. nutzen
    5. Rename “9 Series” nach “10 Series" (SKL), "20 Series" (KBL) oder "30 Series” (CFL) (über die "Suchen/Ersetzen"-Funktion). ACHTUNG: In einigen der Intel9-Series Patches sind feste "device-ids" eingetragen, die mit den SKL-, KBL- und CFL-Serien Schwierigkeiten machen... diese Zeilen sind unbedingt zu löschen.
    6. Unter "Laptops" -> "RTC Fix"
    7. Unter "Laptops" -> "OS Check Fix" (und zwar alle = Win Vista, Win 10, Win 8, Win 7 und Linux)
    8. Unter "Laptops" -> "IRQ Fix"
    9. Unter "Laptops" -> "Rename GFX0 to IGPU" wie oben bereits erwähnt, zur richtigen Unterscheidung der internen/externen Grafik
    10. ACHTUNG: folgender Punkt wird seit Einsatz des WhateverGreen.kext nicht mehr benötigt: Den Inhalt von “Skylake-HD530.txt” an die entsprechenden Positionen in der DSDT einsetzen.
    11. Unter "Intel 9” -> die Patches kurz prüfen und ggf. einzelne nachziehen.
    12. Unter “HDMI-9Series” -> ”AMI-HD4600-AMD-Nvidia-A1”… ACHTUNG: Nur Task 1, alle anderen zerlegen die bereits gesetzten Einstellungen. Ist für die richtige Zuordnung der möglichen Ausgänge der externen Grafik und Vorbereitung für HDMI-Audio über externe Grafik
    13. Unter "General" -> "Shutdown Fix - %” für Asus oder GA-Boards Der Name ist eindeutig... Für Intel, falls das Problem besteht, aber kein Asus- oder GA-Board ist
    14. ACHTUNG: folgender Punkt wird nicht mehr benötigt, da diese Boards alle USB-Ports über das "Device (XHC)" laufen lassen: Unter "General" -> "USB - Device Renames for OSX 10.11"
    15. Prüft die Einträge für "Device (HDEF)" und "Device (GLAN)" und nutzt beiliegende Beispiel-Dateien um entweder fehlende "_DSM"-Einträge hinzu zu fügen oder die Daten eures jeweiligen Audio- oder LAN-Chips einzutragen.


    2. Standard DSDT-Patch Verlauf für Desktops 9er Chipsätze:

    1. direkter oder annähernder Patch für das Mainboard (ACHTUNG: Wenn nach Nutzung eines annähernden Patches noch Fehler auftreten, den Patch eines anderen, ähnlichen Boards auswählen) oder
      1. Unter “SourceForge” -> “Insert DTGP”
      2. Unter “General” -> “Basic Apple Device Renames” ACHTUNG: Je nach eingesetzter .plist-Datei im Maciasl kann es sein, dass dieser Patch nicht zur Verfügung steht.
      3. Unter “Intel9” -> Die Patches kurz prüfen und ggf. nutzen
    2. Unter "Laptops" -> "RTC Fix"
    3. Unter "Laptops" -> "OS Check Fix" (und zwar alle = Win Vista, Win 10, Win 8, Win 7 und Linux)
    4. Unter "Laptops" -> "IRQ Fix"
    5. Unter "Laptops" -> "Rename B0D3 to HDAU" als Grundlage für HDMI-Audio der internen Grafik
    6. Unter "Laptops" -> "Rename GFX0 to IGPU" wie oben bereits erwähnt, zur richtigen Unterscheidung der internen/externen Grafik
    7. Unter "Intel 9” -> die Patches kurz prüfen, ggf. den "USB Power" nutzen, falls nicht genug Strom über USB bereitgestellt wird.
    8. Unter “HDMI-9Series” -> je nach verbauter CPU und deren interner Grafik… entweder ”AMI-HD4600-AMD-Nvidia-A1”, “AMI-HD5500-NUC-BRIX” oder “AMI-HD6000+-AMD-Nvidia-A1” ACHTUNG: Ohne Task 3 oder 4, der die interne Audio-Einstellung wieder überschreibt. Ist für die richtige Zuordnung der möglichen Ausgänge der externen Grafik und Vorbereitung für HDMI-Audio über externe Grafik
    9. Unter "Graphics" -> "MEI - Intel Haswell” für eine bessere Unterstützung der internen Grafik ACHTUNG: ändert hier bitte den Namen des Geräts auf "Device (IMEI)", da sonst die HDMI-Audio Unterstützung ggf. nicht funktioniert. Sollte zudem bereits ein "Device (HECI)" in der DSDT vorhanden sein, bitte unbedingt entfernen, da IMEI und HECI sich den Speicherbereich "Name (_ADR, 0x00160000)" teilen und es ansonsten zu anderen Schwierigkeiten kommen kann.
    10. Unter "General" -> "Shutdown Fix - %” für Asus oder GA-Boards Der Name ist eindeutig... Für Intel, falls das Problem besteht, aber kein Asus- oder GA-Board ist
    11. Unter "General" -> "USB - Device Renames for OSX 10.11" diesmal komplett, da die 9er-Chipsätze von USBInjectAll besser unterstützt werden. ACHTUNG: Hier kann es zu Fehlermeldungen kommen, wenn die Werte "EHC1", bzw. "EHC2", nicht komplett zu "EH01", bzw. "EH02", geändert wurden. Dies kann über eine einfache "Suchen/Ersetzen"-Funktion direkt im Maciasl korrigiert werden.
    12. Prüft die Einträge für "Device (HDEF)" und "Device (GLAN)" und nutzt beiliegende Beispiel-Dateien um entweder fehlende "_DSM"-Einträge hinzu zu fügen oder die Daten eures jeweiligen Audio- oder LAN-Chips einzutragen.


    3. Standard DSDT-Patch Verlauf für Desktops 8er-Chipsätze:

    1. direkter oder annähernder Patch für das Mainboard (ACHTUNG: Wenn nach Nutzung eines annähernden Patches noch Fehler auftreten, den Patch eines anderen, ähnlichen Boards auswählen) oder
      1. Unter “SourceForge” -> “Insert DTGP”
      2. Unter “General” -> “Basic Apple Device Renames” ACHTUNG: Je nach eingesetzter .plist-Datei im Maciasl kann es sein, dass dieser Patch nicht zur Verfügung steht.
      3. Unter “Intel8” -> Die Patches kurz prüfen und ggf. nutzen
    2. Unter "Laptops" -> "RTC Fix"
    3. Unter "Laptops" -> "OS Check Fix" (und zwar alle = Win Vista, Win 10, Win 8, Win 7 und Linux)
    4. Unter "Laptops" -> "IRQ Fix"
    5. Unter "Laptops" -> "Rename B0D3 to HDAU" als Grundlage für HDMI-Audio der internen Grafik
    6. Unter "Laptops" -> "Rename GFX0 to IGPU" wie oben bereits erwähnt, zur richtigen Unterscheidung der internen/externen Grafik
    7. Unter "Intel 8” -> die Patches kurz prüfen, ggf. den "USB Power" nutzen, falls nicht genug Strom über USB bereitgestellt wird.
    8. Unter “HDMI-8Series” -> ”AMI-HD4600-AMD-Nvidia-A1” ACHTUNG: Ohne Task 7, da das die interne Audio-Einstellung wieder überschreibt. Ist für die richtige Zuordnung der möglichen Ausgänge der externen Grafik und Vorbereitung für HDMI-Audio über externe Grafik
    9. Unter "Graphics" -> "MEI - Intel Haswell” für eine bessere Unterstützung der internen Grafik ACHTUNG: ändert hier bitte den Namen des Geräts auf "Device (IMEI)", da sonst die HDMI-Audio Unterstützung ggf. nicht funktioniert. Sollte zudem bereits ein "Device (HECI)" in der DSDT vorhanden sein, bitte unbedingt entfernen, da IMEI und HECI sich den Speicherbereich "Name (_ADR, 0x00160000)" teilen und es ansonsten zu anderen Schwierigkeiten kommen kann.
    10. Unter "General" -> "Shutdown Fix - %” für Asus oder GA-Boards Der Name ist eindeutig...
    11. Unter "General" -> "USB - Device Renames for OSX 10.11"
    12. Prüft die Einträge für "Device (HDEF)" und "Device (GLAN)" und nutzt beiliegende Beispiel-Dateien um entweder fehlende "_DSM"-Einträge hinzu zu fügen oder die Daten eures jeweiligen Audio- oder LAN-Chips einzutragen.

    5. Standard DSDT-Patch Verlauf für Desktops 7er Chipsätze:

    1. direkter oder annähernder Patch für das Mainboard (ACHTUNG: Wenn nach Nutzung eines annähernden Patches noch Fehler auftreten, den Patch eines anderen, ähnlichen Boards auswählen) oder
      1. Unter “SourceForge” -> “Insert DTGP”
      2. Unter “General” -> “Basic Apple Device Renames” ACHTUNG: Je nach eingesetzter .plist-Datei im Maciasl kann es sein, dass dieser Patch nicht zur Verfügung steht.
      3. Unter “Intel7” -> Die Patches kurz prüfen und ggf. nutzen
    2. Unter "Laptops" -> "RTC Fix"
    3. Unter "Laptops" -> "OS Check Fix" (und zwar alle = Win Vista, Win 10, Win 8, Win 7 und Linux)
    4. Unter "Laptops" -> "IRQ Fix"
    5. Unter "Laptops" -> "Rename B0D3 to HDAU" als Grundlage für HDMI-Audio der internen Grafik (ACHTUNG: Es kann sein das dieser Patch ins Leere greift, sprich, nichts anzeigt. An der Stelle kann aber ein “Device (HDAU)” Eintrag eines anderen Boards genutzt werden. Achtet dabei aber darauf, dass dieser HDAU aus dem entsprechenden Bereich “Device (IGPU)” stammen muss und als “hda-gfx” mit dem Wert “onboard-1” ausgestattet sein muss.
    6. Unter "Laptops" -> "Rename GFX0 to IGPU" wie oben bereits erwähnt, zur richtigen Unterscheidung der internen/externen Grafik
    7. Unter "Intel 7" -> die Patches kurz prüfen und nur "USB Multiplex" einsetzen (Die Netzwerk-Patches sind ggf. uninteressant, da dieser aus dem 1. Schritt kommen.)
    8. Unter "Graphics" -> "GFX - Generic Discrete Graphics (AMD/Nvidia)" für die richtige Zuordnung der möglichen Ausgänge der externen Grafik und Vorbereitung für HDMI-Audio über externe Grafik
    9. Unter "Graphics" -> "GFX - Intel HD2500" falls du doch mal mit der internen Grafik spielen möchtest...
    10. Unter "Graphics" -> "MEI - Intel Ivy" für eine bessere Unterstützung der internen Grafik ACHTUNG: ändert hier bitte den Namen des Geräts auf "Device (IMEI)", da sonst die HDMI-Audio Unterstützung ggf. nicht funktioniert.
    11. Unter "General" -> "Shutdown Fix - %” für Asus oder GA-Boards Der Name ist eindeutig...
    12. Unter "General" -> "USB - Device Renames for OSX 10.11"
    13. Prüft die Einträge für "Device (HDEF)" und "Device (GLAN)" und nutzt beiliegende Beispiel-Dateien um entweder fehlende "_DSM"-Einträge hinzu zu fügen oder die Daten eures jeweiligen Audio- oder LAN-Chips einzutragen.

    Abschliessende Info:

    Wie ihr sehen könnt, wiederholen sich viele der aufgeführten Schritte, egal mit welchen Chipsatz man arbeitet.
    Mit diesem Wissen als Grundlage besteht auch die Möglichkeit X99-/X299-DSDTs anzupacken und wenigstens die grundlegenden Züge einzuarbeiten.


Teilen