Lanzamiento del emulador FEX 2412, que permite ejecutar programas x86 en sistemas ARM64

Se presenta la versión del proyecto FEX 2412, que desarrolla un emulador para ejecutar juegos y aplicaciones construidas para arquitecturas x86 y x86-64, en un entorno Linux en sistemas con procesadores ARM64 (AArch64). Entre otras cosas, el emulador FEX es utilizado por el proyecto Asahi para facilitar la ejecución en entornos Linux en sistemas con chips ARM de Apple Silicon, de juegos de la biblioteca Steam construidos para la arquitectura x86_64. El código del proyecto está escrito en C++ con inserciones en ensamblador y está disponible bajo la licencia MIT.

Las bibliotecas necesarias para ejecutar aplicaciones x86 en un entorno ARM64 se conectan como una capa overlay con una imagen del sistema de archivos raíz (rootfs) proporcionada en formato squashfs. Esta capa permite prescindir de la creación de un entorno chroot separado. La carga de las imágenes de rootfs ya formadas por el proyecto se realiza utilizando la utilidad FEXRootFSFetcher, especialmente preparada.

Para facilitar el acceso a ciertas capacidades del entorno host, como las herramientas para trabajar con sonido y gráficos 3D, se colocan en el rootfs bibliotecas thunk especiales que traducen las llamadas a las bibliotecas y al código en el lado del sistema host (por ejemplo, pueden redirigir las llamadas a OpenGL y Vulkan). Estas bibliotecas también pueden utilizarse en el lado del host para acceder al código del entorno huésped. Entre las bibliotecas disponibles para el paso se encuentran: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client y libxshmfence.

Entre los cambios en la nueva versión se destaca la solución de problemas de lanzamiento del cliente Steam, la traducción de la emulación de la instrucción x86 PAUSE para usar la instrucción ARM WFE en lugar de YIELD, la provisión de emulación de llamadas al sistema necesarias para el funcionamiento con gamepads, la mejora de la emulación de CPUID y RDTSCP, la reestructuración de FEXCore (backend de emulación de CPU) y la corrección de fallos en la emulación de extensiones AVX.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster