Tionndaidhean ùra de emuladairean Box86 agus Box64, a’ toirt cothrom dhut geamannan x86 a ruith air siostaman ARM

Chaidh fiosan de emuladairean Box86 0.2.6 agus Box64 0.1.8 fhoillseachadh, air an dealbhadh gus prògraman Linux a chuir ri chèile airson ailtireachd x86 agus x86_64 a ruith air uidheamachd le pròiseasairean ARM, ARM64, PPC64LE agus RISC-V. Tha pròiseactan air an leasachadh gu co-shìnte le aon sgioba de luchd-leasachaidh - tha Box86 air a chuingealachadh ris a’ chomas air tagraidhean 32-bit x86 a ruith, agus tha Box64 a’ toirt seachad comas gnìomhan 64-bit a ruith. Bidh am pròiseact a’ toirt deagh aire do bhith a’ cur air bhog tagraidhean geamannan, a’ toirt a-steach comas togail Windows a chuir air bhog tro fhìon agus Proton. Tha còd stòr a’ phròiseict sgrìobhte ann an C agus air a chuairteachadh (Box86, Box64) fo chead MIT.

Is e feart den phròiseact a bhith a’ cleachdadh modal cur gu bàs tar-chinealach, anns nach eil emulation air a chuir an sàs ach ri còd inneal an tagraidh fhèin agus leabharlannan sònraichte. Tha roghainnean a tha dùthchasach dha na h-àrd-ùrlaran targaid air an cur an àite leabharlannan siostam àbhaisteach, a’ gabhail a-steach libc, libm, GTK, SDL, Vulkan agus OpenGL. San dòigh seo, thèid gairmean leabharlainn a chuir gu bàs gun aithris, a’ leantainn gu buannachdan coileanaidh cudromach.

Bithear a’ dèanamh atharrais air còd far nach eil feadhainn a tha dùthchasach don àrd-ùrlar targaid a’ cleachdadh innleachd ath-chruinneachadh fiùghantach (DynaRec) bho aon sheata de stiùireadh inneal gu fear eile. An coimeas ri eadar-mhìneachadh stiùireadh inneal, tha ath-chruinneachadh fiùghantach a’ nochdadh coileanadh 5-10 tursan nas àirde.

Ann an deuchainnean coileanaidh, rinn na h-emuladairean Box86 agus Box64, nuair a chaidh an cur gu bàs air àrd-ùrlaran Armhf agus Aarch64, gu mòr na b’ fheàrr na pròiseactan QEMU agus FEX-emu, agus ann an deuchainnean fa leth (glmark2, openarena) choilean iad coileanadh co-ionann ri bhith a’ ruith co-chruinneachadh a bha dùthchasach don targaid. àrd-ùrlar. Anns na deuchainnean 7-zip agus dav1d coimpiutaireachd dian, bha coileanadh Box64 eadar 27% agus 53% de choileanadh an tagraidh dùthchasach (airson coimeas a dhèanamh, sheall QEMU toraidhean de 5-16%, agus FEX-emu - 13-26% ). A bharrachd air an sin, chaidh coimeas a dhèanamh leis an emuladair Rosetta 2, a chleachd Apple gus còd x86 a ruith air siostaman leis a’ chip M1 ARM. Thug Rosetta 2 seachad an deuchainn stèidhichte air 7zip le coileanadh de 71% den togail dùthchasach, agus Box64 - 57%.

Tionndaidhean ùra de emuladairean Box86 agus Box64, a’ toirt cothrom dhut geamannan x86 a ruith air siostaman ARM

A thaobh co-chòrdalachd le tagraidhean, a-mach à 165 geamannan a chaidh a dhearbhadh, dh’ obraich timcheall air 70% gu soirbheachail. Bidh timcheall air 10% eile ag obair, ach le cuid de chùisean glèidhte agus cuingealachaidhean. Am measg nan geamannan le taic tha WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious agus a’ mhòr-chuid de gheamannan GameMaker. Am measg nan geamannan leis an deach duilgheadasan a thoirt fa-near, thathas a’ toirt iomradh air geamannan stèidhichte air an einnsean Unity3D, a tha ceangailte ris a’ phacaid Mono, nach bi an emulation an-còmhnaidh ag obair air sgàth cruinneachadh JIT a chaidh a chleachdadh ann am Mono, agus cuideachd gu ìre mhath riatanasan grafaigs àrd nach eil an-còmhnaidh comasach air an coileanadh air bùird ARM. Tha ionadachadh leabharlannan tagraidh GTK an-dràsta cuingealaichte ri GTK2 (chan eil àiteachadh GTK3/4 air a làn bhuileachadh).

Prìomh atharrachaidhean ann am brathan ùra:

  • Ceangal air a chur ris airson leabharlann Vulkan. Taic a bharrachd airson API grafaigean Vulkan agus DXVK (buileachadh DXGI, Direct3D 9, 10 agus 11 a bharrachd air Vulkan).
  • Ceangalaichean nas fheàrr airson leabharlannan GTK. Ceangalaichean a bharrachd airson gstreamer agus leabharlannan air an cleachdadh gu cumanta ann an tagraidhean GTK.
  • Chuir sinn taic tùsail ris (modh eadar-mhìneachaidh a-mhàin airson a-nis) airson ailtireachd RISC-V agus PPC64LE.
  • Chaidh fuasglaidhean a dhèanamh gus taic airson SteamPlay agus an ìre Proton a leasachadh. A’ toirt seachad comas air mòran gheamannan Linux agus Windows a ruith bho Steam air bùird AArch64 leithid Raspberry Pi 3 agus 4.
  • Stiùireadh cuimhne nas fheàrr, coileanadh mmap, agus lorg briseadh dìon cuimhne.
  • Taic nas fheàrr airson gairm siostam clone ann an libc. Taic a bharrachd airson fiosan siostam ùr.
  • Tha an einnsean ath-chruinneachaidh fiùghantach air obair nas fheàrr le clàran SSE / x87, air taic a chuir ri còdan inneal ùra, atharrachaidhean as fheàrr de àireamhan fleòdraidh is dùbailte, giullachd nas fheàrr air eadar-ghluasadan a-staigh, agus air taic a bharrachd airson ailtireachd ùr a dhèanamh nas sìmplidhe.
  • Inneal luchdachadh faidhle ELF nas fheàrr.

Source: fosgailtenet.ru

Cuir beachd ann