На MacBook Air с M1 запустили игры и приложения, написанные для Windows
Для этого нужно ещё немного потратиться.
Проект CodeWeavers сообщил о том, что смог запустить приложения и игры, написанные специально для Windows x86, на MacBook Air с чипом M1. Ниже я объясню, что это такое, если вдруг вам что-то из этих слов непонятно.
Специалистам удалось запустить приложение для работы с финансами Quicken, Windows-версию Among Us, где можно спокойно использовать мышку или курсор, а также игру Team Fortress 2 с помощью CrossOver. Геймплей последней запечатлён на видео:
Тут нужно добавить две ложки дёгтя. Во-первых, игра проседает во фреймрейте, что отчётливо видно, когда игрок прыгнул в воду. Во-вторых, Team Fortress 2 вышла в 2007 году. Хотя стоит учитывать, что с тех пор игра получила два очень крупных графических патча, так что, по сути, игра новее.
Однако это не мешает команде разработчиков CrossOver восхищаться новыми макбуками и их системой-на-чипе Apple M1. И этому есть несколько причин.
В тесте использовался самый простой MacBook Air за $999 (цена до уплаты налогов). У него 8 ГБ оперативной памяти, SSD на 256 ГБ, а также графический процессор, который является частью M1, где семь, а не восемь ядер. Об этой модели я рассказывал на нашем сайте ранее:
То есть это не самая мощная версия. Вот как запущенную цепочку описывают авторы CrossOver:
32-битный двоичный файл, написанный под Windows Intel, переводится Wine в 64-битный. CrossOver, установленный в macOS Big Sur на ARM-чипе, эмулирует x86-архитектуру. И это всё работает!
Почему-то разработчики CrossOver забыли упомянуть, что в процессе задействована одна важная штука — встроенный в ARM-версию Big Sur переводчик Rosetta 2. Именно с его помощью CrossOver запускается на M1. Однако этот переводчик занимает примерно 20 % исходной мощности M1, CrossOver тоже занимает какую-то часть мощности. Удивительно, что Windows-приложениями вообще можно пользоваться! И при этом работают они хорошо.
Запуск был осуществлён на бета-версии macOS Big Sur 11.1, которая вышла вчера. В ней Apple внесла значительные улучшения в Rosetta 2, повысив эффективность программы.
Разъяснения
Прямой запуск на macOS приложений, написанных для Windows, невозможен. Для этого используется программное обеспечение Wine. Оно позволяет запускать приложения, написанные для 16-, 32- или 64-битной Windows, без установки этой операционной системы на компьютер.
CrossOver является одним из подобных Wine-приложений. Оно запускает Windows-приложения на macOS, когда другие Wine-приложения способны это делать на Linux и других UNIX-подобных операционных системах.
Однако тут возникают сложности: macOS на компьютерах с процессорами Intel и macOS на собственных чипах Apple — это разные версии операционных систем, поскольку они написаны для разных архитектур.
Процессоры Intel используют архитектуру x86, а система-на-чипе Apple M1 — ARM. Поэтому новые MacBook Air, MacBook Pro или Mac mini больше похожи на ваши смартфоны или планшеты, нежели на компьютер в традиционном его понимании.
Разница в том, что каждый из процессоров/систем-на-чипе выполняет разный набор команд. Я сейчас максимально упрощу, но логика примерно такая: у вас есть, например, цифра 7. К ней вам нужно прийти путём сложения неназванных чисел. Предположим, x86-процессор будет рассматривать в качестве основного варианта сложение 6 и 1. А ARM приоритетным назовёт другой вариант. Например, 5 + 2. Или 4 + 1 + 2. Результат будет одинаковым, но способ его достижения отличается.
Для запуска приложений старой macOS на новой macOS, написанной для ARM-компьютеров, требуется специальный переводчик Rosetta 2. Он встроен в ARM-версии MacBook Air, Pro или Mac mini и автоматически транскрибирует x86-код в ARM.
Ни Wine, ни Rosetta 2 не являются эмуляторами, поскольку эмуляторы переводят код в режиме реального времени. И обычно такой перевод требует очень много ресурсов компьютера. Поэтому первый запуск старых приложений осуществляется довольно долго, но позволяет использовать приложение без особых затрат ресурсов.