2.02 KEXT auswählen und installieren mit Clover

  • Was ist eine Kernel-Extension, wohin installiere ich sie und welche brauche ich?

    Was ist ein Kext?

    Kext ist die Kurzform für KernelExtension und beschreibt eine Erweiterung des Betriebssystemkerns (Kernels). In der Windows Welt würde man wohl am ehesten von Treibern sprechen und genau wie die Treiber unter Windows, stellen die KEXT unter OSX, Treiber für die Funktion von Hard- oder Software zur Verfügung. Physikalisch gesehen ist ein KEXT nichts anderes als ein Verzeichnis mit einer bestimmten Endung im Verzeichnisnamen und so verwundert es auch nicht, dass man sich den Inhalt einer Kext mit einem Rechtsklick darauf und der Auswahl der Option „Paketinhalt anzeigen“ anzeigen lassen und diesen natürlich auch modifizieren kann, falls nötig. Kexte können in verschiedene Verzeichnisse installiert werden. Welches sich am besten eignet hängt von der Art des Kexts ab.


    Es gibt

    /System/Library/Extensions (/S/L/E) für Apple-eigene Kexte
    /Library/Extensions (/L/E) für Third-Party Kexte
    /EFI/CLOVER/kexts/other
    oder /"OSX Version"
    für die Nutzung aus der EFI mit CLOVER

    Generell gilt:

    Es gibt nur wenige Kexte welche nicht aus dem Clover EFI-Ordner heraus funktionieren. Daher ist erstes Ziel für ein sauberes Clover System möglichst alle Kexte im EFI-Ordner unterzubringen.

    > Vorteil: Bei einem Update müssen nur die Kexte im Cloverordner aktualisiert werden. Hilfreich ist dazu das Tool Kext Updater.

    Was nicht in die EFI kann, sollte unter /Library/Extensions liegen.

    Was nicht in die EFI kann und von /Library/Extensions aus nicht funktioniert, muss nach /System/Library/Extensions

    Nutzen:

    Kexte werden bei einem Hackintosh benutzt wie Treiber unter Windows. Mit diesen Kernel Extensions können wir Hardware die nicht auf Anhieb läuft häufig zum Funktionieren bewegen. Es gibt also verschiedene Kexts für verschiedene Hardware und Funktionen einen Hackintoshs.

    In unserem DownloadCenter unter Kexte findet ihr Kernel Extensions für die Bereiche:

    - Generelles

    - Audio

    - Video/Grafik

    - Netzwerk/LAN/Wlan

    - Chipset/Generell


    Gehen wir es durch:


    Audio:

    Bei fast jedem Hackintosh funktioniert anfangs der Sound nicht, da der im Betriebssystem enthaltene Audiotreiber AppleHDA nicht mit den Audio Codecs gängiger Mainboards kompatibel ist. Mainboards haben verschiedene Audio Codecs. Den Audio Codec eures Mainboards könnt ihr auf der Herstellerwebsite in den Boardspezifikationen, den Treiber Downloads, oder einem Linux (Live) System herausfinden. Dieser kann zB ALC1150 oder auch CX20590 heißen. Für die unterschiedlichen Codecs gibt es jetzt auch unterschiedliche Kexte oder Methoden, Audio zum laufen zu bringen, die wichtigsten darunter:

    - AppleALC

    - AppleHDA (gepatcht)

    - VoodooHDA

    AppleALC, AppleHDA Injector:

    AppleALC ist eine Kernel Erweiterung (kext) die es ermöglicht, die Original AppleHDA Treiber mit den entsprechenden Daten eines AudioCodecs zu "bestücken", um ohne große Änderung im Dateisystem die Audio Funktion zu aktivieren.

    Daraus erfolgt der Vorteil, dass dieser Kext auch nach Updates der bestehenden OSX-Version weiter funktioniert, ohne das ihr eingreifen müsst. AppleALC.kext ist auf diese Art also als dynamisch anzusehen, und muss nach einem Update nicht neu eingesetzt/aktiviert werden.

    Um diesen Patch zu benutzen müsst ihr eine layout-id (zB per Bootarg: alcid=layout) für euren verbauten Sound-Chip festlegen.

    Anleitung: AppleALC - Der dynamische AppleHDA Patcher

    Zur offiziellen Wiki geht es hier: https://github.com/acidanthera/AppleALC/wiki


    AppleHDA (gepatcht):

    Hierbei wird einfach der passende AppleHDA Kext für euer Mainboard installiert und somit der Apple-eigene Kext ersetzt. Dazu sucht ihr euch im Dowloadcenter den passende Thread und ladet den Kext für euren Audio Codec runter. Der Kext kann jetzt beispielsweise mittels dem Kext Utility und Drag n Drop in das Verzeichnis System/Library/Extensions installiert werden. Nach einem Neustart sollte Audio dann funktionieren. Leider muss der Kext nach einem OS X Update häufig wieder installiert werden.


    VoodooHDA:

    VoodooHDA ist ein komplexer Sound Kext der sehr große Kompatibilität bietet. Nach einem Neustart ist dieser dann komplett funktionstüchtig. Er verfügt über ein Einstellungsmenü in den Systemeinstellungen und kann dort konfiguriert werden. Zudem gibt es den VoodooHDA Settings Loader, der beispielsweise das Rauschen beim Start verhindern kann, indem er den "InputGain" in den Systemeinstellungen von Anfang an auf null schraubt.


    Video:

    Hier sind beispielsweise die Nvidia Web-Driver sowie der WhateverGreen.kext zu finden. Der WebDriver ist nötig um eine Großzahl der Nvidia Grafikkarten zum laufen zu bringen. Der WhateverGreen Kext fixt einige Probleme mit AMD GPUs und macht bei diesen unter anderem Sleep erst möglich.


    Netzwerk:

    Praktisch jeder Hacky braucht einen Netzwerk Kext für die LAN-Buchse. Um den richtigen zu finden müsst ihr erst den Netzwerkcodec eures Motherboards auf der Herstellerseite herausfinden. Dieser heißt zB. Qualcomm® Atheros® AR8171 oder Intel® GbE LAN chip. Daraus resultiert dann der passende Kext aus dem Downloadcenter welcher einfach nach /EFI/CLOVER/kexts/Other kopiert werden kann.


    Generell/Allgemein:

    Hier finden sich allgemeinere Kexte wie zB Lilu, Shiki oder USBInjectAll.

    Lilu ist ein Kext-, Prozess- und Library-Patcher der die Basis für sehr viele andere Kexte (Lilu-Plugins) darstellt. Die zugehörigen Erweiterungen sind hier aufgeführt und erklärt. Zu den wichtigsten Kexten, die nur mit Lilu in Kombination funktionieren gehören zB AppleALC, Shiki, IntelGraphicsFixup und WhateverGreen.

    VirtualSMC ist eine alternative zu FakeSMC und bringt für bestimmte Geräte verbesserten Feature-Support sowie verbesserte Sicherheit.

    Weitere spezielle Kexte werden hier nicht aufgeführt werden, da sie entweder einem anderen Thema angehören oder zu spezifisch sind.


    Allgemein möchte ich hier auch nochmals auf den Kext Updater verweisen der in der aktuellen Version auch ein Tool bittet um Standard Kexte herunterzuladen.

Teilen