Lëshimi i emulatorit FEX 2412, i cili lejon ekzekutimin e programeve x86 në sisteme ARM64

ËshtĂ« prezantuar lĂ«shimi i projektit FEX 2412, qĂ« zhvillon emulatorin pĂ«r ekzekutimin e lojĂ«rave dhe aplikacioneve tĂ« ndĂ«rtuara pĂ«r arkitekturat x86 dhe x86-64, nĂ« mjedisin Linux nĂ« sisteme me procesorĂ« ARM64 (AArch64). NdĂ«r tĂ« tjera, emulatori FEX pĂ«rdoret nga projekti Asahi pĂ«r tĂ« organizuar ekzekutimin nĂ« mjedise Linux qĂ« funksionojnĂ« nĂ« sisteme me çipa ARM tĂ« Apple Silicon, lojĂ«rat nga katalogu Steam, tĂ« ndĂ«rtuara pĂ«r arkitekturĂ«n x86_64. Kodi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n C++ me insertime asm dhe shpĂ«rndahet nĂ«n licencĂ«n MIT.

Bibliotekat e nevojshme për ekzekutimin e aplikacioneve x86 në mjedisin ARM64 lidhen si një shtresë overlay me imazhin e sistemit të skedarëve të rrënjës (rootfs), e cila ofrohet në formatin squashfs. Një shtresë e tillë bën të mundur që të shmanget krijimi i një mjedisi të veçantë chroot. Ngarkimi i imazheve të formuara nga projekti rootfs bëhet me një utilitar të përgatitur posaçërisht, FEXRootFSFetcher.

Për të organizuar qasje në disa mundësi të mjedisit host, si mjetet për punën me tinguj dhe grafikën 3D, në rootfs vendosen biblioteka speciale thunk, që përkthyen thirrjet në bibliotekat dhe kodin në anën e sistemit host (për shembull, mund të redirektohen thirrjet në OpenGL dhe Vulkan). Kjo biblioteka gjithashtu mund të përdoren në anën e hostit për thirrjen e kodit në mjedisin e ftuar. Disa nga bibliotekat në dispozicion për kalim janë: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client dhe libxshmfence.

Mes ndryshimeve në versionin e ri, vihen në dukje zgjidhja e problemeve me ekzekutimin e klientit Steam, kalimi i emulacionit të instrukcionit x86 PAUSE në përdorimin e instrukcionit ARM WFE në vend të YIELD, sigurimi i emulacionit të thirrjeve sistemore të nevojshme për funksionimin me kontrolluesit e lojërave, përmirësimi i emulacionit të CPUID dhe RDTSCP, restrukturimi i FEXCore (backend i emulimit të CPU), korrigjimi i të papriturave në emulimin e zgjerimeve AVX.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster