Hackintosh ещё жив. Stela запустила macOS 27 для Apple Silicon на обычном ПК
Тайлер Смит выложил снимок рабочего стола macOS 27.2 на Ryzen 7 9800X3D и GeForce RTX 5080. Это сборка macOS для Apple Silicon, и Смит запустил её без изменений. Для системы его ПК выглядит как Mac mini с M2. За это отвечает Stela, которую компьютер запускает через UEFI.

macOS 27.2 на Ryzen 7 9800X3D и RTX 5080. На рабочем столе открыты Finder и «Мониторинг системы». Снимок Тайлера Смита, Stela 0.1.0.
Как это делали с Clover и OpenCore
Для классического Hackintosh брали macOS для Intel Mac и собирали папку EFI под своё железо. В Clover или OpenCore задавали модель Mac через SMBIOS, при необходимости правили таблицы ACPI и добавляли kext-файлы - расширения ядра, в том числе драйверы. После этого код macOS исполнялся на процессоре ПК напрямую. На Ryzen могли понадобиться патчи ядра, но сама система всё равно оставалась x86-64.
Со Stela тоже всё начинается с EFI, только дальше у загрузчика другая задача. Система ждёт процессор и устройства Apple, поэтому Stela прикидывается железом Mac mini и переводит ARM64-инструкции в x86-64. Уже переведённый код сохраняется в кэше, чтобы не делать ту же работу при каждом обращении. Для графики Смит написал драйвер под GeForce: он переводит шейдеры Metal во внутренний формат Mesa.
На каком железе это работает
В документации указан минимум в 8 ГБ оперативной памяти и 60 ГБ места под macOS. Из накопителей подходят NVMe и SATA в режиме AHCI. Для графики в списке GeForce GTX 16 и RTX серий 20, 30, 40 и 50. По сети пока рассчитывать можно на проводное подключение через совместимый контроллер. Звук, Wi-Fi и Bluetooth в списке поддерживаемых устройств отсутствуют.
Есть два варианта установочной флешки. Для установки с загрузкой файлов по сети достаточно 8 ГБ, для офлайн-установщика нужна флешка на 32 ГБ. В версии 0.4.1, которая вышла 14 ноября, исправили сбой при создании флешки через меню и поправили запуск на некоторых системах с контроллерами USB и PCIe, которые раньше останавливали загрузку.
Что происходит после установки
Даже если установщик отработал, до рабочего стола можно не дойти. На Core i5-13600KF с RTX 3060 у пользователя katyfeline установка завершилась, но при следующей загрузке Stela прочитала файлы macOS и остановилась с ошибкой CorruptContext. Смит отдельно отмечает, что и на сборках, где macOS открывает рабочий стол, система пока работает медленно.

Экран загрузки Stela 0.4.1 после установки macOS. Ошибка CorruptContext на ПК с Core i5-13600KF и RTX 3060. Фото katyfeline из отчёта на GitHub.