Fedora Linux теперь запускает игры Windows (и другие приложения x86) на ПК ARM

Fedora Linux 42 включает в себя уровень эмуляции x86 для ПК ARM, во многом похожий на уровень совместимости Rosetta 2 от Apple для компьютеров Apple Silicon Mac. Он позволяет ПК ARM Linux запускать множество приложений и игр, которые еще не были портированы на ARM, включая программное обеспечение Windows через уровень совместимости Wine.

Эмуляция x86 Fedora изначально была создана для Fedora Asahi Remix, дистрибутива Linux для компьютеров Apple Silicon Mac. Она уже могла запускать игры Windows, такие как Контролировать, Hollow Knight, Fallout 4, The Witcher 3 и Портал 2 с достойной производительностью на M1 Mac. Fedora теперь перенесла эту работу в другие обычные редакции ARM Fedora Linux в качестве устанавливаемого пакета, и он устанавливается по умолчанию в Fedora KDE Plasma Desktop 42.

Уровень эмуляции использует три инструмента: эмулятор FEX для трансляции инструкций x86 в ARM, инструмент nuvm для запуска программного обеспечения в микровиртуальных машинах и binfmt-dispatcher для выбора правильного эмулятора при открытии приложения x86. Это работает как для 32-битного x86, так и для 64-битного x86_64 (также известного как ‘amd64’) программного обеспечения. Запуск программного обеспечения x86 Windows также добавляет Wine или одну из его ветвей, например Proton, в стек. Вы также можете заменить FEX на другие эмуляторы, например box64 или QEMU, если это необходимо.

Fedora Linux теперь запускает игры Windows (и другие приложения x86) на ПК ARM

Команда Fedora заявила в сообщении в блоге: «С этой настройкой, когда запускается неродная программа, ядро ​​вызывает binfmt-dispatcher через интерфейс binfmt_misc. Диспетчер выбирает лучший эмулятор для использования. Это основано на программе, системе, на которой она запущена, и его собственной конфигурации. По умолчанию мы используем эмулятор FEX, который обеспечивает наилучший компромисс между производительностью и совместимостью для большинства программ. FEX поддерживает только хост-системы, работающие с ядром размером страницы 4 КБ. Таким образом, при запуске в системе с другим размером страницы (например, Apple Silicon Mac, работающие с Fedora Asahi Remix 42, которые используют размер страницы 16 КБ), диспетчер автоматически запустит FEX внутри muvm. Это запустит microVM с ядром размером страницы 4 КБ для совместимости».

Необходимость x86

Большинство популярных приложений и утилит Linux уже много лет предлагают версии на основе ARM, в основном из-за популярности Raspberry Pi и других плат ARM. Компьютеры Mac на базе Apple Silicon и серверы на базе ARM также стимулируют больше инвестиций в программное обеспечение ARM Linux.

Однако все еще существует много программного обеспечения только для x86. Большинство фирменных приложений для Linux имеют только версии x86, такие как Discord, Slack и Steam. Программное обеспечение для Windows по-прежнему в основном доступно только для процессоров x86, включая почти все игры для Windows. Эмуляция помогает закрыть некоторые пробелы в функциональности оборудования ARM, как это происходит с ПК с Windows на базе ARM.

Этот тип эмуляции может иметь недостатки производительности и стабильности, но он все равно невероятно полезен и заслуживает внимания, если у вас есть устройство ARM Linux. Его также можно использовать вне традиционной компьютерной конфигурации — в приведенном выше видео показана работающая Celeste для Windows на телефоне с postmarketOS Linux.

Попробуйте это

Уровень эмуляции x86 предустановлен в Fedora KDE Plasma Desktop 42, а также в версиях Fedora Asahi Remix для KDE и GNOME. В других редакциях Fedora ARM вы можете выполнить эту команду для установки этой функции:

sudo dnf install @x86-emulation

Это касается только эмуляции x86 на ПК ARM. В сообщении блога говорилось: «Также стоит отметить, что хотя мы специально нацелились на эмуляцию x86 на хостах ARM, тот же подход может быть использован для других хостов и целей в будущем».

Источник: журнал Fedora

Понравилась статья? Поделиться с друзьями: