Allgemeine Fragen zu ACPI Patches

  • Ehemaliger Anfang des Threads: DSDT Patch Request


    anonymous_writer Du hast die DSDT also repariert indem du die fehlerhaften Einträge einfach gelöscht hast.

    Könnte man diese auch auf andere Weise reparieren?

    In diesem Fall war es ja eher Zufall dass diese für den Hackintosh nicht relevant sind.

    Aber was wäre wenn eben relevante Einträge fehlerhaft sind?


    Und woher weist du welche Einträge relevant sind? Gibt es da irgendwie brauchbare Informationen?

    Also zum Thema Hackintosh - DSDT oder allgemein ACPI - DSDT? Fachbücher oder Ähnliches?

    Oder bleibt hierfür nur sich Stück für Stück Info's aus dem Internet und den Spezifikation zu sammeln?


    Das interessiert mich eigentlich schon lange das Thema aber ich finde nicht wirklich eine geeignete

    Dokumentation zum reinarbeiten.

    Einmal editiert, zuletzt von kuckkuck ()

  • Hallo bounty96 ,

    Ich kenne keine brauchbaren Fachbücher, in diesem Fall weiß ich die sind nicht relevant da es diese Einträge in der Apple Welt nicht gibt. Einzige Möglichkeit um das genau zu analysieren ist es eine DSDT mit den original Apple DSDT zu vergleichen. Dumps dazu findet man im Netz.

    Natürlich kann man auch die Einträge auch reparieren, aber macht mehr Arbeit und ist in diesem Fall unnötig.

  • bounty96 Maschinensprache kann nur in seltenen Fällen perfekt wieder in lesbaren Code übersetzt/dekompiliert werden. Um dafür zu sorgen, dass uneindeutige Code Stellen in den ACPI Tabellen besser interpretiert werden können, empfiehlt es sich beim Decompile von zB DSDT, Referenzen zu hinterlegen und somit den Decompile zu erleichtern. Hierfür gibt es eine Herangehensweise die häufig "refs.txt Methode" genannt wird un meistens bereits die ersten Fehler und Unklarheiten bereinigt. Wie das ganze geht findest du hier: DSDT Sammelthread (Hilfe und Diskussion)

    Ansonsten gibt es zu ACPI leider keine wirklich guten Anlaufstellen. Ob man das 1186 Seiten lange ACPI Spec als gut bezeichnen will ist ansichtssache :D Meistens hilft es irgendwo anzufangen und sich durch das Internet zu wühlen. Erfahrungen helfen und Rehabman, verschiedene Githubs von fortgeschrittenen Usern sowie das OC Configuration.pdf bringen Inspiration :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Ok ja in diesem Fall ist das reparieren der Einträge unnötig aber in anderen Fällen wäre es unumgänglich?

    Soweit ich hier aus dem Forum rausgelesen habe war DSDT patchen so ein Thema von den 7er, 8er und 9er Chipsatzreihen von Intel.

    Aber dadurch das Clover vieles "On the fly" patchen kann ist DSDT immer mehr aus der Mode gekommen (korrigiert mich falls ich falsch liege).


    In die OC Doku bin ich mich gerade am Einarbeiten bzw. setzte ich mich gerade allgemein mit OC auseinander. Habe zwar schon auf meinem

    Laptop High Sierra zum laufen gebracht aber mehr als (ganz langsam zu) booten tut das teil noch nicht aber das ist ein anderes Thema.


    Irgendwie bin ich von OC auch noch nicht wirklich überzeugt weil Clover vieles ACPI Sachen patchen konnte und OC kann das nicht.

    Was für OC dann irgendwie wieder eine DSDT von Nöten macht... oder nicht?

  • DSDTs sind an sich ein dynamisches Konstrukt. Wenn man eine DSDT zum Zeitpunkt X extrahiert, patcht und lädt, wird ihre Konstruktion statisch und das ist so nicht gewollt. Deswegen ist DSDT Patching aus der Mode, ACPI Patching aber genauso relevant. Per Hotpatch-Renames und SSDTs kann man dafür sorgen, dass das ACPI Konstrukt dynamisch bleibt.


    Die Clover ACPI Patching Methoden sind leider katastrophal, teilweise gefährlich, undokumentiert, vorallem nicht reliable und wurden schon immer falsch/zu viel benutzt. Stattdessen sollte man im besten Fall die gesetzten Clover ACPI Hotpatch "Häkchen" durch eigene ACPI Renames und darauf angepasste SSDTs ersetzen (wenn sie benötigt werden). Das ist an sich so auch möglich und unter OC aktuell der einzige Weg (neben DSDT Patch) um bestimmte ACPI Patches zu realisieren, ist halt manchmal ziemlich kompliziert. Wenn OC irgendwann in der Zukunft einen Hotpatch Quirk Bereich haben sollte, so wie Clover, dann wird die Funktionalität dahinter sehr anders realisiert sein und sicherlich eher auf einer ACPI Symbol Library basieren um korrektes und zuverlässiges symbolbasiertes ACPI Patching zu ermöglichen. Das senkt die Fehleranfälligkeit ungemein.

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • (wenn sie benötigt werden).

    Das ist denke ich der Punkt an dem ich noch scheitere. Woher weis ich wann eine SSDT benötigt wird. In den meisten Anleitungen (diese eine da "getting started with OC" oder so) da habe ich auch nur rausinterpretiert "du solltest eine SSDT erstellen, kannst es aber auch lassen..."

    Und genau so verhält es sich mit den DSDT Patchen... keine Ahnung wann diese zum Einsatz kommen sollen, bis jetzt hat Clover alles geregelt xD



    ist halt manchmal ziemlich kompliziert.

    Da sagst du was, bin eigentlich mittlerweile in dem ganzen Hackintosh Thema (Hauptsächlich aber für ältere Platformen) ziemlich fit, aber an diesem ACPI bzw. DSDT/SSDT Thema beiß ich mir momentan die Zähne aus xD

  • Das ist die Frage aller Fragen :D


    Man kann nicht pauschal sagen, wann man einen ACPI Patch braucht. Es gibt verschiedene häufig genutzte ACPI Patches/SSDTs die verschiedene Zwecke realisieren, siehe zB OC Docs SSDTs. Im ACPI können beispielsweise per _DSM Methode Device Properties gesetzt werden, typisches Beispiel wäre hier plugin-type für die CPU, wodurch das X86PlatformPlugin Powermanagement aktiviert wird. Grob ist das ACPI eine Auflistung aller Teilgeräte des Computers, hier gehts tief ins Detail inklusive BUSse, Timer, Controller etc. pp. Das Verhalten der Geräte für bestimmte Systemzustände wird (teilweise) gesteuert/deklariert, beispielsweise "wann ist das Gerät aktiv", welche Aktivitätszustände kennt es. Probleme die hier reinspielen können häufig per ACPI Patch behoben werden.


    Manche sagen: Solange alles läuft brauchst du keinen ACPI Patch. Kann man so sehen, aber es gibt natürlich nochmal einen Unterschied zwischen läuft und läuft-gut. Auf jeden Fall ist weniger häufig mehr, fällt den meisten beim Wechsel von Clover zu OC auf.

    Ein geschulter Blick auf den IOReg und die aktiven Geräte sowie ihr Zustand zeigt häufig bereits an was es im ACPI noch so fehlen könnte. Häufig lohnt sich der Vergleich zu IOReg Dumps von echten Macs, man muss nur wissen/google bemühen, ob die entsprechenden aufgelisteten Geräte Apple exclusive sind, oder evtl auch im Hacky existieren, aber nicht korrekt aktiviert wurden. Allgemein lernt man durch Erfahrung irgendwann welche Probleme ACPI related sind/sein können und welche Probleme häufig durch ACPI Patches behoben werden.

    Leider ist deine Frage zu allgemein für konkrete Antworten/Anwendungsszenarien, aber wenn du willst find ein paar Beispiel und ich denk mal nach, ob man sich durch ACPI beheben könnte, oder nicht. Vielleicht bringt dir das eine Art Gefühl dafür was möglich ist :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • aber wenn du willst find ein paar Beispiel und ich denk mal nach, ob man sich durch ACPI beheben könnte, oder nicht.

    Das wäre auf jeden Fall cool. Mal schauen ob ich am WE dazu komme mal ein paar Sachen rauszuschreiben.



    Dass es schön tief ins Detail geht, damit habe ich kein Problem - sowas finde ich eher spannend.


    Aber was mir schon öfter aufgefallen ist, das man vieles über sein Mainboard selbst herausfinden muss bzw. die Spezifikationen und Handbücher der

    Hersteller oft zu wünschen übrig lassen. Alleine wenn ich in einem Handbuch von einem Mainboard schon lese z. B. "Intel HD Audio"

    oder "Realtek Gigabit Ethernet"... wow toll der genaue Chipsatz wäre halt gut... da könnte man auch schreiben "OnBoard Audio: Ja" oder so... xD


    Auf meinem Rampage 2 Board musste ich mühsam testen und mir rausschreiben welche PCIe Slots mit North- oder Southbridge "verdrahtet" sind,

    oder wie die LAN Ports angebunden sind (interessanterweise einer über PCIe x1 und einer über normales PCI) usw.


    Da fände ich eine sehr detailreiche Spezifikation oder am besten einen Schaltplan o. Ä. für Mainboards super wo man selbst den unwichtisten Widerstand nachverfolgen kann wie der "verdrahtet" ist. Dann kennt man sein MB wirklich und ich glaube dann wäre die erste Hürde für DSDT patchen schonmal erledigt.

  • Da kann ich nur zustimmen, die Handbücher lassen praktisch immer zu wünschen übrig und auch online findet man dann keinerlei Datasheets. Dann muss man halt selber auslesen...


    Edit: bounty96 hier geht es weiter

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

    Einmal editiert, zuletzt von kuckkuck ()

  • OK gut, war ein bisschen blöd von mir in dem anderen Thread so eine Offtopic Diskussion zu starten. Aber ich habe nicht nachgedacht und nur gesehen dass da jemand Ahnung von DSDT patchen hat xD


    Bin heute leider nicht dazu gekommen mir Sachen rauszuschreiben und bin jetzt auch ziemlich kaputt von der Arbeit aber morgen lade ich dann mal Sachen von meinem Laptop hoch wo vielleicht sich per DSDT/SSDT lösen lassen bzw. wo ich Fragen dazu habe.


    -------------------------------------------------------------------------


    Also ich denke die größte Frage ist überhaupt wie ich anfangen soll.

    Ich habe mit Clover per F4 Taste den ACPI Ordner extrahiert.


    Da habe ich mit MaciASL 1.5.6 mal die DSDT Datei geöffnet und beim Klick auf Compile kamen 3 Error's. Ich kann damit nicht wirklich was anfangen. Der Erste Error markiert die zweite Zeile von "zero". Meine Idee wäre gewesen die ganzen "zero" zu löschen? Beim zweiten Fehler sehe ich keinen Fehler. Jede öffnente geschweifte Klammer hat auch eine schließende? Und der letzte Fehler sagt nur "unexpectet End of File"... ?


    Sobald ich allerdings versuche einen Fehler zu lösen kommen mehr Fehler...


    Dann habe ich gesehen bei anderen MaciASL Versionen konnte man die ACPI Spec. Anpassen - bei der 1.5.6 nicht. Da das Laptop alt ist denke ich mir wird es wohl eher einer alten ACPI Spec. folgen oder?


    Dann gibt es in dem Ordner noch viel mehr Daten. Kann ich die alle löschen und nur die DSDT/SSDT behalten? Und wenn ja welche von den SSDT?


    Und wenn sich die Datei dann Compilen lassen würde, würden die Patches drankommen? Wenn ja welche bzw. was sind meine Möglichkeiten über DSDT zum laufen zu bringen?


    Was aktuell nicht geht ist Sleep, Audio, die Grafikkarte wird zwar im Systembericht richtig dargestellt, hat aber Grafikfehler, beim Zu- und Wiederaufklappen bleibt der Bildschirm schwarz.


    Ich habe mal meine OC-EFI und meine alte (funktionierende) Clover-EFI angehängt falls es was hilft.