Izinguqulo ezintsha ze-Box86 kanye ne-Box64 emulators, ekuvumela ukuthi usebenzise imidlalo ye-x86 kumasistimu e-ARM

Ukukhishwa kwezilingisi ze-Box86 0.2.6 kanye ne-Box64 0.1.8 kushicilelwe, okuklanyelwe ukusebenzisa izinhlelo ze-Linux ezihlanganiselwe izakhiwo ze-x86 kanye ne-x86_64 kumishini enamaphrosesa we-ARM, ARM64, PPC64LE kanye ne-RISC-V. Amaphrojekthi athuthukiswa ngokuhambisana neqembu elilodwa lonjiniyela - I-Box86 ikhawulelwe ekhonweni lokusebenzisa izinhlelo zokusebenza ze-32-bit x86, futhi i-Box64 inikeza amandla okusebenzisa okusebenzisekayo okungu-64-bit. Le phrojekthi inaka kakhulu ukuhlela ukwethulwa kwezinhlelo zemidlalo, okuhlanganisa nokuhlinzeka ngekhono lokwethula ukwakhiwa kweWindows ngewayini neProton. Ikhodi yomthombo yephrojekthi ibhalwe ngo-C futhi yasatshalaliswa (Box86, Box64) ngaphansi kwelayisensi ye-MIT.

Isici sephrojekthi ukusetshenziswa kwemodeli yokusebenzisa eyingxube, lapho ukulingisa kusetshenziswa kuphela ikhodi yomshini yohlelo lokusebenza ngokwalo kanye nemitapo yolwazi ethile. Imitapo yolwazi yesistimu evamile, ehlanganisa i-libc, i-libm, i-GTK, i-SDL, i-Vulkan ne-OpenGL, ithathelwa indawo izinketho zomdabu ezisekelweni eziqondiwe. Ngale ndlela, izingcingo zelabhulali zenziwa ngaphandle kokulingisa, okuholela ezinzuzweni eziphawulekayo zokusebenza.

Ukulingiswa kwekhodi okungekho okushintshiwe okuvela endaweni okuqondiswe kuyo kwenziwa kusetshenziswa indlela yokuhlanganisa kabusha okuguquguqukayo (i-DynaRec) ukusuka kusethi eyodwa yemiyalo yomshini iye kwenye. Uma kuqhathaniswa nemiyalelo yomshini wokuhumusha, ukuhlanganisa kabusha okuguquguqukayo kubonisa ukusebenza okuphezulu okuphindwe izikhathi ezingu-5-10.

Ekuhlolweni kokusebenza, ama-emulators we-Box86 kanye ne-Box64, lapho esetshenziswa kunkundla ye-Armhf ne-Aarch64, asebenze kahle kakhulu kunamaphrojekthi we-QEMU kanye ne-FEX-emu, futhi ekuhlolweni ngakunye (glmark2, openarena) azuze ukusebenza okufana nokuqhuba umhlangano wendabuko kulokho okuhlosiwe. inkundla. Ekuhlolweni kwe-Compute-7-zip kanye ne-dav1d, ukusebenza kwe-Box64 kusuka ku-27% kuya ku-53% wokusebenza kohlelo lokusebenza lwendabuko (uma siqhathanisa, i-QEMU ibonise imiphumela engu-5-16%, futhi i-FEX-emu - 13-26% ). Ukwengeza, ukuqhathanisa kwenziwa ne-emulator ye-Rosetta 2, esetshenziswa i-Apple ukusebenzisa ikhodi ye-x86 kumasistimu ane-chip ye-M1 ARM. I-Rosetta 2 inikeze ukuhlolwa okusekelwe ku-7zip ngokusebenza okungu-71% kwesakhiwo somdabu, kanye ne-Box64 - 57%.

Izinguqulo ezintsha ze-Box86 kanye ne-Box64 emulators, ekuvumela ukuthi usebenzise imidlalo ye-x86 kumasistimu e-ARM

Mayelana nokuhambisana nezinhlelo zokusebenza, emidlalweni engu-165 ehloliwe, cishe u-70% usebenze ngempumelelo. Cishe omunye umsebenzi ongu-10%, kodwa ngokubhukha okuthile nemikhawulo. Imidlalo esekelwayo ihlanganisa i-WorldOfGoo, i-Airline Tycoon Deluxe, i-FTL, i-Undertale, i-A Risk of Rain, i-Cook Serve Delicious kanye nemidlalo eminingi ye-GameMaker. Phakathi kwemidlalo okuphawulwe ngayo izinkinga, kukhulunywa ngemidlalo esuselwe enjinini ye-Unity3D, eboshelwe kuphakheji ye-Mono, ukulingisa kwayo kungasebenzi ngaso sonke isikhathi ngenxa yokuhlanganiswa kwe-JIT esetshenziswe e-Mono, futhi futhi inephutha izimfuneko zezithombe eziphezulu ezingatholakali ngaso sonke isikhathi kumabhodi e-ARM. Ukufakwa esikhundleni kwemitapo yolwazi yezicelo ze-GTK okwamanje kukhawulelwe ku-GTK2 (ukufaka esikhundleni se-GTK3/4 akwenziwanga ngokugcwele).

Izinguquko eziyinhloko ekukhishweni okusha:

  • Kungezwe ukubophezela kulabhulali ye-Vulkan. Ukwesekwa okwengeziwe kwe-Vulkan ne-DXVK graphics API (ukusetshenziswa kwe-DXGI, Direct3D 9, 10 kanye no-11 phezu kwe-Vulkan).
  • Izibopho ezithuthukisiwe zamalabhulali e-GTK. Izibopho ezingeziwe ze-gstreamer namalabhulali avame ukusetshenziswa ezinhlelweni zokusebenza ze-GTK.
  • Kwengezwe usekelo lokuqala (imodi yokuhumusha kuphela okwamanje) ye-RISC-V ne-PPC64LE yezakhiwo.
  • Ukulungiswa kwenziwe ukuthuthukisa ukwesekwa kweSteamPlay kanye nesendlalelo seProton. Inikeza amandla okusebenzisa imidlalo eminingi ye-Linux ne-Windows kusuka ku-Steam kumabhodi we-AArch64 afana ne-Raspberry Pi 3 ne-4.
  • Ukuphathwa kwenkumbulo okuthuthukisiwe, ukusebenza kwe-mmap, nokulandelela ukuphulwa kokuvikela inkumbulo.
  • Usekelo oluthuthukisiwe lwekholi yesistimu ye-clone ku-libc. Usekelo olungeziwe lwamakholi wesistimu entsha.
  • Injini yokuhlanganisa eguquguqukayo ithuthukise umsebenzi ngamarejista e-SSE/x87, yengeza ukusekelwa kwamakhodi emishini emisha, ukuguqulwa okulungiselelwe kwezinombolo ezintantayo neziphindwe kabili, ukucutshungulwa okuthuthukisiwe koshintsho lwangaphakathi, nokwenza lula ukungezwa kokusekelwa kwezakhiwo ezintsha.
  • Isilayishi sefayela se-ELF esithuthukisiwe.

Source: opennet.ru

Engeza amazwana