Moin.
Aufbauend auf die Erfahrungen von
RYZEN 9 3900X | ASROCK X570 ITX | RADEON RX 5500 XT
und
HOWTO: RYZEN – EL CAPITAN - CATALINA
habe ich jetzt eine EFI erstellt, welche ich gern mit euch teilen möchte.
15.10.2020 new EFI attached and Github updated.
___________________________________________________________
09.06.2020 EFI uploaded to Github - Maintenance only there from now on.
18.05.2020: EFI upgedatet mit SMBIOS für MacPro7,1
17.05.2020: EFI.zip ist noch älterer Stand. Passe ich demnächst wieder an.
Achtung: Denkt dran die SMBIOS Einstellungen anzupassen.. Seriennummer etc.
Siehe dazu hier.
Hardware
CPU: AMD Ryzen 9 3900X 3.8 GHz 12-Core
Motherboard: MEG MSI X570 Unify
Video Card: 8GB Sapphire RX 5700 XT Nitro+
Software
OpenCore: 0.6.3 beta
MacOS Big Sur: 11.0 beta (20A5395g)
(Big Sur Developer Beta 10)
Kexte:
AMDRyzenCPUPowerManagement - für alle Energieverwaltungsfunktionen. Dieser Kext ist auch erforderlich, wenn Sie AMD Power Gadget verwenden möchten.
AppleALC - Eine Open-Source-Kernel-Erweiterung, die natives MacOS HD-Audio für nicht offiziell unterstützte Codecs ohne Dateisystemänderungen ermöglicht.
HibernationFixup - Eine Open-Source-Kernel-Erweiterung, die eine Synchronisierung zwischen RTC-Variablen und NVRAM ermöglicht.
Hier können Parameter (NVRAM -> boot-args) gesetzt werden (z.B. -hbfx-disable-patch-pci)
Lilu - Eine Open-Source-Kernel-Erweiterung, die eine Plattform für beliebiges Kext-, Bibliotheks- und Programm-Patching im gesamten System für macOS bietet.
RTL8125Ethernet - Ein macOS-Treiber für Realtek RTL8125 2,5-GBit-Ethernet-Controller (von Mieze). (Aktuell in meiner Repo heisst die Datei LucyRTL8125Ethernet.kext
MacProMemoryNotificationDisabler - Lilu-Plugin zum Deaktivieren des Popups "Mehr als maximale Speichermenge" auf MacPro7,1.
Beim macPro1,1 nicht benötigt.
NVMeFix - NVMeFix ist eine Reihe von Patches für den Apple NVMe-Speichertreiber IONVMeFamily. Ziel ist es, die Kompatibilität mit Nicht-Apple-SSDs zu verbessern.
SMCAMDProcessor - um Messwerte in VirtualSMC zu veröffentlichen, wodurch MacOS-Anwendungen wie iStat Sensordaten anzeigen können. Dieser Kext hängt von AMDRyzenCPUPowerManagement.kext ab, um Sensordaten zu erfassen, und muss daher nachgeladen werden.
USBPorts - Das Schweizer Taschenmesser von Vanilla Hackintoshing. Die Kext sollte selbst angepasst werden. Siehe dazu den Spoiler USB Ports bei Mainboardlayout.
VirtualSMC - Erweiterter Apple SMC Emulator im Kernel.
VoodooTSCSyncAMD - Eine Kernel-Erweiterung, die die TSC bei AMD Prozessoren synchronisiert.
WhateverGreen - Lilu-Plugin mit Patches zur Auswahl von GPUs unter macOS.
Mainboardlayout:
Vorab: Die Umbenennung der Controller habe ich über eine AML von Aluveitie gemacht (das sollte bei allen X570 identisch gehen mit den Controllern):
\_SB.PCI0.BXBR.BYUP.BYD8.XHC0 -> XHCI
\_SB.PCI0.BXBR.BYUP.BYD8.XHC1 -> XHC
\_SB.PCI0.GP13.XHC0 -> XHC2
Dies ist die AML Datei, welche ich verwendet habe:
Vorderseite:
Rückseite:
DIES KANN GERN NOCH EINMAL GEGENGECHECKT WERDEN!!!
XHC PRT1 USB 3.0. = C
XHC PRT2 USB 3.0. = D
XHC PRT5 - internal USB Mystic Light (wird das benötigt?)
XHC PRT6 USB 2.0 Hub = A,B
XHC PRT7 USB 3.0 = C
XHC PRT8 USB 3.0 = D
XHCI PRT1 USB 3.0 (Rear I/O Panel 7)
XHCI PRT2 USB 3.0 (Rear I/O Panel 8)
XHCI PRT4 USB internal (IOHostAdapter (PCIE x1 Broadcom Karte)
XHCI PRT5 USB 2.0 (Rear I/O Panel 1)
XHCI PRT6 USB 2.0 (Rear I/O Panel 2)
XHCI PRT7 USB 3.0 (Rear I/O Panel 7)
XHCI PRT8 USB 3.0 (Rear I/O Panel 8)
XHC2 PRT1 USB 3.0 (Rear I/O Panel 3)
XHC2 PRT2 USB 3.0 (Rear I/O Panel 4)
XHC2 PRT3 USB 3.0 (Rear I/O Panel 6)
XHC2 PRT5 USB 3.0 (Rear I/O Panel 3)
XHC2 PRT6 USB 3.0 (Rear I/O Panel 4)
XHC2 PRT7 USB 3.0 (Rear I/O Panel 6)
Lila = USB 2.0
Rot = USB 3.0
So sieht das im Hackintool aus. Es fehlt aber der Punkt 5 vom Panel. Ich habe leider kein 3.2 Gerät zum anschließen.
Alles was nun grün markiert ist, sind USB Ports, welche belegt sind. Wer nachgezählt hat, sieht, dass 19 Ports grün sind. Das müssen wir noch auf 15 herunterbrechen.
Was macht man nun?
Da Ports, welche USB3 beherrschen, belegen jeweils einen USB2 und einen USB3 Port.
Ich habe nun geschaut, welches Device nur USB2 benötigt. Wenn hier eine zusätzliche Belegung für USB3 reserviert ist, kann diese gelöscht werden.
Außerdem scheint der Port PRT5 vom Type XHC mit einem Gerät für die Farbsteuerung verbunden zu sein. Das brauch ich nicht, also habe ich den Port schon mal gelöscht.
Ergebnis sieht dann BEI MIR wie folgt aus:
Das kann bei euch dann natürlich etwas anders aussehen.
Jetzt kann man seine SSDT-XHC-full.aml einfach entsprechend anpassen, die USBPorts.kext in den "Kexts" Ordner oder die generierten AML Dateien in den ACPI Ordner schieben.
Ich habe die SSDT-XHC-full.aml nebst der USBPorts.kext Datei verwendet. Auch den internen BT Adapter von Intel muss man nicht löschen... Funktioniert ja sogar anscheinend OOB.
Was funktioniert:
Es handelt sich hier um einen Kext von Mieze . Läuft stabil bei mir, allerdings funktioniert Autonegotiation bei mir nicht. Ich habe es manuell auf 1000MBit in den Einstellungen gesetzt.
kext + config.plist:
Ich habe in meinem Computer mehrere Laufwerke. Alle wurden als externe Laufwerke auf dem Desktop angezeigt.
Hierfür musste ich 2 Fixe anwenden:
1. Kernel/Quirks/ExternalDiskIcons True
Damit wurden die zusätzlichen Laufwerke (nicht das Boot Device) als intern deklariert.
Bei diesem Link steht auch der Hinweis, der mit gefehlt hatte.
2. Root\DeviceProperties\Add\...
PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)
built-in 01000000
Damit wird von meinem Boot Device explizit gesagt: "Du bist intern!"
Finale Ansicht:
gelb = Boot Device
lila = weitere interne Volumes
Ggfs. kann nach dieser Anleitung von diesem diesem Link bei der Erstellung der Kext vorgegangen werden. Ich selbst habe die fertige Kext von Aluveitie genommen.
Ioregistryexplorer ohne SSDT-PLUG.aml:
Shutdown
USB Power
Sleep (seit Big Sur)
Was funktioniert nicht:
- Wifi (Intel AX200, vielleicht wird DAS HIER mal was?). Ich habe die Karte aber gegen eine BCM94360NG getauscht.
BIOS
Disabled:
CSM
EHCI/XHCI