[ON] Выпуск эмулятора FEX 2412, позволяющего запускать x86-программы на системах ARM64

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Выпуск эмулятора FEX 2412, позволяющего запускать x86-программы на системах ARM64

Сообщение rssbot »

Представлен выпуск проекта
FEX 2412, развивающего эмулятор для выполнения игр и приложений, собранных для архитектур x86 и x86-64, в Linux-окружении на системах с процессорами ARM64 (AArch64). Среди прочего, эмулятор FEX применяется проектом Asahi для организации запуска в Linux-окружениях, работающих на системах с ARM-чипами Apple Silicon, игр из каталога Steam, собранных для архитектуры x86_64. Код проекта написан на языке С++ с ассемблерными вставками и распространяется под лицензией MIT.


Библиотеки, необходимые для запуска x86-приложений в ARM64-окружении, подключаются в форме overlay-прослойки с образом корневой ФС (rootfs), поставляемой в формате squashfs. Подобная прослойка даёт возможность обойтись без создания отдельного chroot-окружения. Загрузка уже сформированных проектом образов rootfs производится специально подготовленной утилитой FEXRootFSFetcher.


Для организации доступа к определённым возможностям хост-окружения, таким как средства для работы со звуком и 3D-графикой, в rootfs помещаются специальные thunk-библиотеки, транслирующие обращения к библиотекам и коду на стороне хост-системы (например, могут перенаправляться обращения к OpenGL и Vulkan). Подобные библиотеки также могут использоваться и на стороне хоста для обращения к коду в гостевом окружении. Среди доступных для проброса библиотек: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm,
libfex_malloc, libvulkan, libwayland-client и libxshmfence.


Из изменений в новой версии отмечается решение проблем с запуском клиента Steam, перевод эмуляции x86-инструкции PAUSE на использование ARM-инструкции WFE вместо YIELD, обеспечение эмуляции системных вызовов, необходимых для работы с геймпадами, улучшение эмуляции CPUID и RDTSCP, реструктуризация FEXCore (бэкенд эмуляции CPU), устранение недоработок в эмуляции расширений AVX.


Источник: https://www.opennet.ru/opennews/art.shtml?num=62340
(opennet.ru, мини-новости)
Последний раз редактировалось rssbot 04.12.2024 16:51, всего редактировалось 2 раза.
Причина: Updated upstream
Спасибо сказали: