Проект Asahi Linux подготовил инструментарий для запуска Windows-игр
Разработчики проекта Asahi Linux, выполняющего портирование Linux для компьютеров Mac с ARM-чипами Apple, представили инструментарий для запуска современных компьютерных игр в Linux-окружениях, работающих на системах с чипом Apple M1. Речь про игры класса AAA, доступные в каталоге Steam и собранные для архитектуры x86_64. Инструментарий обеспечивает интеграцию созданных проектом драйверов, реализующих API Vulkan 1.3 и OpenCL 3.0, с компонентами, обеспечивающими эмуляцию архитектуры x86_64 и совместимость с Windows.Необходимые для работы пакеты уже добавлены в штатный репозиторий дистрибутива Fedora Asahi Remix - для запуска игр достаточно обновить драйверы командой "dnf upgrade --refresh" и установить Steam командой "dnf install steam" и она подтянет все необходимые зависимости. Используемый для запуска игр стек построен на основе Vulkan-драйвера Honeykrisp, эмулятора FEX, позволяющего выполнять x86-приложений на системах ARM, проекта Wine и прослоек DXVK и vkd3d-proton с реализацией API DirectX поверх Vulkan.
Из-за дополнительных накладных расходов, вызванных эмуляцией, рекомендуется наличие в системе 16 ГБ ОЗУ. Проблемы с выравниванием из-за несоответствия размера страниц памяти, используемого в операционной системе и необходимого приложениям (программы собранные для x86 рассчитаны на страницы 4К, в то время как на системах Apple используются страницы 16K), удалось решить через запуск в виртуальном окружении второго ядра Linux, собранного с другим размером страниц памяти. Для запуска игр в отдельных виртуальных машинах со своим ядром задействован инструментарий muvm. Например, таким образом удалось запустить игру Fallout 4.
https://honk.any-key.press/d/G6xl7g44s49C2hXSq5382.jpgДля обеспечения работы игр, таких как The Witcher 3 и Ghostrunner, в которых используются тесселяция и геометрические шейдеры, задействована эмуляция при помощи вычислительных шейдеров. Из пока не реализованных возможностей отмечается поддержка в драйвере Honeykrisp мозаичного текстурирования (sparse texturing), необходимого для запуска некоторых игр на базе DX12, таких как Cyberpunk 2077. Кроме того, ведётся работа по оптимизации производительности для достижения в эмулируемом окружении уровня 60 FPS.
https://honk.any-key.press/d/G6xwbmF4QD2mg4p2dsH65.jpgИсточник: https://www.opennet.ru/opennews/art.shtml?num=62029