Mitundu yatsopano ya ma emulators a Box86 ndi Box64 omwe amakulolani kuyendetsa masewera a x86 pamakina a ARM

Zotulutsidwa za ma emulators a Box86 0.2.6 ndi Box64 0.1.8 zasindikizidwa poyendetsa mapulogalamu a Linux omangidwa ndi x86 ndi x86_64 mapurosesa a ARM, ARM64, PPC64LE ndi RISC-V. Mapulojekiti amakula molumikizana ndi gulu limodzi lachitukuko - Box86 ili ndi malire pakutha kuyendetsa mapulogalamu a 32-bit x86, pomwe Box64 imapereka mwayi wogwiritsa ntchito 64-bit. Pulojekitiyi imayang'ana kwambiri pokonzekera kukhazikitsidwa kwa mapulogalamu a masewera, kuphatikizapo kuthekera koyambitsa Windows kumanga kudzera mu vinyo ndi Proton. Zolemba zoyambira polojekitiyi zimalembedwa m'chilankhulo cha C ndikugawidwa (Box86, Box64) pansi pa layisensi ya MIT.

Mbali ya polojekitiyi ndikugwiritsa ntchito njira yophatikizira yosakanizidwa, momwe kutsanzira kumangogwiritsidwa ntchito pamakina a pulogalamuyo komanso malaibulale ena. Malaibulale amtundu wageneric, kuphatikiza libc, libm, GTK, SDL, Vulkan, ndi OpenGL, asinthidwa ndi mitundu yosiyanasiyana yomwe imachokera pamapulatifomu. Chifukwa chake, mafoni a laibulale amachitidwa popanda kutengera, zomwe zimapangitsa kuti ntchito ichuluke kwambiri.

Kutengera kachidindo komwe kulibe zolowa m'malo mwa nsanja yomwe mukufuna kutsata kumachitidwa pogwiritsa ntchito njira ya dynamic recompilation (DynaRec) kuchokera pagulu la malangizo amakina kupita kwina. Poyerekeza ndi kutanthauzira malangizo makina, recompilation zazikulu zimasonyeza 5-10 nthawi apamwamba ntchito.

M'mayesero a magwiridwe antchito, pothamanga pa nsanja za Armhf ndi Aarch86, oyimira a Box64 ndi Box64 adapambana kwambiri mapulojekiti a QEMU ndi FEX-emu, ndipo pamayeso ena (glmark2, openarena) adakwaniritsa ntchito yofanana ndi kuyendetsa gulu lomwe likubwera pamalo omwe mukufuna. . M'ma benchmarks ozama kwambiri a 7-zip ndi dav1d, machitidwe a Box64 anali pakati pa 27% ndi 53% ya omwe akugwiritsa ntchito (poyerekeza ndi QEMU pa 5-16% ndi FEX-emu pa 13-26%). Kuphatikiza apo, kuyerekeza kunapangidwa ndi emulator ya Rosetta 2 yogwiritsidwa ntchito ndi Apple kuyendetsa kachidindo ka x86 pamakina okhala ndi chipangizo cha ARM M1. Rosetta 2 idayesa mayeso ozikidwa pa 7zip pa 71% ya zomwe adamanga, ndi Box64 pa 57%.

Mitundu yatsopano ya ma emulators a Box86 ndi Box64 omwe amakulolani kuyendetsa masewera a x86 pamakina a ARM

Pankhani yofananira ndikugwiritsa ntchito, pamasewera 165 omwe adayesedwa, pafupifupi 70% adalandira bwino. Pafupifupi 10% ntchito zambiri, koma ndi kusungitsa ndi zoletsa zina. Masewera othandizira akuphatikiza WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, Risk of Rain, Cook Serve Delicious ndi masewera ambiri a GameMaker. Pamasewera omwe amakumana ndi zovuta, masewera ozikidwa pa injini ya Unity3D amatchulidwa, omwe amamangiriridwa ku phukusi la Mono, kutsanzira komwe sikumagwira ntchito nthawi zonse chifukwa cha kuphatikiza kwa JIT komwe kumagwiritsidwa ntchito ku Mono, komanso kumakhala ndi zithunzi zambiri. zofunikira zomwe sizimatheka nthawi zonse pama board a ARM. Kusintha malaibulale a pulogalamu ya GTK pano kuli kokha GTK2 (kuchotsa GTK3/4 sikunakwaniritsidwe kwathunthu).

Zosintha zazikulu pazotulutsa zatsopano:

  • Zowonjezera zomangirira laibulale ya Vulkan. Thandizo lowonjezera la API ya zithunzi za Vulkan ndi DXVK (kukhazikitsa kwa DXGI, Direct3D 9, 10 ndi 11 pamwamba pa Vulkan).
  • Zomangira zokwezeka zama library a GTK. Zomangira zowonjezeredwa za gstreamer ndi malaibulale omwe amagwiritsidwa ntchito kwambiri pamapulogalamu a GTK.
  • Thandizo loyamba lowonjezera (mpaka pano njira yomasulira yokha) ya zomangamanga za RISC-V ndi PPC64LE.
  • Zokonza zolakwika zapangidwa kuti zithandizire kuthandizira kwa SteamPlay ndi wosanjikiza wa Proton. Ndizotheka kuyendetsa masewera ambiri a Linux ndi Windows kuchokera ku Steam pa AArch64 board monga Raspberry Pi 3 ndi 4.
  • Kuwongolera kukumbukira bwino, machitidwe a mmap, ndikuwunika kuphwanya chitetezo cha kukumbukira.
  • Thandizo lowongolera la call system ya clone mu libc. Thandizo lowonjezera pama foni atsopano.
  • Mu injini yowonjezera yowonjezera, ntchito ndi zolembera za SSE / x87 zakonzedwa bwino, chithandizo cha makina atsopano a makina awonjezedwa, kutembenuka kwa zoyandama ndi nambala ziwiri zakonzedwa, kukonza zodumphira mkati kwasinthidwa, ndipo kuthandizira kwa zomangamanga zatsopano kwasinthidwa. chosavuta.
  • Wokweza mafayilo a ELF okweza.

Source: opennet.ru

Kuwonjezera ndemanga