Rilascio dell'emulatore FEX 2412, che consente di eseguire programmi x86 su sistemi ARM64

È stato presentato il rilascio del progetto FEX 2412, che sviluppa un emulatore per eseguire giochi e applicazioni compilati per le architetture x86 e x86-64, in un ambiente Linux su sistemi con processori ARM64 (AArch64). Tra l'altro, l'emulatore FEX è utilizzato dal progetto Asahi per facilitare l'esecuzione in ambienti Linux su sistemi con chip ARM Apple Silicon, di giochi del catalogo Steam compilati per l'architettura x86_64. Il codice del progetto è scritto in C++ con inserimenti in assembly ed è distribuito con licenza MIT.

Le librerie necessarie per eseguire applicazioni x86 in un ambiente ARM64 vengono collegate sotto forma di overlay con un'immagine del file system radice (rootfs), fornita in formato squashfs. Tale overlay consente di evitare la creazione di un ambiente chroot separato. Il caricamento delle immagini rootfs già formate dal progetto avviene tramite un'utilità appositamente preparata chiamata FEXRootFSFetcher.

Per consentire l'accesso a determinate funzionalità dell'ambiente host, come gli strumenti per gestire audio e grafica 3D, nella rootfs vengono inserite librerie thunk speciali, che traducono le chiamate a librerie e codice sul lato del sistema host (ad esempio, le chiamate a OpenGL e Vulkan possono essere reindirizzate). Tali librerie possono anche essere utilizzate sul lato host per accedere al codice nell'ambiente ospite. Tra le librerie disponibili per il passthrough ci sono: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client e libxshmfence.

Tra le novità della nuova versione, si segnala la risoluzione dei problemi con l'avvio del client Steam, la transizione dall'emulazione dell'istruzione x86 PAUSE all'uso dell'istruzione ARM WFE al posto di YIELD, il supporto per l'emulazione delle chiamate di sistema necessarie per l'uso dei controller, il miglioramento dell'emulazione CPUID e RDTSCP, la ristrutturazione di FEXCore (backend di emulazione CPU) e la risoluzione di difetti nell'emulazione delle estensioni AVX.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster