Nové verze Box86 a Box64 již byly vydány

Nedávno vydání nové verze Emulátory Box86 0.2.6 a Box64 0.1.8. Projekty jsou vyvíjeny synchronizovaně stejným vývojovým týmem.

Box86 je omezen na spouštění 86bitových x32 aplikací (jako jsou hry) na systémech Linux jiných než x86, jako je ARM (hostitelský systém musí být 32bitový little-endian). Proto je ke spuštění a kompilaci Box32 vyžadován 86bitový subsystém. Box86 je na 64bitových systémech k ničemu. Ke kompilaci Box32 také potřebujete 86bitový toolchain.

Protože Box86 používá nativní verze některých „systémových“ knihoven, jako jsou libc, libm, SDL a OpenGL, lze jej snadno integrovat a používat s většinou aplikací a výkon může být v mnoha případech překvapivě vysoký.

Totéž platí pro Box64, jen to takové a dovolí spouštět 64bitové spustitelné soubory. Projekt věnuje velkou pozornost organizaci vydávání herních aplikací, včetně možnosti vydávat sestavení Windows přes Wine a Proton.

Charakteristickým rysem projektu je použití hybridního exekučního modelu, ve kterém je emulace aplikována pouze na strojový kód samotné aplikace a konkrétní knihovny. Obecné systémové knihovny, včetně libc, libm, GTK, SDL, Vulkan a OpenGL, jsou na cílových platformách nahrazeny nativními variantami. Proto jsou volání knihovny prováděna bez emulace, což umožňuje výrazné zvýšení výkonu.

Emuluje kód, který nemá žádné nativní přepisys pro cílovou platformu se provádí pomocí techniky dynamické rekompilace (DynaRec) z jedné sady strojových instrukcí do druhé. Ve srovnání s interpretací strojových instrukcí vykazuje dynamická rekompilace 5 až 10krát lepší výkon.

ve výkonnostních testech, když běží na platformách Armhf a Aarch64, Emulátory Box86 a Box64 výrazně překonaly projekty QEMU a FEX-emu a v některých testech (glmark2, openarena) dosáhli výkonu identického se spuštěním sestavy nativní pro cílovou platformu.

Pokud jde o kompatibilitu aplikací, dZe 165 testovaných her bylo přibližně 70 % úspěšných. Asi o 10 % více práce, ale s určitými výhradami a omezeními.

Z her, se kterými jsou zaznamenány problémy, jsou zmíněny hry založené na enginu Unity3D, který je vázán na balíček Mono, jehož emulace stále ne vždy funguje kvůli JIT kompilaci používané v Mono a má také poměrně vysoké nároky na grafiku toho nelze vždy dosáhnout na deskách ARM. Nahrazení aplikačních knihoven GTK je v současnosti omezeno na GTK2 (náhrada GTK3/4 není plně implementována).

Pokud jde o hlavní změny v nových verzích, je zvýrazněno následující:

  • Přidán odkaz na knihovnu Vulkan. Přidána podpora grafického API Vulkan a DXVK (implementace DXGI, Direct3D 9, 10 a 11 přes Vulkan).
  • Vylepšené vazby pro knihovny GTK. Přidány vazby pro gstreamer a knihovny běžně používané v aplikacích GTK.
  • Přidána počáteční podpora (zatím pouze interpretační režim) pro architektury RISC-V a PPC64LE.
  • Byly provedeny opravy chyb pro zlepšení kompatibility se SteamPlay a Proton Layer. Je možné spouštět mnoho her pro Linux a Windows ze Steamu na deskách AArch64, jako je Raspberry Pi 3 a 4.
  • Vylepšená správa paměti, chování mmap a monitorování narušení ochrany paměti.
  • Vylepšená podpora pro systémové volání klonu v knihovně libc. Přidána podpora pro nová systémová volání.
  • V dynamickém rekompilačním enginu byla vylepšena práce s registry SSE/x87, přidána podpora pro nové strojové kódy, optimalizovány float a dvojité konverze, vylepšeno interní zpracování větví, Zjednodušená podpora pro nové architektury.
  • Vylepšený zavaděč souborů ELF.

Nakonec, pokud máte zájem dozvědět se o tom více, můžete si prostudovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.