Vydání Box64 0.4.0, emulátoru pro spuštění x86 her na systémech ARM64, RISC-V a Loongarch64.

Byla vydána verze emulátoru Box64 0.4.0, určeného pro spuštění Linuxových programů sestavených pro architekturu x86_64 na zařízeních s procesory ARM64, RISC-V a Loongarch64. Projekt klade velký důraz na organizaci spuštění herních aplikací a poskytuje možnost spouštění Windows verzí prostřednictvím Wine a Proton. Zdrojové kódy projektu jsou napsány v jazyce C a šíří se pod licencí MIT.

Charakteristika projektu spočívá v použití hybridního modelu vykonávání, při kterém se emulace aplikuje pouze na strojový kód aplikace a specifických knihovnách. Standardní systémové knihovny, včetně libc, libm, GTK, SDL, Vulkan a OpenGL, jsou nahrazovány varianty nativními pro cílové platformy. Tímto způsobem se knihovní volání vykonávají bez emulace, což umožňuje dosáhnout značného zvýšení výkonu.

Emulace kódu, pro který neexistují nativní alternativy pro cílovou platformu, se provádí pomocí techniky dynamické překompilace (DynaRec) z jedné sady strojových instrukcí do druhé. Ve srovnání s interpretací strojových instrukcí dynamická překompilace vykazuje rychlost 5-10krát vyšší. vysoký výkon.

V nové verzi:

  • Byl představen unifikovaný dekodér prefixů operací (prefix opcode decoder), používaný v interpretru a ve všech backendových systémech dynamické překompilace (DynaRec). Nový dekodér univerzálněji zpracovává vzácné kombinace prefixů opkodů a umožňuje se obejít bez specifických 'hacků' a duplikace kódu v interpretu a backendech DynaRec. Předělání dekodéru vedlo k odstranění nadbytečného kódu, zjednodušení údržby kódové základny a možnosti DynaRec pracovat s netypickými kombinacemi prefixů opkodů.
  • Začala pracovat na mechanismu pro odstranění bloků kódu z paměti, které byly převedeny na nativní kód, ale již nejsou využívány. Taková optimalizace umožňuje snížit spotřebu paměti při spuštění aplikací, které vykonávají velké množství operací při startu, jako je Steam a aplikace používající libcef.
  • Zlepšena podpora architektury ARM64: Bylo realizováno sestavení profilu pro CPU NVIDIA GB10. V backendu dynamické překompilace (DynaRec) pokračuje realizace technik optimalizace cyklů, jako je vyčlenění operací nastavování registrů XMM/YMM z těla cyklu.
  • Zvýšena stabilita a výkon backendu dynamické překompilace pro architekturu RISC-V. Zajištěno správné spuštění Steam, Proton a Wine, ale pro práci s chráněným DRM obsahem, který vyžaduje emulaci systémových volání Windows, je potřebné hardware, které podporuje 48bitový adresní prostor (SV48) nebo využití upravených verzí Wine a Proton.
  • Vývoj backendu pro architekturu Loongarch značně pokročil a je nyní schopen spustit Steam, Wine a Proton, avšak za funkcionalitou zatím zaostává za backendem pro systémy ARM64. Pro provoz je stále nutné využívat v jádře paměťové stránky o velikosti 4K (standardně se pro Loongarch obvykle nastavuje 16K). Výkon už stačí na spuštění her na CPU Loongarch 3A6000 (2,5 GHz s 4 fyzickými jádry).
    Přehrát video
  • Byla zvýšena stabilita režimu Box32, který zajišťuje podporu 32bitových spustitelných souborů v Box64. V tomto režimu byla zaznamenána vyšší stabilita provozu Steamu ve všech architekturách a možnost použití herních overlayů v některých hrách OpenGL.

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