Разработчик из Германии Александр Граф (Alexander Graf) смог запустить с помощью виртуальной машины QEMU ОС Windows ARM64 Insider Preview на Mac с чипом M1. Для этого он использовал кастомные патчи к QEMU и Hypervisor.framework. Согласно информации Apple, этот фреймворк позволяет взаимодействовать с технологиями виртуализации в пользовательском пространстве без необходимости писать расширения ядра (KEXT).
Граф рассказал, что это не эмуляция x86, а полноценная нативная виртуализация, при которой достигается достаточно хорошая производительность путем выполнения гостевого кода непосредственно на хост-процессоре. Он подтвердил, что практически любой разработчик может повторить его успешную попытку, но это стоит делать лишь в качестве пробного тестирования, причем нужно запастись терпением. По словам Графа, пока что запущенная Windows система на M1 не всегда стабильна, а часть функций в ней недоступны.
Вдобавок Граф пояснил, что «Windows ARM64 может очень хорошо запускать приложения x86. Не так быстро, как это делает Rosetta 2, но очень близко к ней».
Граф продолжает усовершенствование набора патчей к QEMU. Он хочет запускать в качестве гостевой системы Linux и Windows на чипе Apple Silicon. Сейчас у него виртуализация выполняется с такими ограничениями:
- нет эмуляции WFI, vCPU всегда использует 100%;
- обработка vtimer «немного костыльная»;
- большинство системных регистров сейчас обрабатываются вслепую, просто возвращая 0;
- XHCI ломается в OVMF, работает в Linux + Windows.
28 ноября в базе синтетического теста производительности Geekbench 5 появились результаты тестирования Mac с чипом Apple M1, на котором была запущена с помощью виртуальной машины QEMU ОС Windows 10 на ARM. Тестирование показало, что в такой конфигурации система на ARM работает быстрее, чем устройство Microsoft Surface Pro X с нативной Windows 10 на ARM. Так, в одноядерном тесте чип M1 с Windows 10 ARM и 4 ГБ ОЗУ получил 1390 баллов, а в многоядерном — 4769. Для сравнения, Surface Pro X на базе процессора Microsoft SQ2 с 16 ГБ ОЗУ получил всего 802 балла в одноядерном тесте и 3104 балла в многоядерном.
20 ноября вице-президент Apple Крейг Федериги (Craig Federighi) рассказал, что технически на новых Mac с M1 можно запустить Windows для ARM, которая, в свою очередь, поддерживает x86-приложения. Apple реализовала в M1 все базовые технологии для этого. Теперь очередь за Microsoft, которая должна принять решение о предоставлении лицензии Apple и пользователям на технологию запуска Windows на новых Mac.
В середине ноября стало известно, что 32-битные приложения Windows работают на Apple M1 через эмуляцию в CrossOver, запущенном в эмуляции x86. Пока что это можно сделать в CrossOver версии 20.0.2 и только на macOS Big Sur 11.1 beta.
Примечательно, что недавно Линус Торвальдс заявил, что хотел бы приобрести новый Mac с чипом Apple Silicon M1, но он не будет работать с Linux. Он пояснил, что «Apple может запускать Linux в своем облаке, но их ноутбуки — нет».
Shyrka
А производительность какая получается? Схожая с каким-нибудь современным i5?