Erklärung SSDTs Allgmein, Unterschiede SSDTs OpenCore Paket -> Dortania Anleitung

  • Guten Morgen Zusammen,


    Ein für mich letztes Kapitel welches ich gerne noch zu 100% verstehen und lernen möchte, nämlich die SSDT´s. Ich habe hierzu einige Fragen und hoffe ihr könnt mir die verständlich beantworten ;-)


    1. Unterschiede OpenCore Release Paket -> Dorthanias PreBuild SSDTs (Desktop, CoffeeLake):

    - SSDT_PLUG, 4kb (OpenCore) -> 693byte (Dorthania)

    - SSDT_AWAC, 979 byte -> 693byte

    - SSDT_EC-USBX, 3 kb -> 7 kb

    - SSDT_PMC, 2 kb -> 414 byte

    - warum ist das so und welche sind die "richtigen"?


    2. USB-Mapping (Hackintool)

    Beim USB-Mapping werden ja durch das Hackintool u.a. die Dateien USB-kext, SSDT_UIAC sowie SSDT-USB-X erzeugt. Hier gibt es ja die Möglichkeit entweder den usb.kext zu verwenden ODER die SSDT_UIAC.

    - worin liegt der Unterschied und was ist die "richtige/bessere" Möglichkeit?


    3. EFI´s von den Profis:

    Schaue ich mir EFIs von den Profis hier an, besitzen diese meist eine eigene zusätzliche SSDT zu in Punkt 1. genannten SSDs, bisher ist jeder meiner Hackintosh ohne eine solche zusätzliche ausgekommen.

    - Wofür werden diese erstellt und worin liegen dann die Vorteile?


    Schaue ich mir so eine "zusätzliche" SSDT an, kann ich nicht viel erkennen bzw. verstehen.

    - Wie kann ich die lesbar machen?



    Ich hoffe, ihr könnt auch hier noch "Licht" ins dunkel bringen ;-)

    Vielen Dank

    Grüße

    Leggalucci


    Asus Prime Z390-A 1502 | i9 9900k | 48GB | AMD RX580 4GB | NVMe 500 GB | BCM94360CS2 | macOS 12.0.1 | OpenCore

  • Das Bild in Punkt 3 zeigt eine SSDT-PLUG Datei mit eingefügten Freqeunz-Vektoren (cf-frequency data) nach "One", damit das CPU Power Management optimal funktioniert. Wenn man die Werte dort einfügt, benötigt man den CPUFriendDataProvider.kext nicht. PLUG 1 bedeutet, dass damit das X86PlatformPlugin für das Powermanagement verwendet wird, das ab der 4. Generation Intel (>IvyBridge) verwendet wird. Es gibt nämlich noch ein anderes für ältere Prozessoren, das anders funktioniert.


    Nachteil, wenn die Vektoren in der SSDT-PLUG Datei stehen: wenn man seine EFI teilt und jemand hat einen anderen Prozessor, dann passen die Vektoren nicht zur CPU. Deswegen am besten lieber mit CPUFrienFriend die Daten auslesen, den CPUFriendDataProvider.kext und CPUFriend.kext mit unmodifizierter SSDT-Plug verwenden. Weil, dann kann man einfach den DataProvider.kext vor'm Teilen löschen und ne Notiz hinzufügen, dass die Leute sich doch bitte selbst Freq-Data erstellen sollen.


    USB-Portmapping: whatever works. SSDT-UIAC hat bei mir Probleme verursacht, deswegen USB-Ports.kext

    2 Mal editiert, zuletzt von 5T33Z0 ()

  • Bei dem "zusätzlichen" SSDT handelt es sich um neue oder veränderte Frequenz Data..

    Evtl. um anderes CPu verhalten oder gar anderes Cpu der normaler weise vom eingesetzten Smbios zu erzeugen.



    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Vorgefertigte SSDTs sollte man vermeiden. Du legst dir einfach ein USB Boot Stick mit Linux (Mind z.B.) und liest dir für jedes Build die Daten mit SSDTTime aus.

    So hast du am wenigsten Probleme, musst dann normal auch nix mit USB Patchen und der PC booted auch deutlich schneller.
    Vorgefertigte sind nur dann sinnvoll wen es sich um z.B. um Identische Systeme handelt. Also z.B. Fertig-PC an denen man keine Hardware verändern kann oder
    verändern möchte. Um es kurz zu sagen.

  • Hallo Babamonkey kannst du das bitte etwas detaillierter, genauer erklären....ich möchte da auch etwas dazu lernen....

    1)ich habe einen USB-Stick mit Ubuntu drauf...

    2) starte ich nun Ubuntu


    EDIT: habe es inzwischen selbst rausgefunden, unter Anleitung des YouTube-Videos

  • SSDTTime kann nicht alle SSDTs erstellen, die man manchmal benötig, sondern nur DSDT dumpen (Windows), SSDT-EC/SSDT-EC Laptop, SSDT-PLUG und SSDT-HPET. Cool ist, dass es auch gleich .plists mit Patches für Clover und OpenCore generiert, die man einfügen muss, damit das ganze auch funktioniert.


    SSDTTime funktioniert übrigens auch unter Windows. Dafür würde ich nicht extra Linux installieren.

  • 5T33Z0 Ich werde mal eine LiveCD auf einen USB-Stick packen und das mal testen.


    Ersetzt dann die damit erzeugte SSDT-EC die SSDT-EC-USBX ?

    Grüße

    Leggalucci


    Asus Prime Z390-A 1502 | i9 9900k | 48GB | AMD RX580 4GB | NVMe 500 GB | BCM94360CS2 | macOS 12.0.1 | OpenCore

  • SSDT-EC ab Catalina ist überhaupt nicht notwendig, nur wer Mojave oder Vorgänge Version installieren will und manchen Laptops....


    1.

    -SSDT-PLUg ist für X86PlatformPlugIn.kext

    -AWAC ist eine Methode in DSDT, die bei machen Mainboards nicht angesprochen wird, daher ist SSDT-AWAC, um sie zu aktivieren, soweit ich kenne...

    -SSDT-EC-USBX erzeugt fake EC (EmbeddedControl), wo das viele Desktops nicht haben, und USBX stellt die notwendige Spannung für die USB Ausgänge, ist auch nicht notwendig, wenn du hier eigne USBPorts.kext mit Hackintool erstellt hast, da die Werte auch im kext eingetragen wurden.

    -SSDT-PMC ist für viele Mainboards, die keine Native NVRAM haben.


    2.

    Hackintool erstellt auch SSDT-UIAC, falls du USBInjectAll.kext verwenden möchtest(ist eine Methode von RehabMaM), wobei durch USBPorts.kext die beiden ersetzt.

    SSDT-USBX ist nicht anderes als was in Punkt 1. steht.


    3. hat cobanramo das schon erklärt und wenn du eigne SSDT für deinen Prozessor erstellen möchtest, gibt es einen schönen Thread von kuckkuck

    CPUFriend Guide, HWP & Speedstep: X86PlatformPlugin vs ACPI_SMC_PlatformPlugin


    Leggalucci

    3 Mal editiert, zuletzt von Der_Trottel ()

  • Es geht allgemein um den Funktionsumfang von SSDTTime und nicht darum, was wofür notwendig ist oder nicht.

  • Naja ich Arbeite halt nur unter Mojave und nur so läuft halt meine ganze Software noch deswegen ...

    Ein Linux Live Stick ist halt ruck zuck gemacht und ist auch erheblich schneller als ein Windows Boot Stick, daher Linux.


    Zu SSDTTime gibt es ein Video in dem es ganz gut erklärt wird. Wie man sie erstellt und wo.. ist halt Englisch.
    Kann sein das es bessere Videos gibt aber keine Zeit zum suchen ;)

    Youtube: Install macOS on any PC | OpenCore Guide


    SSDTTime hat mittlerweile mehr Funktionen..aber basicly das gleiche.

  • AWAC ist eine Methode in DSDT, die bei machen Mainboards nicht angesprochen wird

    AWAC ist eine neue Methode die ab 300 Series Chipsätze eingesetzt wird aber unter MacOS nicht verwendet werden oder bekannt ist, wird benötigt diesen auch auszuschalten.

    (EmbeddedControl), wo das viele Desktops nicht haben

    Den Embedded Controller haben Alle PC´s, nur ist der mit Mac´s nicht kompatibel, daher erzeugen wir einen Fake Embedded Controller.

    SSDT-PMC ist für viele Mainboards, die keine Native NVRAM haben

    Die PMC ist auch nur für 300 Series Chipsätze die eben NVram anders Adressieren die so MacOS nicht kennt, mit SSDT-PMC korrigieren wir dies damit es Nativ Nvram unterstützen kann.

    Glaube so würde es besser passen.

    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Zunächst möchte ich mich bisher bei allen für die vielen und für mich verständlichen Informationen bedanken!


    Ich bin gerade voll motiviert und habe mir jetzt mit einem LinuxLive Stick mit SSDTTime die Dateien erstellt - danach möchte ich mich natürlich noch mit dem CPUFriend beschäftigen.



    Die Dateien, AWAC, EC, HPET. PLUG und PMC (.aml) habe ich ausgetauscht und in der OC Config.plist aktualisiert.


    Muss die USB-Reset auch eingebunden werden? DSDT habe ich nicht eingebunden, denn wenn ich das korrekt verstanden habe, nutze ich dafür später den CPUFriend.kext


    Was mir noch unklar ist, wie muss ich jetzt in OpenCore die "patches_OC.plist" einbinden?


    Ahh, und 5T33Z0 Bei Abschnitt 2 habe ich auch nur "Enter" gedrückt, denn ich wusste nicht welche Option die richtige ist. ;-)

    Grüße

    Leggalucci


    Asus Prime Z390-A 1502 | i9 9900k | 48GB | AMD RX580 4GB | NVMe 500 GB | BCM94360CS2 | macOS 12.0.1 | OpenCore

  • Was mir noch unklar ist, wie muss ich jetzt in OpenCore die "patches_OC.plist" einbinden?

    Die sind Patschs, die du in deiner config unter ACPI -> Patch eintragen kannst

  • Leggalucci Die Plist einthält sowohl die Pfade zu den ACPI Dateien als auch notwendige Patches, die man per drag and drop an die entsprechenden Positionen der eigene config einbauen muss, damit die ganzen Sachen fünktionieren. SSDT-HPET benötigt zum Beispiel einen Rename Patch und Einträge für die IRQs die gepatcht werden sollen. Ohne die EInträge funktionoert das sonst nicht.

  • 5T33Z0 Ahh, jetzt hab ich das verstanden. Das ist ja genial einfach.

    Grüße

    Leggalucci


    Asus Prime Z390-A 1502 | i9 9900k | 48GB | AMD RX580 4GB | NVMe 500 GB | BCM94360CS2 | macOS 12.0.1 | OpenCore

  • Wenn ich die SSDTTime.command im Terminal unter MacOS ausführe fehlt der Punkt 8 mit DumpSSDT. Ist das ein Fehler von SSDTTime ?


    Ich habe die SSDTTime unter Parallels auf Win 10 ausgeführt hier wird der Punkt 8 angezeigt. Und ich kann alles ausführen. Aber kann man das so machen?

    Oder soll man nativ Windows booten?

  • LetsGo

    Danke für die Aufklärung. Habe ich nicht gesehen.

  • Ich glaube, das haben sie extra so gemacht, damit man nicht seine durch SSDTs gepatchte Datei dumpt, sondern eine cleane. Deswegen am besten zum dumpen Windows aus dem BIOS Bootmenü heraus starten und nocht aus OpenCore. Ansonsten geht's natürlich auch mit Clover im Bootmenü.