FEX 2412 emulaatori väljaanne, mis võimaldab käitada x86-programme ARM64 süsteemidel

Esitleti FEX 2412 projekti väljaanne, mis arendab emulaatorit x86 ja x86-64 arhitektuuride jaoks mõeldud mängude ja rakenduste käitamiseks ARM64 (AArch64) protsessoritega Linuxi keskkondades. Muuhulgas kasutatakse FEX-emulaatorit projekti Asahi poolt Apple Siliconi ARM-kiipide süsteemides töötavates Linuxi keskkondades x86_64 arhitektuurile koostatud Steam mängude käivitamise korraldamiseks. Projekti kood on kirjutatud C++ keeles koos assembleri sisestustega ja see on litsentseeritud MIT litsentsi alusel.

x86-rakenduste käitamiseks ARM64 keskkonnas vajalikud teegid ühendatakse overlay-kihina rootfs pildiga, mis on tarnitud squashfs formaadis. Selline kiht võimaldab vältida eraldi chroot-keskkonna loomist. Eelnevalt koostatud rootfs pilte laaditakse spetsiaalselt ettevalmistatud utiliidiga FEXRootFSFetcher.

Teatud hostikeskkonna funktsioonide, näiteks audio- ja 3D-graafika tööriistade juurdepääsu korraldamiseks paigutatakse rootfs-i spetsiaalsed thunk-raamatukogud, mis tõlgivad päringud host-süsteemi raamatukogude ja koodi poole (näiteks võivad päringud olla suunatud OpenGL-ile ja Vulkanile). Selliseid raamatukogusid saab kasutada ka hosti poolel koodi kutsumiseks külgkeskkonnas. Saadaval raamatukogude seas on: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client ja libxshmfence.

Uues versioonis on tähelepanu all klient Steam'i käivitamise probleemide lahendamine, x86-instruktsiooni PAUSE emulatsiooni üleminek ARM-instruktsiooni WFE kasutamisele YIELD'i asemel, süsteemikutsumiste emulatsiooni tagamine, mis on vajalik mängupultidega töötamiseks, CPUID ja RDTSCP emulatsiooni parandamine, FEXCore'i (CPU emulatsiooni tagumine) restruktureerimine ning AVX laienduste emulatsiooni puuduste kõrvaldamine.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster