NVIDIA GeForce Grafikkarten
1. Installation
Im Gegensatz zu AMD/ATI und Intel Grafikkarten, werden Treiber für NVIDIA Grafikkarten sowohl von Apple, als auch von NVIDIA selbst bereitgestellt. Die sogenannten NVIDIA WebDrivers sind für einige NVIDIA Grafik-Chips dringend erforderlich, da Apple diese von Haus aus nicht unterstützt, bzw. in ihren Treiber vorgesehen hat. Bei einigen Karten können sie aber auch die gesamte Performance der Karte positiv beeinflussen (z.B. diverse Kepler-basierende Karten).
Zu beachten ist, dass jede Aktualisierung von OSX eine eigene NVIDIA WebDriver Version benötigt. Somit kann es passieren, dass die Treiber, welche z.B. für 10.11.2 installiert wurden, nach dem Update auf 10.11.3 nicht mehr funktionieren.
Solltet ihr die Treiber für eine spezielle OSX Version suchen, findet ihr diese in unserem Download-Bereich (https://www.hackintosh-forum.de/index.php/Board/63-Video/)
Die NVIDIA WebDriver benötigen nach der Installation das spezielle Boot-Argument „nvda_drv=1“ in der Konfiguration eures Bootloaders.
Chameleon/Chimera/Enoch |
Kernel Flags = nvda_drv=1 |
Clover |
Arguments = nvda_drv=1 |
Ozmosis |
boot-args = nvda_drv=1 |
Die folgenden NVIDIA Injection Einträge sind zur Nutzung der vollen Grafikfunktion erforderlich:
Grafik Chip |
Chameleon/Chimera |
Clover |
Ozmosis |
Kepler (GK) Maxwell (GM) Pascal (GP) |
GraphicsEnabler = No |
InjectNvidia = False |
DisableNvidiaInjection = YES (%01/True) |
Alle Chips vor Kepler z.B. Fermi (GF) |
GraphicsEnabler = Yes |
InjectNvidia = True |
DisableNvidiaInjection = NO (%00/False) |
Hinweis: Einige der low-end GTX 6xx/7xx Karten sind umbenannte Fermi-Karten.
Der NVIDIA Web Driver ist erforderlich für folgende Grafikkarten:
- Alle Pascal Karten (GTX 1050 bis 1080, jeweils inkl. Ti, GTX Titan X)
- Alle Maxwell Karten (GTX 750 inkl. Ti, GTX 9xx, GTX Titan X)
- Die letzten Kepler Karten (GTX 780 Ti, GTX Titan Black)
- Einige Varianten der GT 740
- Einige Fermi Karten, z.B. GTX 560 Ti
- Alle „exotische“ Karten, z.B. einige Quadro Karten
2. Bekannte Probleme
Kernel Panic beim Booten
Solltet ihr eine Grafikkarte eingebaut habe, die nicht von den OSX Treibern unterstützt wird (z.B. Maxwell Karten), erscheint unweigerlich der Kernel Panic beim Crash der OSX Treiber. Um das System trotzdem booten zu können, hilft das Boot-Argument „nv_disable=1“, welches das Laden der OSX Treiber unterbindet. Ihr seid dann zwar erstmal ohne Grafik-Beschleunigung unterwegs, könnt dies aber durch die Installation der NVIDIA Web Driver (siehe oben) beheben.
Keine Grafik-Beschleunigung
Wenn ihr eine Karte habt, die von den OSX Treibern unterstützt wird, sind diese sehr wahrscheinlich durch das Boot-Argument „nv_disable=1“ deaktiviert worden.
„Über diesen Mac“ zeigt 0MB (V)RAM
Dies liegt meistens daran, dass die NV Injection (siehe Tabelle oben) aktiv oder nicht aktiv ist (Je nach Nvidia Chip). Ändert die Injection in Bezug auf die eingebaute Grafikkarte und startet neu, dann sollte die Angabe des (V)RAMs stimmen.
Multi-Monitor Setup funktioniert nicht
Auch dies liegt meistens daran, dass die NV Injection (siehe Tabelle oben) aktiv oder nicht aktiv ist. Ändert das in Bezug auf die eingebaute Grafikkarte und startet neu.Eine weitere Lösung kann die Installation der NVIDIA Web Driver sein. Nicht vergessen das Boot-Argument „nvda_drv=1“ in die Bootloader Konfiguration hinzu zu fügen.
Schwarzer Bildschirm beim Booten
Das kann bei der Nutzung von nicht geeigneten System Definition (MacPro6,1 / iMac15,1 oder iMac17,1) kommen, da diese auf AMD/ATI Grafikkarten abgestimmt sind. Wählt an dieser Stelle eine passende System Definition, z.B. iMac14,2.
HDMI- oder DisplayPort-Anschlüsse funktionieren nicht
Auch dies liegt meistens daran, dass die NV Injection (siehe Tabelle oben) aktiv oder nicht aktiv ist. Ändert das in Bezug auf die eingebaute Grafikkarte und startet neu.
HDMI- oder DisplayPort-Audio funktioniert nicht
Audio über die Grafikausgänge funktioniert nie Out-of-the-Box.
Hierfür empfiehlt sich das Patchen der DSDT um HDMI-/DP-Audio dort zu verankern.
Es gibt aber auch eine Sammlung von SSDTs (für den Ordner „/EFI/CLOVER/ACPI/patched“, bzw. „/EFI/Oz/Acpi/Load“ für Ozmosis) zum manuellen Einbinden der Audio Funktion von Toleda/Rehabman.
Für Clover gibt es zusätzlich ein „cloverHDMI-Beta“ Script, dass die benötigten SSDTs beim Ausführen erkennen und in den Ordner "/EFI/CLOVER/ACPI/patched" kopieren soll.
AMD/ATI Radeon Grafikkarten
1. Installation
AMD/ATI Radeon Treiber sind immer im OSX integriert. Ihr findet die aktuellsten Treiber in der jeweils letzten OSX Version.
Es gibt auch keine offiziellen Download Möglichkeiten.
Verschiedene Quellen bieten gepatchte oder portierte Kexte an, die sind aber mit Vorsicht zu genießen, da sie zu instabilen des Systemen führen können, aber nicht müssen.
Solltet ihr solche Kexte einsetzen wollen oder müssen, stellt sicher, dass die jeweiligen Original-Kexte gesichert werden, falls ihr mal auf diese zurückgreifen müsst.
Um einfach mal zu schauen was mit eurer AMD/ATI-Karte geht, startet einfach mit den folgenden, Bootloader entsprechenden Boot Konfigurationen:
Chameleon/Chimera/Enoch |
GraphicsEnabler=No (AtiConfig und AtiPorts erstmal vernachlässigen) |
Clover |
InjectAti=False (FBName und VideoPorts erstmal vernachlässigen) |
Ozmosis |
DisableAtiInjection = YES (%01/True) (AtiFrameBuffer erstmal vernachlässigen) |
Sollte eure Karte direkt von OSX unterstützt werden, war’s dass -> Fertig
Hinweis: „Über diesen Mac“ zeigt eventuell eine generische Grafikkarten Bezeichnung an (z.B. „HD 7xxx“ anstatt „R9 280X“), dies ist aber nur kosmetischer Natur. Macht euch keine Gedanken, die Karte funktioniert trotzdem.
2. Bekannte Probleme
Keine Grafik-Beschleunigung
Wenn ihr keine Grafik Beschleunigung habt, z.B. träge Animationen oder kein QE/CI (Quartz Extreme/Core Image) Effekte, fehlt meistens die Geräte-ID in den OSX Treibern. Sollte OSX eine Karte der gleichen Chip-Familie unterstützen, könnt ihr versuchen deren Geräte-ID vorzugaukeln.
Das geht zum einen mit Clover in der config.plist.
Dieses Beispiel zeigt die Einstellungen für eine Radeon R9 270 (Geräte-ID 0x68111002).
Zum Vorgaukeln/Spoofen nutzen wir die Radeon R9 270X (Geräte-ID 0x68101002).
Im Clover Configurator sieht das dann so aus:
Unter „Acpi / Fixes“ muss „FixDisplay“ aktiviert sein.
Die Geräte ID kommt nach „Devices / Fake ID / ATI“
Der Framebuffer Name (hier „Futomaki“) kommt nach „Graphics / FB Name“. Zusätzlich wird dort auch „Inject ATI“ aktiviert.
Unter Ozmosis funktioniert das entweder durch die direkte Eingabe im Terminal:
- sudo nvram 1F8E0C02-58A9-4E34-AE22-2B63745FA101:DisableAtiInjection=%00
- sudo nvram 1F8E0C02-58A9-4E34-AE22-2B63745FA101:AtiFramebuffer=Futomaki
- sudo nvram 1F8E0C02-58A9-4E34-AE22-2B63745FA101:AtiFramebuffer10026810=Futomaki
- sudo nvram 1F8E0C02-58A9-4E34-AE22-2B63745FA101:AtiFramebuffer00.01.00=Futomaki
Oder durch die Defaults.plist:
Eine Liste der Framebuffer- und Chip-Namen für AMD/ATI-Karten findet ihr hier --> https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/Platform/ati.c
Nicht lesbarer Text (Wortsalat) beim Booten
Das liegt meist an der Nutzung von Chameleon/Chimera in Verbindung mit den modernen Radeon HD 7xxx / R9 Grafikkarten.
Außer den Bootloader zu wechseln, z.B. zu Clover, kann man hier noch mit viel Aufwand Chameleon/Chimera verbiege, aber das bleibt ja jedem selbst überlassen.
Startvorgang endet im schwarzen Bildschirm
In den meisten Fallen sind nicht alle Grafik-spezifischen Einstellungen in der Bootloader Konfiguration deaktiviert worden und verursachen das Fehlerbild.
Falls ihr euch aber doch sicher seit, dass alle Einstellungen deaktiviert sind, habt ihr ggf. eine Karte der Chip-Familie, die für das Starten in den schwarzen Bildschirm bekannt sind, z.B. „Verde“ oder „Tonga“.
Die allseits berühmt/berüchtigte Hackintosh-Legende „Toleda“ hat in verschiedenen Englisch-Sprachigen Foren einen Patch-Vorgang beschrieben.
Multi-Monitor Setup funktioniert nicht
Wenn ihr mit einer Windows Installation sicherstellen könnt, dass alle angeschlossenen Monitore funktionieren, aber unter OSX das nicht funktioniert, da dort der Framebuffer nicht verfügbar ist, könnt ihr versuchen einen zur Grafikkarte passenden Framebuffer zu finden und per Clover oder Ozmosis zu injecten.
Viele machen es sich einfach und versuchen die AMD/ATI-Karte mit dem ROM einer funktionierenden Karte zu flashen.
Ansonsten besteht noch die Möglichkeit die BIOS-Einstellungen zu ändern, in dem man den „Inital Output“ (Gigabyte = „Init Display First“) auf die interne Grafikeinheit der CPU setzt. Falls die Einstellung aber schon so vorhanden ist, kann man auch versuchen auf PCIE (Gigabyte = PCIe 1 Slot) umzustellen.
HDMI- oder DisplayPort-Audio funktioniert nicht
Audio über die Grafikausgänge funktioniert nie Out-of-the-Box.
Hierfür empfiehlt sich das Patchen der DSDT um HDMI-/DP-Audio dort zu verankern.
Es gibt aber auch eine Sammlung von SSDTs (für den Ordner „/EFI/CLOVER/ACPI/patched“, bzw. „/EFI/Oz/Acpi/Load“ für Ozmosis) zum manuellen Einbinden der Audio Funktion von Toleda/Rehabman.
Für Clover gibt es zusätzlich ein „cloverHDMI-Beta“ Script, dass die benötigten SSDTs beim Ausführen erkennen und in den Ordner "/EFI/CLOVER/ACPI/patched" kopieren soll.
Intel HD Grafikkarten
1. Installation
Intel HD Treiber sind immer im OSX integriert. Ihr findet die aktuellsten Treiber in der jeweils letzten OSX Version.
Es gibt auch keine offiziellen Download Möglichkeiten.
Verschiedene Quellen bieten gepatchte oder portierte Kexte an, die sind aber mit Vorsicht zu genießen, da sie zu instabilen Systemen führen können, aber nicht müssen.
Solltet ihr solche Kexte einsetzen wollen oder müssen, stellt sicher, dass die jeweiligen Original-Kexte gesichert werden, falls ihr mal auf diese zurückgreifen müsst.
Um diese Treiber zu laden, muss über den Bootloader der benötigte „IOReg“-Eintrag der Intel HD Grafikkarte injected werden. Dafür setzt ihr in eurem Bootloader die entsprechenden Boot Konfigurationen:
Chameleon/Chimera/Enoch |
IGPEnabler=Yes |
Clover |
InjectIntel=True |
Ozmosis |
DisableIntelInjection = NO (%00/False) |
2. Bekannte Probleme
Keine Grafik-Beschleunigung
Meistens wurde die in der obigen Tabelle aufgeführte Intel Injection nicht gesetzt.
Einige der Monitoranschlüsse am Mainboard funktionieren nicht
Hier für muss noch der Framebuffer für die Intel HD gesetzt werden
Chameleon/Chimera/Enoch |
IGPlatformID=0D220003 (z.B. HD4600 Desktop) |
Clover |
Ig-platform-id=0x0D220003 (z.B. HD4600 Desktop) |
Ozmosis |
AAPL,ig-platform-id=220332035 (z.B. HD4600 Desktop) |
Hinweis: Ozmosis nutzt hier den Dezimal-Wert der „ig-platform-id“.
Eine Liste der Framebuffer Ziffern in Hexadezimaler Form kann locker ergoogelt oder weiter unten erspäht werden.
HDMI- oder DisplayPort-Audio funktioniert nicht
Audio über die Grafikausgänge funktioniert nie Out-of-the-Box.
Hierfür empfiehlt sich das Patchen der DSDT um HDMI-/DP-Audio dort zu verankern.
Es gibt aber auch eine Sammlung von SSDTs (für den Ordner „/EFI/CLOVER/ACPI/patched“, bzw. „/EFI/Oz/Acpi/Load“ für Ozmosis) zum manuellen Einbinden der Audio Funktion von Toleda/Rehabman.
Für Clover gibt es zusätzlich ein „cloverHDMI-Beta“ Script, dass die benötigten SSDTs beim Ausführen erkennen und in den Ordner "/EFI/CLOVER/ACPI/patched" kopieren soll.
Trotz der Einstellungen werden nur wenige MB VRAM angezeigt
Das kann gerne mal passieren, wenn die IGPU mit einem anderen ip-platform-id angesprochen werden muss.
Hier mal eine Liste mit den Framebuffer für die HD4400/HD4600.
Am Anfang stehen die Angaben für Clover, während die Dezimal-Werte am Ende für Ozmosis verwendet werden.
Chameleon/Clover/Enoch | Eigenschaften | Zuordnung | Ozmosis |
0x04060000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
Mobile GT1 |
67502080 |
0x0c060000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
SDV Mobile GT1 |
201719808 |
0x04160000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
Mobile GT2 |
68550656 |
0x0a160000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Mobile GT2 |
169213952 |
0x0c160000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
SDV Mobile GT2 |
202768384 |
0x04260000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
Mobile GT3 |
69599232 |
0x0a260000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Mobile GT3 |
170262528 |
0x0c260000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
SDV Mobile GT3 |
203816960 |
0x0d260000 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
CRW Mobile GT3 |
220594176 |
0x04160002 |
64MB, Pipes: 1, Ports: 1, FBMem: 1 |
Mobile GT2 |
68550658 |
0x0d220003 |
0MB, Pipes: 0, Ports: 0, FBMem: 0 |
CRW Desktop GT3 |
220332035 |
0x0a260005 |
32MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Mobile GT3 |
170262533 |
0x0a260006 |
32MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Mobile GT3 |
170262534 |
0x0a260006 |
64MB, Pipes: 3, Ports: 4, FBMem: 3 |
CRW Mobile GT3 |
170262534 |
0x0a260008 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Mobile GT3 |
170262535 |
0x0a2e0008 |
64MB, Pipes: 3, Ports: 3, FBMem: 3 |
ULT Reserved GT3 |
170786824 |
EDIT:
Für die aktuellen HD5xx-Serien der Skylake CPUs:
Chameleon/Clover/Enoch | Eigenschaften | Zuordnung | Ozmosis |
0x191e0000 |
Intel® HD Graphics 515 |
ULX GT2 |
421396480 |
0x19160000 |
Intel® HD Graphics 520 |
ULT GT2 |
420872192 |
0x19260000 |
Intel® Iris™ Graphics 550 |
ULT GT3 |
421920768 |
0x191b0000 |
Intel® HD Graphics 530 | Halo GT2 |
421199872 |
0x193b0000 |
Intel® Iris™ Pro Graphics 580 | Halo GT4 |
423297024 |
0x19120000 |
Intel® HD Graphics 530 | Desktop GT2 |
420610048 |
0x19020001 |
Intel® HD Graphics 510 |
Desktop GT1 |
419561473 |
0x19170001 |
Skylake Desktop | GT1.5 |
420937729 |
0x19120001 | Intel® HD Graphics 530 |
Desktop GT2 |
420610049 |
0x19320001 |
Skylake Desktop | GT4 |
422707201 |
0x19160002 |
Intel® HD Graphics 520 |
ULT GT2 |
420872194 |
0x19260002 |
Intel® Iris™ Graphics 540 |
ULT GT3 |
421920770 |
0x191e0003 |
Intel® HD Graphics 515 |
ULX GT2 |
421396483 |
0x19260004 |
Intel® Iris™ Graphics 540 |
ULT GT3 |
421920772 |
0x193b0005 |
Intel® Iris™ Pro Graphics 580 |
Halo GT4 |
423297029 |
0x193b0006 |
Intel® Iris™ Pro Graphics 580 |
Halo GT4 |
423297030 |
Die Skylake GPUs haben einen Darstellungsfehler im linken oberen Bildschirmbereich
Das geistert nun schon seit ein paar Wochen/Monaten durch die Foren und wurde bisher immer mit Hinweis auf Nutzung der dunklen Menübar und Dock erledigt.
Seit einigen Tagen gibt es aber, dank 'pikeralpha', folgende dauerhafte Lösung.
Für Clover:
Für die DSDT (nach dem Umbenennen von GFX0 zu IGPU):
- Device (IGPU)
- {
- Name (_ADR, 0x00020000) // _ADR: Address
- Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
- {
- Store (Package (0x1A)
- {
- "AAPL,slot-name",
- "Built In",
- "name",
- "Intel Display Controller",
- "model",
- Buffer (0x16)
- {
- "Intel HD Graphics 530"
- },
- "device_type",
- Buffer (0x13)
- {
- "Display Controller"
- },
- "AAPL,ig-platform-id",
- Buffer (0x04)
- {
- 0x00, 0x00, 0x12, 0x19
- },
- "AAPL,Gfx324",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "AAPL,GfxYTile",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "AAPL00,PanelPowerUp",
- Buffer (0x04)
- {
- 0x30, 0x00, 0x00, 0x00
- },
- "AAPL00,PanelPowerOn",
- Buffer (0x04)
- {
- 0x19, 0x01, 0x00, 0x00
- },
- "AAPL00,PanelPowerOff",
- Buffer (0x04)
- {
- 0x11, 0x00, 0x00, 0x00
- },
- "AAPL00,PanelPowerDown",
- Buffer (0x04)
- {
- 0x3c, 0x00, 0x00, 0x00
- },
- "AAPL00,PanelCycleDelay",
- Buffer (0x04)
- {
- 0xfa, 0x00, 0x00, 0x00
- },
- "hda-gfx",
- Buffer (0x0A)
- {
- "onboard-1"
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- }
So,
und jetzt bin ich wieder wech...