vSphere/ESXi + AMD Ryzen/Threadripper + MacOS Mojave ??

  • Mich würde mal interessieren, ob jemand etwas über eine Mojave ESXi/vSphere Virtual Machine auf AMD Ryzen oder Threadripper CPUs gelesen bzw. eigene Erfahrung gessammelt hat.


    Unter einer Intel vSphere Maschine (E5 1620v3) läuft das relativ entspannt ab (auf dem Rechner läuft auch Mojave mit Clover). Unter VMware Fusion auf einem echten Mac eine VirtualMachine mit Mojave erstellen. Das Image dann auf die vSphere Maschine hochladen. Der vSphere 6.7 Hypervisor wurde gepacht, um die Ausführung von macOS zu ermöglichen. Über GBit-Ethernet lässt sich die VM in VMware Fusion ähnlich wie eine lokale VM benutzen.


    Wie sieht denn die Situation aus, wenn man einen AMD Ryzen oder Threadripper Rechner hat?


    Grüsse Florian

  • Ich habe das Ganze mal auf meinem Ryzen gemacht, als Virtualisierungsplattform kam dabei allerdings KVM / QEMU (in meinem Fall auf einem Proxmox-System, das sollte aber auf jedem Linux gehen). Im Prinzip gestaltet sich das dann wie ein ganz normaler Hackintosh, halt innerhalb der VM. Wichtig ist, dass die CPU für die VM auf einen Penryn Core 2 eingestellt werden muss. Für diesen CPU-Typ gibt es einige Fixes in Clover, sodass es in einer VM funktioniert. Neuere CPU-Typen gehen daher nicht. Für Mojave müssen dann zusätzlich noch SSE4.2 separat durchgereicht werden, was bei einem Penryn per default nicht der Fall ist. Das schöne ist: Man braucht KEINEN gepatchten Kernel, der Standartkernel läuft. Daher darf die CPU nicht einfach durchgereicht werden, in diesem Fall ist wahrscheinlich der Ryzen-Kernel nötig (nicht getestet). Der Performanceverlust ist sehr gering, da nur die nicht vorhandenen CPU-Befehle emuliert werden müssen. Auch eine durchgereichte Grafikkarte macht ihren Job sehr gut.

    Ich sollte noch dazu sagen, dass zum Zeitpunkt meiner Tests High Sierra aktuell war (die Info zu SSE4.2 stammt aus dem Web).

    Wie das Ganze mit VMWare aussieht, dazu kann ich leider nichts sagen. Wenn ich mich richtig erinnere, dann seien die Anpassungen in Clover direkt auf QEMU zugeschnitten - andererseits, wenn es auf einem Intel schon läuft, dann wäre ja nur noch die CPU-Emulation eine eventuelle Hürde. Und das ist auf jeden Fall möglich.

    Ach ja, je nach SMBIOS ist macOS sehr wählerisch mit Kern-Konfigurationen. Mit 5 Kernen lies sich meine VM z.B. nicht zum Starten überreden - 4 und 6 waren kein Problem.

    iHack: Ryzen 5 1600, GA-AB350M-D3H, Sapphire RX570 4GB, 32GB DDR4-3200, 250GB NVMe SSD + 512GB SSD + 1TB HDD, OC, macOS 12.0.1, Manjaro Linux


    alter iHack: i3-4330, GA-H81M-HD3, Sapphire RX460 4GB -> RX560 BIOS, 8GB DDR3-1600, 128GB SSD, 250GB HDD, OC, macOS 12.0.1, Manjaro Linux


    ThinkPad T410: i5-520M, Nvidia NVS3100M, 4GB DDR3-1066, 120GB SSD, 250GB HDD, Clover, macOS 10.14.6


    Bastlerware: Acer Aspire 7741G: i5-430M, ATI HD 5650 1GB; 4GB DDR3-1066; 250GB HDD, Clover, macOS 10.13.6, 1.5 von 2 SATA-Ports defekt...


    Originals: MacBook Pro 15 Late 2013 (macOS 12.0.1), iPhone X 64GB (iOS 15.1)

  • Das ließt sich alles sehr kompliziert, auch wenn ich es nur überflogen habe ...


    Ich habe neulich KVM mit Linux und GPU passthrough aufgesetzt, aber das hat seine Zeit gedauert, da mit verschiedenen Anleitungen zum Ergebnis ....


    Unter vSphere 6.7 (was ja kostenlos lizenziert werden kann) mit Patch für macOS execution support (aus dem VMware Workstation patch ... ist das wirklich kein Problem. Wenn man die VM auf dem (originalen) Mac erstellt und dann auf vSphere hochlädt, kann das jeder ...


    Unter der Intel CPU (in meinem Fall) muss eben nicht irgend Verrenkungen mit Clover, CPU, SSE4.2 patches usw. machen ...


    Wäre halt von Interesse, wie eine AMD CPU und vSphere das auf die Reihe bekommen ...

  • Wie gesagt, ich habe vSphere nie verwendet, denn wenn möglich und sinnvoll, dann bevorzuge ich Open Source. Aber ja, es gibt viele verschiedene Anleitungen, und nicht alle führen auf allen Plattformen zum Ziel.


    Zur CPU: Es kommt darauf an, wie vSphere die CPU durchreicht. Wird sie 1 zu 1 durchgereicht, dann muss der macOS-Kernel gepatcht werden - ob da noch ein Hypervisor dazwischen liegt oder nicht ändert nichts an der Tatsache, das macOS mit einer Hand voll Befehlen von AMD-CPUs nicht umgehen kann.


    Wenn vSphere eine andere CPU emulieren kann (und davon gehe ich mal stark aus), dann sollte es möglich sein, den nativen macOS-Kernel zu booten.


    Die restlichen Anpassungen, die nötig sind damit macOS überhaupt startet sollten CPU-Unabhängig sein.


    https://passthroughpo.st/hacki…sing-qemus-i440fx-chipset

    Das hier habe ich gerade heute gelesen - zwar wieder KVM, aber da hat es jemand hinbekommen, den nativen macOS-Kernel mit der CPU-Einstellung "host" zu starten. Wie gut das klappt, und ob nicht doch irgendwo eine Intel-Emulation steckt - so weit bin ich noch nicht. Ich werde es aber bei Zeiten (kann dauern...) ausprobieren.

    iHack: Ryzen 5 1600, GA-AB350M-D3H, Sapphire RX570 4GB, 32GB DDR4-3200, 250GB NVMe SSD + 512GB SSD + 1TB HDD, OC, macOS 12.0.1, Manjaro Linux


    alter iHack: i3-4330, GA-H81M-HD3, Sapphire RX460 4GB -> RX560 BIOS, 8GB DDR3-1600, 128GB SSD, 250GB HDD, OC, macOS 12.0.1, Manjaro Linux


    ThinkPad T410: i5-520M, Nvidia NVS3100M, 4GB DDR3-1066, 120GB SSD, 250GB HDD, Clover, macOS 10.14.6


    Bastlerware: Acer Aspire 7741G: i5-430M, ATI HD 5650 1GB; 4GB DDR3-1066; 250GB HDD, Clover, macOS 10.13.6, 1.5 von 2 SATA-Ports defekt...


    Originals: MacBook Pro 15 Late 2013 (macOS 12.0.1), iPhone X 64GB (iOS 15.1)

  • VMware, Ryzen und MacOS in Windows oder ein anderes OS ist glaube ich, nichts.


    Ich hab heute morgen mal probiert El Capitan in VMWare Player laufen zu lassen (invalid opcode fehler ohne Ende, trotz AMD-Kernel).

    In Virtualbox geht es, mit Enoch und AMD-Kernel.

    VMWare hat schon mit dem Bootloader ein Problem. Da fängt es schon an.

    Intel - diverse geniale Hardware bis einschließlich Skylake, damals...

    AMD X6 1035T Silentmaxx TwinBlock - ASRock N68-S -8GB RAM - XFX HD 6450 Passiv - Etasis EFN-300

    AMD 7 3700X - Noctua NH-P1 - B550 Aorus Pro V2 - RX460 Passiv - Silentmaxx Fanless II 500 Platinum

    - - - - - - - - HOWTO: RYZENTOSH - - - - - - - -

  • Ohne CPU-Emulation wird das natürlich nichts. Mit Emulation ist es dann aber tatsächlich möglich Vanilla macOS auf Ryzen laufen zu lassen. Dabei wird auch nicht die ganze CPU emuliert, sondern nur die Eigenheiten „umgebogen“. An viel scheitert es da nicht, die Diff-Files vom Ryzen-Kernel sind ja nur einige 100 Zeilen lang.

    Performance ist also fast nativ. Ob VBox das kann weiß ich allerdings nicht.

    iHack: Ryzen 5 1600, GA-AB350M-D3H, Sapphire RX570 4GB, 32GB DDR4-3200, 250GB NVMe SSD + 512GB SSD + 1TB HDD, OC, macOS 12.0.1, Manjaro Linux


    alter iHack: i3-4330, GA-H81M-HD3, Sapphire RX460 4GB -> RX560 BIOS, 8GB DDR3-1600, 128GB SSD, 250GB HDD, OC, macOS 12.0.1, Manjaro Linux


    ThinkPad T410: i5-520M, Nvidia NVS3100M, 4GB DDR3-1066, 120GB SSD, 250GB HDD, Clover, macOS 10.14.6


    Bastlerware: Acer Aspire 7741G: i5-430M, ATI HD 5650 1GB; 4GB DDR3-1066; 250GB HDD, Clover, macOS 10.13.6, 1.5 von 2 SATA-Ports defekt...


    Originals: MacBook Pro 15 Late 2013 (macOS 12.0.1), iPhone X 64GB (iOS 15.1)

  • Okay,

    mit CPU-Emulation sieht das anders aus.

    Intel - diverse geniale Hardware bis einschließlich Skylake, damals...

    AMD X6 1035T Silentmaxx TwinBlock - ASRock N68-S -8GB RAM - XFX HD 6450 Passiv - Etasis EFN-300

    AMD 7 3700X - Noctua NH-P1 - B550 Aorus Pro V2 - RX460 Passiv - Silentmaxx Fanless II 500 Platinum

    - - - - - - - - HOWTO: RYZENTOSH - - - - - - - -

  • Ich bin mir (nicht so ganz) sicher, was vSphere auf AMD macht. VMware Fusion macht auf dem Mac (auch) Emulation der CPU. Da lief auf einem 2006 MacMini mit ausgetauschter Core2Duo CPU und neuem 64Bit EFI macOS Sierra, bzw. Mojave auf dem Macbook von 2010 in der VM. Original lief nur 10.6/10.7 oder so, mit Hacks 10.9.5 (MacMin) bzw. High Sierra ...