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
Remark 5111 - Use of compiler reserved name
Remark 5072 - Effective AML package length is zero
Ist ja eigentlich das selbe nur stört sich der Compiler nicht mehr daran.
Warning 1088 - Not all control paths return a value
- Method (RDGI, 1, NotSerialized)
- {
- If (LLessEqual (Arg0, 0x5E))
- {
- Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)
- ), Local0)
- OperationRegion (LGPI, SystemIO, Local0, 0x04)
- Field (LGPI, AnyAcc, NoLock, Preserve)
- {
- , 30,
- TEMP, 1
- }
- Return (TEMP)
- }
- }
- ändern in
- Method (RDGI, 1, NotSerialized)
- {
- If (LLessEqual (Arg0, 0x5E))
- {
- Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)
- ), Local0)
- OperationRegion (LGPI, SystemIO, Local0, 0x04)
- Field (LGPI, AnyAcc, NoLock, Preserve)
- {
- , 30,
- TEMP, 1
- }
- Return (TEMP)
- }
- Return (Zero)
- }
Warning 1099 - Unknown reserved name (_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