Излизане на емулатора FEX 2412, който позволява стартиране на x86-програми на ARM64 системи

Представен е новият версия на проекта FEX 2412, който разработва емулатор за изпълнение на игри и приложения, събрани за архитектурите x86 и x86-64, в Linux среда на системи с ARM64 (AArch64) процесори. Сред другото, емулаторът FEX се използва от проекта Asahi за организиране на стартиране в Linux среди, работещи на системи с ARM чипове Apple Silicon, игри от каталога Steam, събрани за архитектура x86_64. Кодът на проекта е написан на C++ с асемблерни вмъквания и се разпространява под 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 разширения.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster