Rosetta apple что это
Если необходимо установить Rosetta на компьютер Mac
Rosetta 2 позволяет компьютерам Mac с процессорами Apple использовать приложения, созданные для компьютеров Mac с процессорами Intel.
Установка Rosetta
Если у вас Mac с процессором Apple, появится запрос на установку Rosetta при первом открытии программы, созданной для компьютера Mac с процессором Intel. Щелкните «Установить», а затем введите свое имя пользователя и пароль, чтобы продолжить установку.
После установки Rosetta, она будет доступна для всех остальных приложений, поэтому вам не будет предложено установить ее повторно. Если вы решите не устанавливать Rosetta сейчас, при следующем открытии приложения, для которого требуется Rosetta, появится соответствующий запрос.
Использование Rosetta
В большинстве случаев нет заметной разницы в производительности приложений, которым требуется Rosetta. Однако следует обратиться к разработчику приложения, чтобы узнать о версии, которая способна использовать всю мощь и производительность процессора Apple.
Каким из ваших приложений требуется Rosetta?
С помощью функции «Свойства» можно определить приложения, которые нуждаются в системе Rosetta или могут ее использовать:
Только для универсальных программ в окне «Сведения» есть параметр «Открывать с помощью Rosetta». Этот параметр позволяет универсальным программам, таким как веб-браузеры или программы электронной почты, использовать плагины, расширения и другие надстройки, которые не были обновлены для поддержки процессора Apple. Если универсальная программа не распознает надстройку, установленную для нее, вы можете выйти из программы, выбрать этот параметр и повторить попытку.
На макбуках с чипом М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 не предлагала решение этой проблемы.
Apple может отключить Rosetta 2 на Mac в некоторых странах. Чем это опасно
После перехода новых Mac на архитектуру ARM многие стали беспокоиться, что это вызовет проблемы совместимости старых приложений, разработанных для Intel, с процессором M1. Но Apple заранее обо всём позаботилась и встроила в macOS эмулятор Rosetta 2, который по сути заставляет приложение думать, что оно запускается на Intel, а не на M1. Со стороны пользователя при этом всё выглядит, как обычно, он только видит предупреждение, что приложение будет запущенно с помощью Rosetta 2. Для многих пользователей Mac на M1 это сейчас главная функция macOS, так как софт ещё не до конца оптимизирован под M1. Однако в новой macOS 11.3 некоторые пользовали, похоже, потеряют доступ к Rosetta 2.
После отключения Rosetta многие пользователи могут лишиться доступа к приложениям под Intel
Куда пропала Rosetta из macOS
Одним из первых на информацию об отсутствии Rosetta 2 в бете macOS 11.3 обратил внимание разработчик Стив Мозер. В коде операционной системы он обнаружил следующую строчку:
Rosetta будет удалена после установки этого обновления
Rosetta больше недоступна в этом регионе. Приложения, которые требуют Rosetta, больше не запустятся.
Apple is removing Rosetta from Macs during updates in certain countries in Mac 11.3 beta 3. Maybe this is due to legal issues? “Rosetta will be removed upon installing this update” “Rosetta is no longer available in your region. Applications requiring Rosetta will no longer urn” pic.twitter.com/NmsjXOwPvP
О каких именно регионах (странах в случае с Apple) идёт речь, непонятно. Возможно, компания столкнулась с какими-то юридическими или иными территориальными ограничениями. Вряд ли Rosetta уберут с компьютеров, которые находятся в США, но миллионы других Mac в остальных странах прямо сейчас находятся под угрозой. Да, в том числе те, которые были приобретены и используются в России.
Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.
Что такое Rosetta 2
С помощью Rosetta 2 компьютеры Mac с архитектурой ARM запускают приложения, изначально написанные для Intel, на M1. Эмулятор по умолчанию вшит в прошивку всех компьютеров Apple с ARM-чипами и работает полностью автоматически. Например, чтобы запустить, скажем, приложение, которое пока официально поддерживает только архитектуру x86, нет нужды запускать Rosetta 2 отдельно (да у вас и не получится, потому что в системе нет специальной кнопки). Как только вы попытаетесь запустить приложение, Rosetta 2 включится автоматически.
Именно Rosetta 2 позволяет запускать Intel-приложения на M1
Rosetta 2 поддерживает 99 приложений из 100, то есть работа со всеми программами изначально и не гарантируется. В то же время пока никто в Сети или в нашем чате в Telegram не жаловался на проблемы совместимости. Разве что все говорят про Docker, версии которого нет под M1.
Также по теме: Как устанавливать на Mac приложения для Windows
А почему эмулятор называется именно Rosetta 2? Просто Rosetta в 2005 году в Apple назвали программу, которая переводила код приложений, написанных под PowerPC, в среду Intel x86. Из-за чего переход Mac с процессоров PowerPC на Intel многие пользователи не заметили. С Rosetta в первые дни случались проблемы – но их было немного и они были устранены с невероятной быстротой. А когда переход закончился, в течение еще нескольких лет в новые версии Mac OS X включалась Rosetta, и некоторые старые программы, аналогов которым не было и не будет, продолжали работать. Медленнее, чем на PowerPC, но с приемлемой скоростью.
В случае с Rosetta 2 пользователи по сути могут потерять доступ к эмулятору всего через несколько месяцев после выхода первых Mac на Apple Silicon (с архитектурой ARM). И поскольку большинство приложений пока работают только под Intel, а macOS лишится встроенного «переводчика», пользователи не смогут запускать Intel-приложения. Для многих это будет настоящая катастрофа, и продажи Mac на ARM сразу упадут. Не думаю, что Apple это допустит, но и сообщение об отсутствии Rosetta 2 в некоторых странах, начиная с macOS 11.3, настораживает.
Rosetta 2 на компьютере Mac с чипом Apple
Компьютер Mac с чипом Apple способен запускать код, скомпилированный для набора инструкций x86_64, с помощью механизма преобразования под названием Rosetta 2. Предлагается два типа преобразования: точно в нужный момент и заблаговременно.
Преобразование точно в нужный момент
Заблаговременное преобразование
При использовании заблаговременного преобразования (AOT) чтение двоичных файлов x86_64 из хранилища выполняется в те моменты, которые система считает оптимальными для скорости отклика этого кода. Преобразованные артефакты записываются в хранилище как особый файл объекта Mach. Этот файл похож на исполняемый образ, но содержит пометку, что это результат преобразования другого образа.
В этой модели артефакт AOT получает всю свою идентификационную информацию из исходного исполняемого образа x86_64. Для обеспечения этой привязки привилегированный объект пользовательского пространства подписывает преобразованный артефакт с помощью ключа конкретного устройства, которым управляет Secure Enclave. Этот ключ выдается только привилегированному объекту пользовательского пространства, который идентифицируется в этом качестве с помощью ограниченного права. Каталог кода, созданный для артефакта преобразования, включает хэш каталога кода исходного исполняемого образа x86_64. Подпись самого артефакта преобразования называется дополнительной подписью.
Преобразованные артефакты находятся в хранилище Data Vault, которое во время выполнения недоступно для любых объектов, кроме службы Rosetta. Служба Rosetta управляет доступом к своему кэшу, выдавая доступные только для чтения файловые дескрипторы отдельным артефактам преобразования; это ограничивает доступ к кэшу артефакта AOT. Межпроцессное взаимодействие и зависимая область этой службы намеренно оставлены очень узкими, чтобы минимизировать атакуемую область.
Если хэш каталога кода исходного образа x86_64 не совпадает с хэшем, закодированным в подписи артефакта преобразования AOT, это равноценно недействительной подписи кода и приводит к принятию соответствующих принудительных мер.
Если удаленный процесс запрашивает у ядра права доступа или другие идентифицирующие свойства кода исполняемого файла, преобразованного AOT, ему возвращаются идентифицирующие свойства исходного образа x86_64.
Содержимое статического доверенного кэша
macOS 11 или новее поставляется с мультиархитектурными двоичными файлами Mach, которые содержат фрагменты кода x86_64 и arm64. Пользователь компьютера Mac с чипом Apple может выбрать исполнение фрагмента x86_64 системного двоичного файла через процесс Rosetta, например, чтобы загрузить подключаемый модуль, не имеющий нативной версии arm64. Для поддержки этого подхода статический доверенный кэш, который поставляется с macOS, в основном содержит три хэша каталога кода на каждый файл объекта Mach.
Хэш каталога кода фрагмента arm64.
Хэш каталога кода фрагмента x86_64.
Хэш каталога кода фрагмента заблаговременного (AOT) преобразования x86_64.
Процедура преобразования AOT Rosetta детерминирована. Она дает одинаковый результат для любого отдельно взятого набора входных данных, независимо от того, когда или на каком устройстве было выполнено преобразование.
Во время сборки macOS каждый файл объекта Mach проходит через процесс преобразования AOT Rosetta, связанный с версией данной macOS, и полученный хэш каталога кода записывается в доверенный кэш. Из соображений эффективности фактические результаты преобразования не поставляются с операционной системой и воссоздаются по запросу, когда пользователь их запрашивает.
Когда на компьютере Mac с чипом Apple исполняется образ x86_64, то, если хэш каталога кода этого образа находится в статическом доверенном кэше, хэш каталога кода полученного артефакта AOT также должен находиться в статическом доверенном кэше. Такие продукты не подписываются ключом конкретного устройства, поскольку корень полномочий подписания находится в последовательности безопасной загрузки Apple.
Неподписанный код x86_64
Компьютер Mac с чипом Apple не разрешает исполнение нативного кода arm64 без прикрепленной подписи кода. Эта подпись может быть такой же простой, как специальная ad-hoc подпись кода (ср. с codesign(1) ), не содержащая никакой идентификационной информации из секретной половины пары асимметричных ключей (это неаутентифицированное измерение двоичного файла).
Из соображений совместимости двоичных файлов преобразованному коду x86_64 разрешено исполняться через Rosetta, даже не имея никакой информации о подписи. Процедура подписи Secure Enclave для конкретного устройства никак не идентифицирует этот код, и он исполняется с теми же ограничениями, что и собственный неподписанный код, исполняемый на компьютере Mac с процессором Intel.
Первый опыт: Mac Mini на M1
Очень кратко о моем первом опыте использования (бенчмарков не ждать).
В коробке у нас небольшой серый блок с 2 USB-A, 2 USB-C, HDMI, Ethernet, разъемом для питания и небольшим отверстием системы охлаждения.
Первый запуск
Переходим к софту
Я в основном занимаюсь web-разработкой: Java на бакенде и Vue (node js для сборки) на фронте, работаю в IDE от Jetbrains. С чего здесь начать? С того, что ничего из этого не портировано под новую архитектуру, и именно тем, как они справились с этой проблемой, я был восхищен. Сразу после настройки системы, я пошел шерстить гитхабы на предмет того, как все это добро собрать под новый проц (кто-то подготовил EA версии, кто-то патчи, кто-то еще тестирует, а кто-то пока даже не чешется).
Rosetta 2
Я просто пошел и скачал тулбокс от Jetbrains, установил его и запустил, на что ОС мне выкинула окошко, мол, этот софт еще не поддерживает новую архитектуру, хочу ли я установить Rosetta и запустить через неё, на что я ответил да и больше ни разу не видел этого окна. Тулбокс запустился, я затянул им phpstorm и IDEA, и они запустились без каких-либо проблем и полностью прозрачно.
Дальше дело было за фронтом. Также просто скачал установщик с сайта node.js и запустил. Один из свежих проектов подтянул зависимости и собрал все, что ему нужно (с помощью node-gyp). Фронт собирается также медленно, как и на моем PC, какой-то заметной разницы я не обнаружил. Второй проект упал на сборке node-sass, но после обновления зависимостей все завелось.
Температура Mac Mini, за время его активного использования, ощутимо не изменялась (корпус все время был холодный).
Не смотря на то, что довольно много приложений все еще не портировано, устройство имеет хороший потенциал, ведь даже приложения, запущенные через Rosetta, практически не отстают от их же производительности на нативной х86_64 платформе. (В сравнение с моей текущая конфигурацией AMD Ryzen 7 2700X/32Gb ОЗУ/SSD) А общая производительность системы с запущенными несколькими средами разработки, браузером с десятками вкладок, вебпак сервером с хот-релодом и объемного приложения на спринге не может не впечатлить, учитывая наличие всего 16Гб оперативной памяти. Будет интересно посмотреть, что будет, когда все эти приложения будут запущены нативно.
Если вам хочется несколько бенчмарков можете обратится к это статье: