Moinsen! Bin erst vor kurzer Zeit auf das Thema »Hackintosh« gestoßen und habe nun einen installiert, mit ML 10.8.4, den beiden Tony-Biestern, auf GA-B75M-D3P und i3 3225 mit HD4000. Funzt im großen und ganzen sehr schön!
Ich würde aber gerne genauer verstehen, wie die im Betreff genannten Teile [Korrektur: die verschiedenen Teile wie BIOS/ACPI/DSDT, EFI-Schnittstelle, Bootloader, Kernel und Kexte sowie deren Modifikationen] zusammenspielen, um die apfelfremde Hardware anzubinden. In den meisten Foren geht es ja um schrittweise Anleitungen, à la: mach dies das und jenes, dann sollte es funzen. Aber wenn man prinzipiell ein paar Kenntnisse von Rechnern und vom Programmieren hat und es genauer verstehen möchte? Oder ist das hier off-topic? (Und wo könnte man dann danach fragen?)
Mal eine erste beliebige Frage, oder Bitte um Erläuterung, irgendwo muß man ja anfangen, zu AppleHDA und einer älteren Seite in eurem Wiki.
http://hackintosh-forum.de/wiki/index.php/AppleHDA
Ich schreib mal, wie ich es verstanden habe.
Da geht es um Realtek Audio Codecs. Davon gibt es viele verschiedene. Auf den meisten PC Platinen findet man einen. Und auch auf den Macs. Aber Apple verbaut nur bestimmte und nicht die ganze Realtek Palette. Der Mac Realtek Treiber prüft nun, ob der erwartete Chip da ist, nämlich ALC885 oder AD1988B. Und dann wird der Chip entsprechend angesteuert. Dazu wird wahrscheinlich der Treiber konfiguriert.
Hab noch nie einen Treiber von innen angeschaut, aber ich schätze, die Hardware wird nicht jedesmal komplett neu erfunden, sondern als Modifikation oder Verbesserung eines Vorgängermodells, und so muß auch der Treiber nicht neu geschrieben, sondern nur angepaßt werden und andere Parameter zur Konfiguration erhalten. Wissen tu ich das aber nicht.
Also, wenn das so stimmt, dann muß für einen von Apple nicht verbauten Realtek Codec vielleicht nur der Code angepaßt werden, welcher den Treiber konfiguriert, weil der Treiber selber den Codec durchaus unterstützen würde, wenn man es ihm sagt. Und da reicht es vielleicht, die Binärdatei zu patchen (hier im Beispiel mit dem perl-Interpreter), so daß anstelle der Gerätenummer für den von Apple verbauten Chip die des im jeweiligen PC vorhandenen Chips gesetzt wird.
Was anderes als die Binärdatei hat man auch gar nicht, weil der Quelltext von AppleHDA soweit ich weiß nicht offen liegt. Also muß man sich wohl durch Dekompilieren oder so ähnlich ein Verständnis zusammentüfteln?
Und dann braucht man noch die Parameter für den Treiber. Die sind wohl in den XML-Dateien. Viele Parameter.
Zusammenfassend also: Der Treiber im Mac OS X taugt für viele Realtek Codecs, man muß ihn nur richtig einstellen. Dafür patcht man den Code, der diese Einstellung vornimmt. Man sagt ihm, daß er Chip XYZ anstelle des von Apple verbauten ALC885 akzeptieren soll, und man gibt ihm die Parameter für Chip XYZ. Und dann funzt es.
Ist das so richtig? Oder wie funktioniert es? Danke fürs Lesen, wers bis hier geschafft hat.