Vydanie Box64 0.4.0, emulátora pre spúšťanie x86 hier na systémoch ARM64, RISC-V a Loongarch64

Bol vydaný emulátor Box64 verzie 0.4.0, určený na spúšťanie programov Linux skompilovaných pre architektúru x86_64 na zariadeniach s procesormi ARM64, RISC-V a Loongarch64. Projekt sa zameriava na efektívne spúšťanie herných aplikácií a poskytuje možnosť spúšťania Windows verzií cez Wine a Proton. Zdroje projektu sú napísané v jazyku C a sú licencované pod licenciou MIT.

Špecifikom projektu je aplikácia hybridného modelu vykonávania, pri ktorom sa emulácia aplikuje iba na strojový kód samotnej aplikácie a špecifických knižníc. Typové systémové knižnice, vrátane libc, libm, GTK, SDL, Vulkan a OpenGL, sú nahradené variantmi natívnymi pre cieľové platformy. Týmto spôsobom sa knižničné volania vykonávajú bez emulácie, čo umožňuje dosiahnuť výrazné zvýšenie výkonu.

Emulácia kódu, pre ktorý neexistujú miestne alternatívy pre cieľovú platformu, sa vykonáva pomocou techniky dynamickej prekompilácie (DynaRec) z jedného súboru strojových inštrukcií do druhého. V porovnaní s interpretovaním strojových inštrukcií dynamická prekompilácia preukazuje 5-10 násobne vyšší výkon. vysoký výkon.

V novej verzii:

  • Bol predstavený zjednotený dekodér prefixov strojových inštrukcií (prefix opcode decoder), ktorý sa používa v interprete a vo všetkých backendoch dynamickej prekompilácie (DynaRec). Nový dekodér univerzálne spracováva zriedkavé kombinácie prefixov opkódov a umožňuje vyhnúť sa špecifickým „hackom“ a duplikácii kódu v interprete a backendoch DynaRec. Prepracovanie dekodéra viedlo k odstráneniu nadbytočného kódu, zjednodušeniu údržby kódovej základne a umožnilo DynaRec pracovať s netypickými kombináciami prefixov opkódov.
  • Začala sa práca na mechanizme na odstránenie blokov kódu z pamäte, ktoré boli prevedené na natívny kód, ale už sa nepoužívajú. Takáto optimalizácia znižuje spotrebu pamäte pri spúšťaní aplikácií, ktoré vykonávajú veľké množstvo operácií pri štarte, ako sú Steam a aplikácie využívajúce libcef.
  • Zlepšená podpora architektúry ARM64: Implementovaný profil kompilácie pre CPU NVIDIA GB10. V backende dynamickej prekompilácie (DynaRec) pokračuje realizácia techník optimalizácie cyklov, ako je presun operácií nastavenia registrov XMM/YMM z tela cyklu.
  • Zvýšená stabilita a výkon backendu dynamickej prekompilácie pre architektúru RISC-V. Zabezpečené správne spustenie Steam, Proton a Wine, ale pre prácu s chráneným DRM obsahom, ktorý vyžaduje emuláciu systémových volaní Windows, je potrebné hardvér s podporou 48-bitového adresného priestoru (SV48) alebo používať modifikované verzie Wine a Proton.
  • Vývoj backendu pre architektúru Loongarch pokročil a umožňuje spustenie Steam, Wine a Proton, no zatiaľ zaostáva za funkcionalitou backendu pre systémy ARM64. Na prevádzku je zatiaľ potrebné používanie stránkovania pamäte s veľkosťou 4K (pre Loongarch je predvolene nastavené 16K). Výkon je už dostatočný na spustenie hier na CPU Loongarch 3A6000 (2,5 GHz so 4 fyzickými jadrami).
    Prehrajte video
  • Zvýšila sa stabilita režimu Box32, ktorý zabezpečuje podporu 32-bitových spustiteľných súborov v Box64. V tomto režime bola zaznamenaná vyššia stabilita funkčnosti Steam na všetkých architektúrach a možnosť používania herných overlayov v niektorých hrách OpenGL.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster