Lansarea emulatorului FEX 2412, care permite rularea programelor x86 pe sisteme ARM64

A fost lansată versiunea proiectului FEX 2412, care dezvoltă un emulator pentru a rula jocuri și aplicații compilate pentru arhitecturile x86 și x86-64, în medii Linux pe sisteme cu procesoare ARM64 (AArch64). Printre altele, emulatorul FEX este utilizat de proiectul Asahi pentru a organiza lansarea în medii Linux care funcționează pe sisteme cu procesoare ARM Apple Silicon, a jocurilor din catalogul Steam, compilate pentru arhitectura x86_64. Codul proiectului este scris în C++ cu inserții Assembly și este distribuit sub licența MIT.

Bibliotecile necesare pentru a rula aplicații x86 în medii ARM64 sunt conectate sub formă de overlay peste imaginea sistemului de fișiere rădăcină (rootfs), furnizată în format squashfs. O astfel de strat permite evitarea creării unui mediu chroot separat. Încărcarea imaginilor rootfs deja formate de proiect se face printr-o utilitară special pregătită, FEXRootFSFetcher.

Pentru a organiza accesul la anumite funcționalități ale mediului gazdă, cum ar fi instrumentele pentru lucrul cu sunetul și grafică 3D, în rootfs sunt plasate biblioteci thunk speciale, care traduc apelurile către biblioteci și cod pe partea sistemului gazdă (de exemplu, apelurile către OpenGL și Vulkan pot fi redirecționate). Aceste biblioteci pot fi utilizate și pe partea gazdă pentru a accesa codul din mediul oaspete. Printre bibliotecile disponibile pentru redirecționare se numără: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client și libxshmfence.

Printre modificările din noua versiune se numără soluționarea problemelor cu lansarea clientului Steam, trecerea emulării instrucțiunii x86 PAUSE la utilizarea instrucției ARM WFE în loc de YIELD, asigurarea emulării apelurilor de sistem necesare pentru a lucra cu gamepad-uri, îmbunătățirea emulării CPUID și RDTSCP, restructurarea FEXCore (backend-ul emulării CPU), corectarea defectelor în emularea extensiilor AVX.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster