Mefuta e mecha ea li-emulators tsa Box86 le Box64 tse u lumellang ho tsamaisa lipapali tsa x86 lits'ebetsong tsa ARM.

Likhatiso tsa Box86 0.2.6 le Box64 0.1.8 li emulators li hatisitsoe, tse etselitsoeng ho tsamaisa mananeo a Linux a hlophisitsoeng bakeng sa meralo ea x86 le x86_64 lisebelisoa tse nang le li-processor tsa ARM, ARM64, PPC64LE le RISC-V. Merero e ntlafatsoa ka tumellano ke sehlopha se le seng sa bahlahisi - Box86 e lekanyelitsoe ho bokhoni ba ho tsamaisa lits'ebetso tsa 32-bit x86, 'me Box64 e fana ka bokhoni ba ho tsamaisa li-executable tsa 64-bit. Morero o ela hloko haholo ho hlophisa ho thakholoa ha lits'ebetso tsa lipapali, ho kenyelletsa le ho fana ka bokhoni ba ho qala Windows e ahang ka veine le Proton. Khoutu ea mohloli oa projeke e ngotsoe ho C mme e ajoa (Lebokose la86, Box64) tlasa laesense ea MIT.

Karolo ea morero ke ts'ebeliso ea mohlala oa ts'ebetso e nyalisitsoeng, eo ho eona emulation e sebelisoang feela ho khoutu ea mochini oa kopo ka boeona le lilaebraring tse ikhethileng. Lilaeborari tse tloaelehileng tsa sistimi, ho kenyeletsoa libc, libm, GTK, SDL, Vulkan le OpenGL, li nkeloa sebaka ke likhetho tse tsoang ho li-platform tse shebiloeng. Ka tsela ena, mehala ea laeborari e etsoa ntle le ho etsisoa, e bakang phaello e kholo ea ts'ebetso.

Emulation ea khoutu eo ho se nang tse nkeloang sebaka sethaleng se lebisitsoeng ho etsoa ho sebelisoa mokhoa oa dynamic recompilation (DynaRec) ho tloha sehlopheng se seng sa litaelo tsa mochini ho ea ho se seng. Ha ho bapisoa le litaelo tsa mochini oa ho fetolela, poeletso e matla e bonts'a ts'ebetso e phahameng ka makhetlo a 5-10.

Litekong tsa ts'ebetso, li-emulators tsa Box86 le Box64, ha li ne li etsoa sethaleng sa Armhf le Aarch64, li ile tsa atleha haholo ho feta merero ea QEMU le FEX-emu, 'me litekong tsa motho ka mong (glmark2, openarena) li fihletse ts'ebetso e ts'oanang le ea ho tsamaisa kopano ea matsoalloa ho sepheo. sethala. Litekong tse matla tsa 7-zip le dav1d, ts'ebetso ea Box64 e ne e tloha ho 27% ho isa ho 53% ea ts'ebetso ea ts'ebetso ea tlhaho (ha ho bapisa, QEMU e fihletse 5-16%, le FEX-emu 13-26%). Ho feta moo, papiso e entsoe le emulator ea Rosetta 2, e sebelisoang ke Apple ho tsamaisa khoutu ea x86 lits'ebetsong tse nang le chip ea M1 ARM. Rosetta 2 e fane ka tlhahlobo e thehiloeng ho 7zip ka ts'ebetso ea 71% ea moaho oa lehae, le Box64 - 57%.

Mefuta e mecha ea li-emulators tsa Box86 le Box64 tse u lumellang ho tsamaisa lipapali tsa x86 lits'ebetsong tsa ARM.

Mabapi le ho lumellana le lits'ebetso, ho lipapali tse 165 tse lekiloeng, tse ka bang 70% li sebelitse ka katleho. Hoo e ka bang mosebetsi o mong oa 10%, empa ka lipehelo le lithibelo tse itseng. Lipapali tse tšehelitsoeng li kenyelletsa WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, Risk of Rain, Cook Serve Delicious le lipapali tse ngata tsa GameMaker. Har'a lipapali tseo mathata a 'nileng a hlokomeloa ka tsona, ho buuoa ka lipapali tse thehiloeng ho enjene ea Unity3D, e hokahaneng le sephutheloana sa Mono, seo mohlala oa sona o sa sebetseng kamehla ka lebaka la ho bokella JIT e sebelisoang Mono, hape e na le toka. litlhokahalo tse phahameng tsa litšoantšo tse sa fihlelleheng ka linako tsohle libotong tsa ARM. Ho nkela sebaka sa lilaebrari tsa likopo tsa GTK hajoale ho lekanyelitsoe ho GTK2 (ho nkela sebaka sa GTK3/4 ha ho e-so kenngoe tšebetsong ka botlalo).

Liphetoho tse kholo litabeng tse ncha:

  • E kentse tlamo bakeng sa laeborari ea Vulkan. Tšehetso e ekelitsoeng bakeng sa API ea litšoantšo tsa Vulkan le DXVK (ts'ebetsong ea DXGI, Direct3D 9, 10 le 11 holim'a Vulkan).
  • Litlamo tse ntlafalitsoeng bakeng sa lilaebrari tsa GTK. Litlamo tse kentsoeng bakeng sa gstreamer le lilaebrari tse sebelisoang hangata lits'ebetsong tsa GTK.
  • E kentse tšehetso ea pele (mokhoa oa ho fetolela feela hajoale) bakeng sa meralo ea RISC-V le PPC64LE.
  • Litokiso li entsoe ho ntlafatsa tšehetso bakeng sa SteamPlay le lera la Proton. E fana ka bokhoni ba ho tsamaisa lipapali tse ngata tsa Linux le Windows ho tsoa ho Steam ho liboto tsa AArch64 joalo ka Raspberry Pi 3 le 4.
  • Taolo e ntlafalitsoeng ea memori, ts'ebetso ea mmap, le ts'ireletso ea ts'ireletso ea memori.
  • Ts'ehetso e ntlafalitsoeng bakeng sa mohala oa sistimi ea clone ho libc. Ts'ehetso e ekelitsoeng bakeng sa mehala e ncha ea sistimi.
  • Enjene e matla ea ho khutlisa e ntlafalitse mosebetsi ka liregistara tsa SSE / x87, tšehetso e ekelitsoeng bakeng sa likhoutu tse ncha tsa mochini, liphetoho tse ntlafalitsoeng tsa linomoro tsa float le habeli, ts'ebetso e ntlafalitsoeng ea liphetoho tsa kahare, le ho nolofatsa tlatsetso ea tšehetso bakeng sa meralo e mecha.
  • Sesebelisoa sa faele sa ELF se ntlafalitsoeng.

Source: opennet.ru

Eketsa ka tlhaloso