Nove verzije Box86 i Box64 su već objavljene

Nedavno puštanje nove verzije Box86 0.2.6 i Box64 0.1.8 emulatori. Projekte sinhronizuje isti razvojni tim.

Box86 je ograničen na pokretanje 86-bitnih x32 aplikacija (kao što su igre) na ne-x86 Linux sistemima, kao što je ARM (host sistem mora biti 32-bitni little-endian). Stoga je za pokretanje i prevođenje Box32 potreban 86-bitni podsistem. Box86 je beskoristan samo na 64-bitnim sistemima. Također, potreban vam je 32-bitni lanac alata za kompajliranje Box86.

Budući da Box86 koristi izvorne verzije nekih "sistemskih" biblioteka, kao što su libc, libm, SDL i OpenGL, lako se integriše i koristi sa većinom aplikacija, a performanse mogu biti iznenađujuće visoke u mnogim slučajevima.

Isto važi i za Box64, samo što takvo i dozvoljava pokrenite 64-bitne izvršne datoteke. Projekat posvećuje veliku pažnju organizaciji izdavanja aplikacija za igre, uključujući mogućnost izdavanja Windows build-ova putem Wine i Protona.

Karakteristika projekta je korištenje hibridnog modela izvršenja, u kojem se emulacija primjenjuje samo na strojni kod same aplikacije i određene biblioteke. Generičke sistemske biblioteke, uključujući libc, libm, GTK, SDL, Vulkan i OpenGL, zamijenjene su izvornim varijantama na ciljnim platformama. Stoga se pozivi biblioteke izvršavaju bez emulacije, što omogućava značajno povećanje performansi.

Emuliranje koda koji nema izvorne zamjenes za ciljnu platformu se radi upotrebom tehnike dinamičke rekompilacije (DynaRec) iz jednog skupa mašinskih instrukcija u drugi. U poređenju sa tumačenjem mašinskih instrukcija, dinamička rekompilacija pokazuje 5 do 10 puta bolje performanse.

u testovima performansi, kada radi na platformama Armhf i Aarch64, Box86 i Box64 emulatori su značajno nadmašili QEMU i FEX-emu projekte a u nekim testovima (glmark2, openarena) postigli su performanse identične pokretanju asemblera koji je izvorni za ciljnu platformu.

U pogledu kompatibilnosti aplikacija, dOd 165 testiranih igara, približno 70% je bilo uspješno. Oko 10% više posla, ali uz određene rezerve i ograničenja.

Od igara sa kojima su uočeni problemi spominju se igre bazirane na Unity3D engine-u, koji je vezan za Mono paket, čija emulacija i dalje ne radi uvijek zbog JIT kompilacije koja se koristi u Mono, a također ima dosta visoke zahtjeve za grafiku to se ne može uvijek postići na ARM pločama. Zamjena biblioteka GTK aplikacija trenutno je ograničena na GTK2 (zamjena GTK3/4 nije u potpunosti implementirana).

Što se tiče glavne promjene u novim izdanjima, istaknuto je sljedeće:

  • Dodan link za Vulkan biblioteku. Dodata podrška za Vulkan i DXVK grafički API (implementacija DXGI, Direct3D 9, 10 i 11 preko Vulkana).
  • Poboljšano povezivanje za GTK biblioteke. Dodata veza za gstreamer i biblioteke koje se obično koriste u GTK aplikacijama.
  • Dodata početna podrška (za sada samo interpretacijski način) za RISC-V i PPC64LE arhitekture.
  • Ispravke grešaka su napravljene kako bi se poboljšala kompatibilnost sa SteamPlay-om i Proton Layer-om. Moguće je pokrenuti mnoge Linux i Windows igre iz Steama na AArch64 pločama kao što su Raspberry Pi 3 i 4.
  • Poboljšano upravljanje memorijom, ponašanje mmap-a i praćenje kršenja zaštite memorije.
  • Poboljšana podrška za sistemski poziv kloniranja u libc. Dodata podrška za nove sistemske pozive.
  • U motoru za dinamičku rekompilaciju, poboljšan je rad sa SSE/x87 registrima, dodata je podrška za nove mašinske kodove, optimizovane su float i duple konverzije, poboljšana je interna obrada grananja, Pojednostavljena podrška za nove arhitekture.
  • Poboljšan ELF učitavač datoteka.

Konačno, ako ste zainteresirani da saznate više o tome, možete pogledati detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.