GA-Z87-UD5H mit Ozmosis und angepasster DSDT

  • Dank dem Ozmosis Bootloaders sind wir ja schon recht nahe mit unserem Hakintosch an einen Original MAC vorgedrungen, einiges last sich ja an Kexten noch im BIOS mit unterbringen, nur beim Audio bedarf es immer noch einer gepatschten appleHDA das und noch einiges mehr möchte ich nun mit Hilfe einer DSDT umgehen, die dann schlussendlich im BIOS gegen die Originale ausgetauscht wird zu Integrieren.


    Dies ist nun mal ein Versuch meine herangehensweise etwas zu Dokumentieren vielleicht hat ja der an oder andere geneigte Leser Anregungen, Verbesserungen, oder gar findet ja selbst gefallen daran für sein Board sich seine DSDT zu erstellen.


    Aktuell setze ich ein mod Bios für mein Z87X-UD5H in Version F8.a quelle dieses wurde gegen über dem Originalen F8a in folgenden Punkten verändert.


    Original F7/F8a enthält:
    Intel® Boot Agent GE v1.5.04 PXE 2.1 Build 092 (WfM 2.0)
    Intel® PCI Accelerated SVGA BIOS 2171 PC 14.34 04/08/2013
    Intel® GOP Driver 5.0.1032
    Marvell 88SE91xx Adapter - BIOS Version 1.0.0.0027
    Intel® RAID for SATA - v12.6.0.1867
    EFI RAID SataDriver - v12.6.0.1867
    ME Firmware 9.0.3.1347
    Haswell CPU-Patch 9


    mod enthält F8a
    Intel® Boot Agent GE v1.5.43 PXE 2.1 Build 092 (WfM 2.0)
    Intel® PCI Accelerated SVGA BIOS 2177 PC 14.34 07/25/2013
    Intel® GOP Driver 5.0.1035
    Intel® RAID for SATA - v12.7.0.1936
    EFI RAID SataDriver - v12.7.0.1936
    ME Firmware 9.0.21.1462
    Haswell CPU-Patch 16


    Das habe ich um den Ozmosis Bootloader erweitert, und beinhaltet des weiteren noch LAN,fakeSMC-v5.3.820,GPU,CPU,LPC-Sensoren für HWSensor, HDAEnebler, sowie der Spalshsreen (Apple) wurden angepasst.
    Damit ist dann schon mal eine Vanilla Installation nach Herstellung eines Installsticks via Disk Maker X möglich.


    Das vor mir eingesetzt BIOS Z87X-UD5H.mod.F8a-Ozmosis


    Daraus habe ich mir dann nach dieser Anleitung von apfelnico die AmiBoardInfo.ffs.zip und daraus die dsdt.aml.zip extrahiert.


    Mit MaciACL geöffnet, in den Preferences ACPI 4.0 eingestellt (DSDTEse und DSDT Editor arbeiten auch so) und den erstmal auf Compile geklickt um zu sehen was an Fehlern und Warnungen so bei rauskommt.

    Da das ganze ja neu für mich ist, hier mal mein Lösungsvorschläge, wenn da jemand etwas besser weis als ich dann Immer her damit.


    Fehler Behebung:


    Warning 1105 - Possible operator timeout is ignored

    Code
    1. Acquire (MUT0, 0x0FFF)
    2. ändern zu
    3. Acquire (MUT0, 0xFFFF)


    Remark 5111 - Use of compiler reserved name

    Code
    1. Suchen und ersetzen von _T_ mit T_


    Remark 5072 - Effective AML package length is zero

    Code
    1. Return (Package (0x00) {})
    2. ändern zu
    3. Return (Package (Zero) {})

    Ist ja eigentlich das selbe nur stört sich der Compiler nicht mehr daran.


    Warning 1088 - Not all control paths return a value


    Warning 1099 - Unknown reserved name (_DEP)

    Code
    1. _DEP
    2. ändern zu
    3. DEP


    Error 4096 - syntax error, unexpected PARSEOP_ARG0




    Die Änderungen führen dann zu einer DSDT ist 0 Fehler 0 Warnungen enthält, da ich die Anpassungen die ich nun vorgenommen habe erst noch alle austesten muss, werde ich diesen Posting nach und nach erweitern, vielleicht hilft es dem ein oder anderen der sich mit der DSDT Bearbeitung nicht auskennt ja etwas, zumindest sind hier ein paar immer wieder vorkommende Fehler und deren Lösungsweg beschrieben.



    So da ich meine dstd auch gerne nach ACPI 5.0 zumindest Fehler frei haben wollte habe ich mich auf die suche gemacht und bin dann bei toleda auf Github fündig geworden.


    Also erweitern wir erstmal MaciASL


    MaciASL -> Preferences -> Sources -> + als Namen habe ich der Einfachheit halber toleda hdmi eingetragen bei der url: https://raw.github.com/toleda/audio_hdmi_uefi/master


    Preferences ->iASL ACPI 5.0 einstellen


    Im Hauptfenster -> Compile und wir sehen es sind doch noch so einige Fehler vorhanden, diese merzen wir nun aus ;)


    Patch -> unter toleda hdmi sehen wir nun den gesuchten UEFI-Clean Compile patsch auswählen, ausführen Fenster wieder schließen gefolgt von einem Compile und wir sehen das die Fehler auch unter ACPI 5.0 weg sind.


    Wer sich den Patsch an gesehn hat wird feststellen das einige der oben genannten Fehler mit diesem Automatisch behoben werden.


    Nicht vergessen die Preferences wieder auf ACPI 4.0 zu stellen.


    Thema Sound ;) ich habe ja bei meinem Board einen ALC898 Chip verbaut aber er ist eigentlich für alle geeignet die bis jetzt mit HDAEnebler Kext gearbeitet haben.


    hier der Link zur Vollständigen Erklärung (Englisch)


    Und nun meine Zusammenfassung des ganzen.


    Wir erweitern MaciASL genauso wie schon oben beschrieben um die URL: https://raw.github.com/toleda/audio_ALCinjection/master damit wird der notwendige Patsch automatisch bereitgestellt.


    So nun schauen wir erstmal nach ob wir das Device HDEF schon haben oder nicht, danach entscheidet sich welcher Patsch ausgewählt werden muss.


    Entweder per MaciASL->Edit->Find->Find HDEF oder cmd+f HDEF



    Ist das Device HDEF wie bei mir schon vorhanden brauchen wir unter Patch nur noch Enable Audio ID:1;2 oder 3 auswählen (1 und 2 entspricht den bisher bekannten HDAEneblern 1 und 2 ) den patch via Apply ausführen und Compile das wars.


    Wenn HDEF nicht vorhanden ist, muss der Patch Add dsdt/HDEF/Audio ID:1 genommen werden.
    Im Oberen Fenster kann die Anpassung der Layout ID vorgenommen werden also 1;2;3 sie Bild der Rest ist dann wieder Apply und Compile

    So das war es zum Thema Audio Integration in die DSDT


    Weiter geht es in Posting 31

    6 Mal editiert, zuletzt von thomaso66 () aus folgendem Grund: Erweiterung siehe Posting 31; Error 4096 - Syntax error, unexpected PARSEOP_ARG0 (Fehler ausgebessert)

  • das ist auch das einzige Problem was ich noch habe....


    Ich möchte das auch nicht einfach nur löschen bzw ausdokumentieren....


    Als Tip noch. Gigabyte hat die Bezeichnung der Devices angepasst, andere Mainboardhersteller sind da nicht so nett und das muss man selber nachholen?


    Tapatalk

    CPU: Intel Xeon E3 1230 v3 - MB: Gigabyte GA-H87-D3H - GFX: Nvidia Geforce 250 GTS - Bios: Ozmosis 894m - OS: Mavericks 10.9 Windows 7

  • Es geht voran. Hast du deine DSDT schon wieder integriert? Problematisch wird es, wenn die DSDT nun größer ist, das wird nix. Hast du am Audiodevice arbeiten können?

    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)

  • Nein Audio ist noch nicht drin, klar größer geht gar nicht da sich dann alles verschieben würde das wäre ein absolutes NOGO.


    Aber sie ist kleiner geworden das Original hat 50.307 Byte die bearbeitet DSDT nur noch 49.012 Byte ist also noch Platz für Audio ;)


    Beim Einsetzen via Hex Editor wird der Rest ja einfach mit Nullen aufgefüllt um wieder auf die gleiche Byte Größe zu kommen, wenn ich das alles richtig verstanden habe.


    svenmac


    Das Argo kann einfach gelöscht werden, habe mich nun durch einige Roh DSDT von Gigabyte gekämpft ;) wo an selbiger stelle da nichts steht, also entweder per # aus kommentieren oder einfach löschen das passt schon.


    Und ja Gigabyte hat schon einiges OSX Freundlicher gemacht, aber noch nicht alles da bedarf es noch etwas Handarbeit, siehe später oben. erstmal will ich nun Audio drin haben.


    apfelnico


    So Audio ist mit drin ;)


    Also die DSDT habe ich wieder in das BIOS intrigiert mit Hilfe des phoenixtool v2.19 (Win) die beiden schon bekannten Programme mmTool, UEFItool versagen da einfach den Dienst.


    Flashen lies sich das Bios auch ohne Probleme :D nur kam die Ernüchterung leider nach dem Reboot Schwarzer Bildschirm ;( und die Diagnose Anzeige des Motherboards blieb bei 72 (PCH device initialization) stehen. :oops:


    Also Irgendwas ist da beim wieder Integrieren der DSDT falsch gelaufen, da bedarf es also noch ein bisschen mehr input :whistling:


    Die DSDT per Hex Editor an die selbe stelle setzen wie die Extrahierte DSDT, da sie kürzer ist den Rest mit 00 aufgefüllt in dem Bereich wo die alte DSDT stand, die so entstandene AmiBordInfo.ffs ist also von der Größe in Byte gleich geblieben.


    Dann diese halt via phoenixtool wieder nach dem Löschen der AmiBoardinfo dem BIOS wieder hinzugefügt, die Offsets, Byte großen etc. alles stimmte über ein, also muss ich wohl mit dem Hex Editor mist gebaut haben ;(


    Hat eigentlich schon jemand die DSDT via EFI Partition mal ausprobiert ob diese geladen wird? Wenn ja wie überprüfe ich das am besten?


    Naja also eines hat die Durchgemachte nacht nun eingebracht, ich weis nun wozu ein Dual Bios gut ist ;) und das Backup Bios ist nun auch auf dem Aktuellen Stand.

  • Zitat

    die Diagnose Anzeige des Motherboards blieb bei 72 (PCH device initialization) stehen


    Das kommt mir fürchterlich bekannt vor.
    Hast du mal einen CMOS gemacht und geprüft ob er dann Startet?

  • Sehr gut. Alternativ denke drüber nach, ob du du DSDT wieder etwas aufblähst, um exakt auf die ursprüngliche Größe zu kommen.

    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)

  • CMos Reset war das erste, musste ja eh das Gehäuse aufschrauben um den Bios Schalter umzulegen ;) führe leider nicht zum gewünschten Erfolg.


    Die Orginal DSDT ist 50.307 Byte gross die bearbeite im Moment 49.163 Byte


    Du meinst ich soll also die Fehlenden Bytes in der DSDT mit Kommentar Zeilen auffüllen und dann integrieren..

  • Hallo!


    Da ich Clover nutze kann ich die DSDT via EFI-Partition laden! Das funktioniert einwandfrei, ich habe alles nochmal genau nach deiner Anleitung bei mir an der DSDT geändert und sie Funktioniert bestens. Audio habe ich erst gerade eben eingebaut und will das jetzt testen.

    CPU: Intel Xeon E3 1230 v3 - MB: Gigabyte GA-H87-D3H - GFX: Nvidia Geforce 250 GTS - Bios: Ozmosis 894m - OS: Mavericks 10.9 Windows 7

  • Habt ihr irgendwelche Tips um die bearbeitete DSDT kleiner zu kriegen? Bei mir ist sie ca. 0,5 Byte größer als die originale :S


    Im Anhang mal meine DSDT bis jetzt

    Dateien

    • DSDT.aml.zip

      (15,5 kB, 82 Mal heruntergeladen, zuletzt: )

    G5-Gehäuse | GA-Z77X-UP5-TH (Bios F11 Ozmosis) | Intel Core i7 3770k | Gainward GTX 780 Phantom | 8 GB Corsair 1600 MHz CL9 | OS X 10.9.2 | Win 8 Pro

    Einmal editiert, zuletzt von Baerhund ()

  • Baerhund gib mir bitte auch mal die Originale unbearbeitete DSDT.aml



    @all
    Ich habe es gefunden, werde das Morgen mal in ruhe durchgehen und dann schreibe ich hier etwas passend zu. Phonixtools ist schon der richtige weg, und auch das auffüllen mit nullen ;) nur dass einsetzen so ich/wir uns das gedacht haben geht nicht.

  • Da ist sie :thumbsup: ....


    Edit: Konnte es jetzt kleiner kriegen weiß aber nicht ob das auch gut ist so, auf ner anderen Seite stand jedenfalls dass man das nicht braucht.
    Ich habe also das hier gelöscht:


    Dann das hier da es das von oben aufruft:


    Und das:


    Das letzte stand nicht auf der Seite, hat bei mir nach dem Löschen der ersten Sachen aber nen Error produziert also hab ich es auch rausgenommen.


    Wär echt cool wenn sich das mal jemand angucken würde und mir sagen ob ich das wirklich weglassen kann

    Dateien

    G5-Gehäuse | GA-Z77X-UP5-TH (Bios F11 Ozmosis) | Intel Core i7 3770k | Gainward GTX 780 Phantom | 8 GB Corsair 1600 MHz CL9 | OS X 10.9.2 | Win 8 Pro

    Einmal editiert, zuletzt von Baerhund ()

  • Gute frage, ist für mich auch alles noch Neuland.


    Aslo ich habe mir einfach mal dein Bios besorgt ;) und die DSDT per Hex Editor extrahiert, war einfacher als die Differenzen zwischen deinen beiden zu finden.


    Orgianal hat eine Größe von 43.987 Byte die von mir bearbeitete incl. dem Sound patsch ist nur noch 42,932 Byte groß. Ich weis nicht was du noch alles verändert hast, aber in der Version ist nun massig platz vorhanden ;)


    Schau sie dir mal an und Probier sie aus. DSDT-Bearhund.zip

  • Hmm... Also meine unbearbeitete DSDT ist nur 42.719 Byte groß. Extrahiert habe ich sie aus meinem Ozmosis-Bios was ich mit Q-Flash gespeichert hatte. Was hast du denn alles verändert an der DSDT verändert? Bei mir wird sie nähmlich schon wenn ich nur die Errors fixe 1 byte größer

    G5-Gehäuse | GA-Z77X-UP5-TH (Bios F11 Ozmosis) | Intel Core i7 3770k | Gainward GTX 780 Phantom | 8 GB Corsair 1600 MHz CL9 | OS X 10.9.2 | Win 8 Pro

  • Extrahiert aus dem Unbearbeiteten BIOS von GB, verändert eigentlich, nur den Sound patch wie oben beschrieben hinzu gefügt und die Fehler via uefi-clean-compile drüber laufen lassen da bleibt dann nur noch die Warnung "_WDG" über, die last sich einfach umgehen indem man daraus "WDG" macht. (Kommt eh nur dort vor)


    File -Save as Format ACPI Maschine Language Binary


    Bearbeitet ist das ganze mit MaciASL Version 1.3(246)

  • Hallo!


    Ich habe das selbe Problem! Meine unbearbeitete DSDT ist 45.137 Byte groß, meine bearbeitete ist allerdings 45.125 Byte groß
    Problem ist nun das ich diese DSDT nicht mehr ins Bios bzw AmiBoardInfo Integriert bekomme. Es gibt schlicht und ergreifend in meiner AmiBoardInfo keinen Platzt für diese 12 Byte..... :wallbash:

    Ich habe nur Fehler, Warnungen, Optimierungen, Device "COPRO" in "MATH" gemacht


    :help: Meine Frage wäre jetzt, könnte da noch Jemand anders mal drüber schauen? Ich habe das Gefühl da einen Fehler zu machen!


    :guck: DropBox-Link


    Vielen Dank schonmal :danke:

    CPU: Intel Xeon E3 1230 v3 - MB: Gigabyte GA-H87-D3H - GFX: Nvidia Geforce 250 GTS - Bios: Ozmosis 894m - OS: Mavericks 10.9 Windows 7

  • Nein Du machst da anscheinend keinen Fehler, den Fehler habe ich bis Dato gemacht, die Extraktion von der DSDT war bei mir nicht Korrekt, die DSDT stimmt dann zwar wieder ist aber wirklich größer als die Originale so wird das jedenfalls nichts mit dem Integrieren ins BIOS ;(


    Damit hatte Baerhund in seinem Posting recht....müssen wir also was finden was wir rausnehmen können :whistling:

  • Okay, dann nehme ich mir mal die DSDT von der HermitCrabs Lab Firmware vor. Die haben da so einiges gemacht und das sollte wir ja kopieren oder anpassen können

    CPU: Intel Xeon E3 1230 v3 - MB: Gigabyte GA-H87-D3H - GFX: Nvidia Geforce 250 GTS - Bios: Ozmosis 894m - OS: Mavericks 10.9 Windows 7

  • Achtung noch nicht schlussendlich ausprobiert! ich werde diese Wahnrung wegnehmen wenn ich die DSDT ins BIOS wieder Integriert habe und es so läuft wie ich mir das vorstelle


    So nach dem wir nun einige Veränderungen vorgenommen haben ist unsere DSDT ja leider größer geworden als das Original und passt somit nun nicht mehr ins BIOS-ROM, also musste ich etwas finden was wir ohne Probleme zu bekommen rausnehmen können, der Tip von baerhund in Posting 11 half mir leider nicht weiter, da das rauskommentieren von "Device (BAT0)" schon so viele Fehler brachte das zumindest ich mit meinem Latein am Ende war ;)


    Ich verfolge nun einen anderen Ansatz, auf den mich svenmac mit dem Hinweis auf die DSDT von der HermitCrabs Lab Firmware brachte. :danke:


    hier mal das Original von der "DSDT von der HermitCrabs Lab"



    Bei meiner DSDT sieht das dann so aus


    Sind also noch ein Paar Betriebsysteme mehr erfasst, für mich relevant ist allerdings nur OS X und Windows 7/8.x oder höher also habe ich einfach mal nach "OSYS" gesucht und zu verstehen versucht wo und wie die Variable eingesetzt wird.


    Da kann man mit Sicherheit einiges umschreiben, bzw. weglassen.

  • Nicht nur der Part ist intressant, Ich habe testhalber mal Darwin bei mir eimgetragen und es läuft einwandfrei, warum Linux drin ist weiss ich nicht weil sich Linux als Windows 2006 ausgeben soll...


    Der OSYS Part kann eigentlich komplett weg. Du schreibst einfach das Flag von Windows 7 rein und gut ist, Da werden alle Powermanagement Funktionen und ACPI-Tabellen frei geschaltet. Laut diversen Foren! Die abhängigkeiten sind allerdings auch ein guter ansatz... wenn man sie auflöst gibt es dahinter einiges zu löschen. Linux, Windows 2001 - Windows 2006, kann Theoretisch weg.


    Schau Dir mal den HDEF Part an....
    Der ist auch etwas anders aufgebaut als die DSDT-Patches und als der Orginal Gigabyte-Part. Jetzt ist die Fragen was QUO für einen kext als Audio-Treiber mit gibt. Ist das der Normale "Multibeast.kext" oder ein Spezieller? Auf dem QUO-Board ist glaube ich ein ALC889 drauf. Jemand mit einer gepatchten DSDT und einem ALC889 Codec sollte den mal probieren ob das läuft.

    CPU: Intel Xeon E3 1230 v3 - MB: Gigabyte GA-H87-D3H - GFX: Nvidia Geforce 250 GTS - Bios: Ozmosis 894m - OS: Mavericks 10.9 Windows 7

    2 Mal editiert, zuletzt von svenmac ()

  • QUO nutzt Realtek ALC892

    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)