Versi anyar saka emulator Box86 lan Box64, ngidini sampeyan mbukak game x86 ing sistem ARM

Rilis emulator Box86 0.2.6 lan Box64 0.1.8 wis diterbitake, dirancang kanggo mbukak program Linux sing disusun kanggo arsitektur x86 lan x86_64 ing peralatan karo prosesor ARM, ARM64, PPC64LE lan RISC-V. Proyek dikembangake kanthi bebarengan dening siji tim pangembang - Box86 diwatesi kanggo mbukak aplikasi 32-bit x86, lan Box64 nyedhiyakake kemampuan kanggo mbukak executable 64-bit. Proyek kasebut menehi perhatian gedhe kanggo ngatur peluncuran aplikasi game, kalebu nyedhiyakake kemampuan kanggo miwiti Windows builds liwat anggur lan Proton. Kode sumber proyek kasebut ditulis ing C lan disebarake (Box86, Box64) miturut lisensi MIT.

Fitur saka proyek kasebut yaiku nggunakake model eksekusi hibrida, sing emulasi mung ditrapake kanggo kode mesin aplikasi kasebut dhewe lan perpustakaan tartamtu. Pustaka sistem khas, kalebu libc, libm, GTK, SDL, Vulkan lan OpenGL, diganti karo opsi asli saka platform target. Kanthi cara iki, telpon perpustakaan dieksekusi tanpa emulasi, ngasilake kinerja sing signifikan.

Emulasi kode sing ora ana panggantos asli saka platform target ditindakake kanthi nggunakake teknik kompilasi ulang dinamis (DynaRec) saka siji set instruksi mesin menyang liyane. Dibandhingake karo instruksi mesin interpretasi, kompilasi dinamis nuduhake kinerja 5-10 kaping luwih dhuwur.

Ing tes kinerja, emulator Box86 lan Box64, nalika dieksekusi ing platform Armhf lan Aarch64, luwih unggul tinimbang proyek QEMU lan FEX-emu, lan ing tes individu (glmark2, opennarena) padha entuk kinerja sing padha karo nglakokake perakitan asli kanggo target. platform. Ing tes 7-zip lan dav1d sing intensif komputasi, kinerja Box64 antara 27% nganti 53% saka kinerja aplikasi asli (kanggo mbandhingake, QEMU nuduhake asil 5-16%, lan FEX-emu - 13-26% ). Kajaba iku, perbandingan digawe karo emulator Rosetta 2, digunakake dening Apple kanggo mbukak kode x86 ing sistem kanthi chip M1 ARM. Rosetta 2 nyedhiyakake tes basis 7zip kanthi kinerja 71% saka bangunan asli, lan Box64 - 57%.

Versi anyar saka emulator Box86 lan Box64, ngidini sampeyan mbukak game x86 ing sistem ARM

Kanggo kompatibilitas karo aplikasi, saka 165 game sing diuji, kira-kira 70% bisa sukses. About liyane 10% karya, nanging karo leladen lan Watesan tartamtu. Game sing didhukung kalebu WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious lan paling game GameMaker. Antarane game sing masalah wis dicathet, disebutake game adhedhasar mesin Unity3D, sing disambungake menyang paket Mono, emulasi sing ora mesthi bisa digunakake amarga kompilasi JIT sing digunakake ing Mono, lan uga cukup. syarat grafis dhuwur sing ora tansah achievable ing Papan ARM. Substitusi perpustakaan aplikasi GTK saiki diwatesi menyang GTK2 (substitusi GTK3/4 durung rampung).

Owah-owahan utama ing rilis anyar:

  • Added naleni kanggo perpustakaan Vulkan. Dhukungan ditambahake kanggo API grafis Vulkan lan DXVK (implementasi DXGI, Direct3D 9, 10 lan 11 ing ndhuwur Vulkan).
  • Ikatan sing luwih apik kanggo perpustakaan GTK. Nambahake bindings kanggo gstreamer lan perpustakaan sing umum digunakake ing aplikasi GTK.
  • Nambahake dhukungan awal (mung mode interpretasi saiki) kanggo arsitektur RISC-V lan PPC64LE.
  • Ndandani wis digawe kanggo nambah dhukungan kanggo SteamPlay lan lapisan Proton. Nyedhiyakake kemampuan kanggo mbukak akeh game Linux lan Windows saka Steam ing papan AArch64 kayata Raspberry Pi 3 lan 4.
  • Manajemen memori sing luwih apik, kinerja mmap, lan nelusuri pelanggaran proteksi memori.
  • Dhukungan sing luwih apik kanggo telpon sistem klon ing libc. Dhukungan tambahan kanggo telpon sistem anyar.
  • Mesin recompilation dinamis wis nambah karya karo SSE / x87 ndhaftar, nambah support kanggo kode mesin anyar, konversi optimized saka float lan nomer pindho, Processing apik saka transisi internal, lan simplified tambahan support kanggo arsitektur anyar.
  • Apik ELF file loader.

Source: opennet.ru

Add a comment