Mabumbiro eBox86 0.2.6 neBox64 0.1.8 emulators aburitswa, akagadzirirwa kushanda Linux- mapurogiramu akavakirwa maarchitecture e x86 ne x86_64, pahardware ine ma processor e ARM, ARM64, PPC64LE, uye RISC-V. Mapurojekiti aya anogadzirwa pamwe chete nechikwata chimwe chete chevagadziri: Box86 inongogumira pakumhanyisa maapplication e 32-bit x86, nepo Box64 ichigonesa kumhanyisa ma executable e 64-bit. Purojekiti iyi inosimbisa zvikuru kuronga kutanga kwemaapplication emitambo, kusanganisira kupa kugona kumhanya Windows-inovaka kuburikidza neWine neProton. Kodhi yeprojekiti iyi yakanyorwa muC uye inogoverwa (Box86, Box64) pasi perezenisi reMIT.
Chinhu chepurojekiti iko kushandiswa kweiyo hybrid execution modhi, umo emulation inoiswa chete kune yemuchina kodhi yekushandisa pachayo uye chaiwo maraibhurari. Yakajairika system maraibhurari, anosanganisira libc, libm, GTK, SDL, Vulkan uye OpenGL, anotsiviwa nesarudzo dzakaberekerwa kumapuratifomu anonangwa. Nenzira iyi, mafoni eraibhurari anoitwa pasina kuteedzera, zvichikonzera kuwana kwakakosha kwekuita.
Emulation yekodhi iyo isina inotsiviwa yekwakanangana nepuratifomu inoitwa uchishandisa hunyanzvi hwekudzoreredza (DynaRec) kubva kune imwe seti yemirairo yemuchina kuenda kune imwe. Kuenzaniswa nemirairo yemuchina wekududzira, kudzokorodza kwesimba kunoratidza 5-10 nguva dzepamusoro kuita.
Mukuyedzwa kwekuita, Bhokisi86 neBhokisi64 emulators, payakaurayiwa paArmhf neAarch64 mapuratifomu, yakakunda zvakanyanya mapurojekiti eQEMU neFEX-emu, uye mumabvunzo ega ega (glmark2, openarena) vakawana kuita kwakafanana nekumhanyisa gungano rekuzvarwa kune chinangwa. platform. Mumiyedzo ye7-zip uye dav1d yemakomputa, mashandiro eBox64 aibva pa27% kusvika pa53% yekushanda kwechikumbiro chemuno (pakuenzanisa, QEMU yakawana 5-16%, uye FEX-emu 13-26%). Pamusoro pezvo, kuenzanisa kwakaitwa neRosetta 2 emulator, yakashandiswa naApple kumhanya x86 kodhi pane masisitimu ane M1 ARM chip. Rosetta 2 yakapa iyo 7zip-yakavakirwa bvunzo nekuita kwe71% yezvakavakwa, uye Bhokisi64 - 57%.

Kana iri yekuenderana nemaapplication, kubva mumitambo zana nemakumi matanhatu neshanu yakaedzwa, ingangoita makumi manomwe muzana yakashanda zvinobudirira. Nezve imwe 165% basa, asi nekumwe kuchengetedza uye kurambidzwa. Mitambo inotsigirwa inosanganisira WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious uye yakawanda GameMaker mitambo. Pakati pemitambo iyo matambudziko akacherechedzwa, kutaurwa kunoitwa mitambo yakavakirwa paiyo Unity70D injini, iyo yakasungirirwa kuMono package, iyo emulation iyo isingashande nguva dzose nekuda kwekuunganidzwa kweJIT kunoshandiswa muMono, uye zvakare ine zvakaringana. yakakwirira magiraidhi zvinodiwa izvo zvisingawanzo kuwanikwa pamabhodhi eARM. Kutsiviwa kwemaraibhurari ekushandisa eGTK parizvino kwakaganhurirwa kuGTK10 (kutsiva GTK3/2 hakuna kuitwa zvizere).
Shanduko huru mune zvitsva zvinoburitswa:
- Yakawedzerwa inosungirwa kuraibhurari yeVulkan. Yakawedzerwa rutsigiro rweVulkan uye DXVK mifananidzo API (kuitwa kweDXGI, Direct3D 9, 10 uye 11 pamusoro peVulkan).
- Kusungirirwa kwakavandudzwa kwemaraibhurari eGTK. Yakawedzerwa zvinosungirwa zve gstreamer uye maraibhurari anowanzo shandiswa muGTK application.
- Yakawedzera rutsigiro rwekutanga (chete kududzira modhi ikozvino) yeRISC-V uye PPC64LE zvivakwa.
- Kugadziriswa kwakaitwa kuti SteamPlay neProton layer zvivandudzwe. Izvi zvinoita kuti pave nekukwanisa kumhanya mitambo yakawanda. Linux и Windows Mitambo yeSteam pamabhodhi eAArch64 senge Raspberry Pi 3 ne4.
- Yakavandudzwa ndangariro manejimendi, mmap mashandiro, uye ndangariro kudzivirira kutyorwa kwekutevera.
- Yakavandudzwa rutsigiro rweiyo clone system call mu libc. Yakawedzera rutsigiro rwekufona system nyowani.
- Injini yekudzoreredza ine simba yakavandudza basa nemarejisita eSSE/x87, yakawedzera tsigiro yemakodhi emichina mitsva, shanduko yakagadziridzwa yenhamba uye nhamba mbiri, kugadziridzwa kweshanduko yemukati, uye kurerutsa kuwedzera kwerutsigiro rwezvivakwa zvitsva.
- Yakavandudzwa ELF file loader.
Source: opennet.ru
