Box86 ja Box64 emulaatorite uued versioonid, mis võimaldavad teil käitada x86 mänge ARM-süsteemides

Välja on antud Box86 0.2.6 ja Box64 0.1.8 emulaatorite versioonid, mis on loodud töötama Linux- programmid, mis on loodud x86 ja x86_64 arhitektuuridele riistvaral, millel on ARM, ARM64, PPC64LE ja RISC-V protsessorid. Projekte arendab sünkroonselt üks arendajate meeskond: Box86 piirdub 32-bitiste x86 rakenduste käitamisega, samas kui Box64 võimaldab käitada 64-bitiseid käivitatavaid faile. Projekt rõhutab mängurakenduste käivitamise korraldamist, sealhulgas võimalust käivitada Windows-ehitatakse Wine'i ja Protoni abil. Projekti lähtekood on kirjutatud C-keeles ja levitatakse (Box86, Box64) MIT-litsentsi alusel.

Projekti eripäraks on hübriidkäivitusmudeli kasutamine, mille puhul emuleerimist rakendatakse ainult rakenduse enda ja konkreetsete teekide masinkoodile. Üldised süsteemiteegid, sealhulgas libc, libm, GTK, SDL, Vulkan ja OpenGL, asendatakse sihtplatvormidele omaste variantidega. Seega teostatakse teegikutsed ilma emuleerimiseta, mis võimaldab jõudlust oluliselt suurendada.

Koodi emuleerimine, millel pole sihtplatvormi natiivseid asendusi, tehakse dünaamilise ümberkompileerimise (DynaRec) tehnikaga ühest masinakäskude komplektist teise. Võrreldes masinajuhiste tõlgendamisega näitab dünaamiline ümberkompileerimine 5-10 korda suuremat jõudlust.

Toimivustestides ületasid Box86 ja Box64 emulaatorid Armhf ja Aarch64 platvormidel töötades oluliselt QEMU ja FEX-emu projekte ning mõnes testis (glmark2, openarena) saavutasid need jõudluse, mis oli identne sihtplatvormi koostu käitamisega. . Arvutusmahukates 7-zip ja dav1d etalonides oli Box64 jõudlus 27–53% omarakenduse omast (võrreldes QEMU-ga 5–16% ja FEX-emu-ga 13–26%). Lisaks tehti võrdlus Rosetta 2 emulaatoriga, mida Apple kasutas x86 koodi käitamiseks ARM M1 kiibiga süsteemides. Rosetta 2 käivitas 7zip-põhise testi 71% ja Box64 57%.

Box86 ja Box64 emulaatorite uued versioonid, mis võimaldavad teil käitada x86 mänge ARM-süsteemides

Rakenduste ühilduvuse osas teenis 165 testitud mängust umbes 70% edukalt. Umbes 10% rohkem tööd, kuid teatud reservatsioonide ja piirangutega. Toetatud mängude hulka kuuluvad WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious ja enamik GameMakeri mänge. Mängudest, millega probleeme märgitakse, mainitakse Mono paketiga seotud Unity3D mootoril põhinevaid mänge, mille emuleerimine Monos kasutatava JIT-i kompilatsiooni tõttu veel alati ei toimi ning millel on ka üsna kõrge graafika nõuded, mida ARM-plaatidel alati ei saavutata. GTK rakendusteekide asendamine on praegu piiratud GTK2-ga (GTK3/4 asendamine ei ole täielikult rakendatud).

Peamised muudatused uutes väljaannetes:

  • Lisatud köide Vulkani raamatukogu jaoks. Lisatud on Vulkani ja DXVK graafika API tugi (DXGI, Direct3D 9, 10 ja 11 juurutamine Vulkani peal).
  • GTK teekide täiustatud köited. Lisatud sidumised gstreameri ja GTK rakendustes tavaliselt kasutatavate teekide jaoks.
  • Lisatud esialgne tugi (seni ainult tõlgendusrežiim) RISC-V ja PPC64LE arhitektuuridele.
  • SteamPlay ja Protoni kihi toe parandamiseks on tehtud parandusi. See tagab paljude rakenduste käivitamise võimaluse. Linux и Windows Steami mängud AArch64 tahvlitel, näiteks Raspberry Pi 3 ja 4.
  • Täiustatud mäluhaldus, mmapi käitumine ja mälukaitse rikkumiste jälgimine.
  • Täiustatud tugi libc-s kloonimise süsteemikutsele. Lisatud tugi uutele süsteemikõnedele.
  • Dünaamilises ümberkompileerimismootoris on täiustatud tööd SSE/x87 registritega, lisatud on uute masinkoodide tugi, optimeeritud ujukarvude ja topeltarvude teisendusi, täiustatud sisemiste hüpete töötlemist ning uute arhitektuuride tugi. lihtsustatud.
  • Täiustatud ELF-failide üleslaadija.

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster