Apple m1 эмуляция x86

Как запускать программы для Windows на M1 MacBook Air, MacBook Pro и Mac mini

Процессор M1 от Apple обладает невероятной производительностью и эффективностью. Однако его архитектура радикально отличается от процессоров Intel. Из-за этого на M1 Mac нельзя запускать Windows через Boot Camp. Кроме того, всё ещё не адаптированы такие программы, как Parallels.

Тем не менее, не стоит отчаиваться. Если у вас MacBook Air, MacBook Pro или Mac Mini с процессором M1, вы всё равно можете запускать на нём программы для Windows через CrossOver. Ниже мы расскажем, как это делается.

Что такое CrossOver?

CrossOver – это программа, которая добавляет слой совместимости с Windows на Mac. Она позволяет скачивать, устанавливать и запускать программы для Windows на Mac без полноценной установки Windows. Недавно программу обновили под macOS Big Sur, и она совместима с процессором M1. Ниже можете посмотреть видео о том, как Ведьмак 3 практически идеально работает на M1 Mac.

Не все программы для Windows идеально работают через CrossOver. Советуем вам просмотреть базу данных совместимости CrossOver. В ней совместимость оценена максимум в 5 звёзд.

Программа CrossOver платная, однако первые 14 дней вы можете пользоваться ей бесплатно. Рекомендуем сначала воспользоваться именно пробной версией.

Как запускать программы для Windows на M1 Mac

Устанавливается программа CrossOver достаточно просто. Для начала вам нужно скачать CrossOver. После этого установите программу как любую другую.

Ниже о том, как через CrossOver устанавливать программы для Windows на M1 Mac.

Шаг 1: Запустите программу CrossOver.

Шаг 2: Нажмите кнопку Install a Windows Application.

Шаг 3: Введите название нужно программы, которую хотите установить. Выберите её из результатов поиска. Для примера будем использовать программу MetaTrader 4.

Шаг 4: Вы увидите рейтинг совместимости выбранной программы. Если он три звезды и больше, то программа должна работать без серьёзных проблем. В идеале рейтинг должен составлять 4-5 звёзд. Если вас всё устраивает, нажимайте Continue.

Шаг 5: Выберите источник установки. Обычно программа CrossOver сама выдаёт прямую ссылку на скачивание, и вам ничего делать не нужно. Однако иногда установщик программы нужно скачивать самостоятельно через браузер и выбирать скачанный файл. Для этого нажмите Choose installer file или Choose installer folder, а затем Continue.

Шаг 6: Теперь нужно выбрать «bottle». Что это значит? По сути это симуляция Windows, с помощью которой вы и будете запускать программу. В большинстве случаев программа CrossOver сама выбирает подходящую «bottle». После этого нажмите Continue.

Шаг 7: Установите программу. CrossOver автоматически скачает требуемые файлы или использует файлы из скачанного установщика. После этого начнётся установка. Она также установит все нужные зависимости, которые нужны для работы программы.

Шаг 8: В процессе установки всплывёт несколько окон. Если что-то не получится, программа предложит варианты Retry и Skip. Если ошибка не исчезнет, выбирайте «Skip».

Шаг 9: После установки программы нажмите значок Bottles в левом верхнем углу окна CrossOver. После этого выберите «bottle» программы в боковом меню и дважды нажмите значок программы, чтобы её запустить.

Читайте также:  Как активировать айфон без компьютер

Если CrossOver удачно установила программу, то вы сможете использовать её без всяких проблем.

С помощью CrossOver очень легко запускать программы с Windows на M1 Mac. Не все будут работать хорошо (некоторые не запустятся вообще), но пока что это ваш единственный вариант.

Источник

32-битные приложения Windows заработали на Apple M1 через эмуляцию в CrossOver, запущенном в эмуляции x86

Создатели CrossOver из компании CodeWeavers рассказали в своем блоге, что в новой версии приложения можно запускать 32-битные приложения Windows на компьютерах Apple с чипами M1. Разработчики также продемонстрировали игровой процесс на MacBook Air в Team Fortress 2 и вдобавок пояснили, что проверили работу эмулятора на Quicken (ПО для для личных финансов), десктопной версии Among Us и Witcher 3. Оказалось, что во все эти игры можно играть почти без лагов с приемлемой частотой обновления.

Новые MacBook Air, MacBook Pro и Mac mini с новым чипом Apple Silicon М1 с ARM-архитектурой уже поступили в продажу, но им пока не хватает нативного софта и сред разработки. Например, все Mac с процессором M1 не поддерживают Boot Camp, из-за чего пользователи не могут запускать на них приложения для Windows. Теперь появилось первое решение этой проблемы.

CrossOver — это коммерческий продукт с бесплатным пробным периодом. Он основан на проекте Wine с открытым исходным кодом. CrossOver эмулирует среду Windows 10 на Mac. Разработчики уточнили в своем блоге, что версия 20 этого ПО работает на компьютерах Apple с чипами M1 через встроенный транслятор Rosetta 2, который аппаратно эмулирует двоичные файлы x86 на ARM.

Разработчики пояснили, что они смогли на самом дешевом устройстве Apple Silicon запустить 32-битный двоичный файл, разработанный под ОС Windows.

Итоговая схема работы системы преобразования получилась длинная:

  • исходное 32-битное приложение написано для операционной системы Windows и архитектуры x86;
  • приложение запускается через мост 32-на-64 в Wine/CrossOver в среде macOS;
  • сам же x86-пакет CrossOver запущен на процессоре ARM, который эмулирует нужную архитектуру с помощью Rosetta 2.

Оказалось, что вся эта связка успешно работает, а потеря производительности в процессе эмуляции и трансляции приемлема для нормальной игры.

В настоящее время CrossOver 20.0.2 работает только на macOS Big Sur 11.1 beta. В этой версии ОС Apple внесла критические исправления в работу алгоритма Rosetta 2.

Пример игры в Team Fortress 2 на MacBook Air (M1) с помощью CrossOver.

Источник

Сборка Docker-образов для MacBook M1 под Linux

Мы собираем зависимости для нашего тестового окружения в Docker-образ, что оказалось очень удобно. Но недавно у нас появился разработчик с MacBook M1, и резко встал вопрос о возможности поддержки двух платформ.

Особенности поведения Docker на MacBook M1

Для начала пара слов о том, как повёл себя MacBook M1. В самом M1 предусмотрена неплохая поддержка программ, собранных для процессоров Intel (Rosetta 2). То есть большинство программ, которые собраны для процессоров Intel, запускаются на нём без проблем.

В Docker подобное поведение тоже реализовано, но несколько другим образом: Docker использует виртуальную машину для запуска образов (как минимум потому, что им нужно ядро Linux). Но в этой виртуальной машине есть поддержка исполнения бинарных файлов для архитектуры x86_64 .

В случае с MacBook M1 родной архитектурой для него будет являться aarch64 :

Сборка образа для другой архитектуры

Docker-образы мы собираем под Linux.

К счастью, под Linux можно собрать Docker-образ для другой архитектуры без особых проблем.

Для примера возьмём простой Dockerfile:

Чтобы его собрать для M1 проще всего воспользоваться BuildKit.

Для этого нужно выполнить команду вида:

Но скорее всего результат будет другим:

Для того чтобы собрать образы под другую платформу, нужно поставить эмулятор для этой платформы.

Установка эмулятора (быстрый метод)

Для установки эмулятора можно воспользоваться проектом:

Этот Docker-образ скопирует в систему qemu-user-static и зарегистрирует его для исполнения бинарных файлов соответствующей платформы.

Читайте также:  Как использовать компьютер как модем для iphone

После этого, кстати, можно будет запускать статически слинкованные исполняемые файлы от другой платформы (подобные файлы по умолчанию создаёт компилятор Go).

К сожалению, эффект от этой команды будет действовать до первой перезагрузки.

Установка эмулятора (ручной метод)

Если мы по каким-то причинам не хотим воспользоваться первым методом, то можно сделать всё это вручную.

Установка qemu-user-static

Нужно установить qemu-user-static для вашего дистрибутива, например:

Если в вашем дистрибутиве используется qemu-user-static очень старой версии, то можно скачать пакет от дистрибутива более свежей версии. У qemu-user-static нет внешних зависимостей и, к примеру, пакет от Ubuntu 21.04 (qemu version 5.2) хорошо встаёт на Ubuntu 18.04 (qemu version 2.11).

Зарегистрировать qemu-user-static в binfmt

Теоретически установки qemu-user-static должно быть достаточно. Но на некоторых дистрибутивах она не прописывается в binfmt.

Проверить работоспособность можно командой:

Я исправлял эту ситуацию по инструкции:

Сборка образов по отдельности

После того как мы научились собирать образ для другой платформы, надо научиться собирать образ для двух платформ одновременно.

Это можно сделать несколькими способами.

Для начала рассмотрим сборку образа для нескольких платформ вручную.

Проверить, что образ собрался успешно, можно командой вида:

Сборка при помощи docker buildx

С недавнего времени в Docker появилась возможность собрать образ под несколько платформ одной командой:

Что здесь происходит:

docker buildx create создаёт в DOCKER_CONFIG (по умолчанию

/.docker ) описание сборщика. Флаг —use помечает этот сборщик используемым по умолчанию (без этого его имя надо было бы протаскивать в последующие команды). Кроме конфигурационных файлов текущего пользователя эта команда не меняет и не использует ничего.

buildx inspect —bootstrap выводит информацию о сборщике. Если он не запущен, то запускает его. Сам сборщик представляет собой Docker-контейнер.

docker buildx build собственно собирает образ.

Особенности поведения на CI

При сборке на CI возникают следующие проблемы:

docker buildx create при создании контейнера по умолчанию прописывает в конфигурацию образ с DockerHub;

docker buildx inspect —bootstrap создаёт контейнер со сборщиком и подвержен гонкам;

единожды созданный сборщик используется между несколькими сборками.

Для решения этих проблем мы перенесли запуск сборщика на этап старта сборочного агента.

Таким образом при запуске агента мы выполняем команды вида:

Это запускает сборщик образов на старте агента с нужными нам параметрами.

При старте задачи на сборку мы выполняем команды вида ( DOCKER_CONFIG переопределяется на каждую сборку):

Кэширование сборки образов

В качестве бонуса при использовании BuildKit мы получаем возможность использовать внешний кэш для Docker-образов:

Особенность такого кэширования: в отличие от кэша на базе предыдущего Docker-образа, хорошо работает с Dockerfile, в которых используется несколько FROM директив.

Источник

На макбуках с чипом М1, который всем нравится, навсегда перестанет запускаться ПО для Intel

Apple собирается удалить эмулятор Rosetta 2, позволяющий запускать программы для компьютеров на процессорах Intel на новых ПК с ARM-чипом М1. В некоторых регионах он может исчезнуть уже из macOS 11.3, релиз которой состоится в ближайшее время, и в «черный список» может попасть и Россия. Apple выпустила Rosetta 2 менее полугода назад, хотя первое поколение эмулятора для запуска PowerPC-программ на процессорах Intel, проработало несколько лет.

Apple бежит от Intel

Компания Apple собирается полностью отключить поддержку программ для архитектуры х86 в своих новых ноутбуках и ПК на базе ARM-процессора M1. Это означает, что приложения, разработчики которых не выпустили апдейт с поддержкой в них этого чипа, перестанут запускаться на новых компьютерах Apple, и никаких способов заставить их заработать не будет.

По данным портала MacRumors, Apple сделает это путем удаления из macOS эмулятора Rosetta 2, необходимого для запуска х86-программ на MacBook и Mac с ее новым процессором. Упоминание было найдено непосредственно в коде системы. Разработчик Стив Мозер (Steve Moser) обнаружил в нем строчки «Rosetta будет удалена после установки этого обновления» (Rosetta will be removed upon installing this update) и «Rosetta больше недоступна в данном регионе. Приложения, которые требуют Rosetta, отныне не запустятся» (Rosetta is no longer available in your region. Applications requiring Rosetta will no longer run).

Читайте также:  Айфон дни рождения уведомления

Ждать осталось недолго

Указанные строчки Стив Мозер нашел в коде macOS 11.3 beta 3 – Apple начала ее распространение среди разработчиков в первых числах марта 2021 г. В предыдущих бетах упоминаний о скором прекращении работы Rosetta не было.

Это означает, что установка даже данной бета-версии macOS может повлечь невозможность запуска программ, создававшихся для компьютеров Apple на базе Intel. Другими словами, в стабильной сборке macOS 11.3, дата релиза которой пока не определена, с неработающим эмулятором могут столкнуться не только разработчики, но и обычные пользователи.

Объяснений нет

На момент публикации материала Apple не комментировала находку Стива Мозера. Причины, по которым она решила отключить Rosetta, остаются неизвестными, как и то, кто именно останется без этого эмулятора.

В коде macOS Стив Мозер не нашел перечня регионов мира, жители которых лишатся возможности запускать свои старые программы на новом «железе» после установки свежей macOS 11.3. В их числе запросто могут оказаться и россияне.

Откуда у Apple эмулятор Intel

Apple выпускала свои ноутбуки и десктопы на разномастных x86-процессорах Intel с 2006 г., но в июне 2020 г. решила полностью отказаться от них. В качестве альтернативы она выбрала ARM-чипы собственной разработки, и первым в новой линейке стал 5-нанометровый процессор М1.

В ноябре 2020 г. на его основе Apple выпустила ноутбуки MacBook Air и Pro 13, а также неттоп Mac mini вместе с новой системой macOS 11 Big Sur, адаптированной под него. Rosetta 2 стал частью этой ОС.

Если Apple уберет свой эмулятор из macOS 11.3, это будет означать, что она отвела разработчикам менее полугода на адаптацию своих программ под новую архитектуру. Для сравнения, когда в 2006 г. Apple перешла с процессоров IBM PowerPC на Intel, она точно так же выпустила эмулятор Rosetta первого поколения, и он входил в состав прежних версий macOS на протяжении нескольких лет. Анонс Rosetta состоялся на WWDC 2005.

Решение проблемы

Выходов из ситуации с недоступностью старых программ будет несколько, и самый очевидный из них – повременить с отказом от компьютеров Mac на базе процессоров Intel, если стабильная работа старого ПО критически важна. Тут стоит отметить, что, несмотря на ноябрьский релиз трех ПК с чипом М1, Apple по-прежнему продает Intel-версии своих компьютеров – они доступны во многих регионах мира, включая Россию

Второй выход – это как можно дольше оттягивать переход на новую версию macOS. Не исключено, что грядущее отключение Rosetta подстегнет разработчиков ПО к адаптации своих приложений под новую архитектуру, но, безусловно, на этот шаг пойдут не все из них.

Что еще не так с новой архитектурой Apple

Переход на новые Mac с собственными процессорами Apple может привести не только к неработоспособности программ, использовавшихся годами. Компьютеры с процессорами M1 содержат еще как минимум один недочет, который может обернуться для пользователей существенными тратами.

В конце февраля 2021 г. CNews писал, что в новых ПК на чипе Apple M1 был выявлен сверхбыстрый расход ресурса твердотельного накопителя. У ряда пользователей SSD был изношен на 4% спустя меньше месяца с момента покупки компьютера. Заменить накопитель самостоятельно нельзя – придется обращаться в сервисный центр.

В компьютерах Apple на процессорах Intel подобные проблемы не проявляются. К примеру, у одного их пользователей трехлетний iMac на базе Intel Core проработал в течение 4100 часов, и за это время износ его SSD составил всего 14%.

На момент публикации материала Apple не предлагала решение этой проблемы.

Источник

Оцените статью