Nové verze emulátorů Box86 a Box64, které umožňují spouštět x86 hry na systémech ARM

Byly vydány verze emulátorů Box86 0.2.6 a Box64 0.1.8, určené pro spuštění programů Linux sestavených pro architektury x86 a x86_64 na zařízeních s procesory ARM, ARM64, PPC64LE a RISC-V. Projekty se vyvíjejí paralelně jedním týmem vývojářů — Box86 se zaměřuje na možnost spuštění 32bitových aplikací x86, zatímco Box64 zajišťuje spuštění 64bitových spustitelných souborů. Projekt klade velký důraz na organizaci spouštění herních aplikací, včetně možnosti spuštění Windows sestavení prostřednictvím wine a Proton. Zdrojové kódy projektu jsou napsány v jazyce C a šíří se (Box86, Box64) pod licencí MIT.

Specifikem projektu je použití hybridního modelu provádění, při kterém je emulace aplikována pouze na strojový kód samotné aplikace a specifické knihovny. Typické systémové knihovny, včetně libc, libm, GTK, SDL, Vulkan a OpenGL, jsou nahrazovány variantami nativními pro cílové platformy. Tímto způsobem se knihovní volání provádějí bez emulace, což umožňuje dosáhnout významného zvýšení výkonu.

Emulace kódu, pro který nejsou k dispozici nativní nahrazení pro cílovou platformu, se provádí pomocí techniky dynamické překompilace (DynaRec) z jednoho souboru strojových instrukcí na jiný. V porovnání s interpretací strojových instrukcí dynamická překompilace prokazuje 5-10x vyšší výkon.

V testech výkonu emulátory Box86 a Box64 při provádění na platformách Armhf a Aarch64 výrazně předčili projekty QEMU a FEX-emu, a v některých testech (glmark2, openarena) umožnily dosáhnout výkonu srovnatelného se spuštěním předpřipravené verze pro cílovou platformu. V testech 7-zip a dav1d, provádějících intenzivní výpočty, vykázal výkon Box64 od 27 % do 53 % výkonu nativní aplikace (pro srovnání QEMU vykázal výsledky od 5-16 %, a FEX-emu — 13-26 %). Dále bylo provedeno srovnání s emulátorem Rosetta 2, používaným společností Apple pro spuštění x86 kódu na systémech s ARM čipem M1. Rosetta 2 zajistila provedení testu založeného na 7zip s výkonem 71 % od nativní verze, zatímco Box64 dosáhl 57 %.

Nové verze emulátorů Box86 a Box64, které umožňují spouštět x86 hry na systémech ARM

Pokud jde o kompatibilitu s aplikacemi, z 165 testovaných her úspěšně fungovalo přibližně 70 %. Dalších přibližně 10 % funguje, ale s určitými výhradami a omezeními. Mezi podporované hry patří WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious a většina her společnosti GameMaker. Mezi hry, u kterých byly zaznamenány problémy, patří hry založené na enginu Unity3D, který je vázán na balíček Mono, jehož emulace zatím nefunguje vždy, přičemž v Mono se používá JIT-kompilace a vyžaduje také poměrně vysoké grafické nároky, které nejsou vždy dosažitelné na ARM platformách. Zatím je zastoupení knihoven GTK aplikací omezeno na GTK2 (nahrazení GTK3/4 není plně realizováno).

Hlavní změny v nových vydáních:

  • Byl přidán obal pro knihovnu Vulkan. Přidána podpora grafického API Vulkan a DXVK (implementace DXGI, Direct3D 9, 10 a 11 nad Vulkanem).
  • Vylepšeny obaly pro knihovny GTK. Přidány obaly pro gstreamer a knihovny běžně používané v GTK aplikacích.
  • Byla přidána počáteční podpora (zatím pouze v režimu interpretace) architektur RISC-V a PPC64LE.
  • Byly provedeny opravy zaměřené na zlepšení podpory SteamPlay a vrstvy Proton. Byla zajištěna možnost spuštění mnoha her pro Linux a Windows z obchodu Steam na platech AArch64, jako jsou Raspberry Pi 3 a 4.
  • Zlepšeno řízení paměti, funkce mmap a sledování porušení ochrany paměti.
  • Byla vylepšena podpora systémového volání clone v libc. Přidána podpora nových systémových volání.
  • Ve hrách s dynamickým překladačem byla vylepšena práce s registry SSE/x87, přidána podpora nových strojových kódů, optimalizovány konverze čísel float a double, zlepšeno zpracování vnitřních přechodů, zjednodušeno přidávání podpory pro nové architektury.
  • Byl vylepšen načítač souborů ve formátu ELF.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster