Box86 ja Box64 uued versioonid on juba välja antud

Hiljuti vabastamine uued versioonid Box86 0.2.6 ja Box64 0.1.8 emulaatorid. Projekte arendab sünkroonis sama arendusmeeskond.

Box86 on piiratud 86-bitiste x32 rakenduste käitamisega (nt mängud) mitte-x86 Linuxi süsteemides, nagu ARM (hostsüsteem peab olema 32-bitine little-endian). Seetõttu on Box32 käitamiseks ja kompileerimiseks vaja 86-bitist alamsüsteemi. Box86 on kasutu ainult 64-bitistes süsteemides. Samuti vajate Box32 kompileerimiseks 86-bitist tööriistaahelat.

Kuna Box86 kasutab mõnede "süsteemi" teekide (nt libc, libm, SDL ja OpenGL) natiivseid versioone, on seda lihtne integreerida ja enamiku rakendustega kasutada ning jõudlus võib paljudel juhtudel olla üllatavalt kõrge.

Sama kehtib ka Box64 kohta, ainult et selline ja lubab käivitada 64-bitised käivitatavad failid. Projekt pöörab suurt tähelepanu mängurakenduste väljastamise korraldusele, sealhulgas võimalusele vabastada Windowsi ehitusi läbi Wine'i ja Protoni.

Projekti eripäraks on hübriidtäitmismudeli kasutamine, milles emulatsiooni rakendatakse ainult rakenduse enda ja konkreetsete teekide masinkoodile. Üldised süsteemiteegid, sealhulgas libc, libm, GTK, SDL, Vulkan ja OpenGL, asendatakse sihtplatvormidel natiivsete variantidega. Seetõttu käivitatakse teegikutsed ilma emuleerimiseta, mis võimaldab jõudlust oluliselt suurendada.

Emuleeriv kood, millel pole algseid alistamisis sihtplatvormi jaoks tehakse dünaamilise ümberkompileerimise (DynaRec) tehnikaga ühest masinakäskude komplektist teise. Võrreldes masinajuhiste tõlgendamisega näitab dünaamiline ümberkompileerimine 5–10 korda paremat jõudlust.

jõudluskatsetes, kui töötate platvormidel Armhf ja Aarch64, Box86 ja Box64 emulaatorid edestasid oluliselt QEMU ja FEX-emu projekte ja mõnes testis (glmark2, openarena) saavutasid nad jõudluse, mis oli identne sihtplatvormi koostu käitamisega.

Ühilduvuse osas taotlustest, d165 testitud mängust oli ligikaudu 70% edukad. Umbes 10% rohkem tööd, kuid teatud reservatsioonide ja piirangutega.

Mängudest, millega probleeme täheldatakse, mainitakse Unity3D mootoril põhinevaid mänge, mis on seotud Mono paketiga, mille emuleerimine Monos kasutatava JIT-i kompilatsiooni tõttu siiski alati ei tööta ja millel on ka graafika üsna kõrged nõuded. mida ARM-plaatidel alati saavutada ei saa. GTK rakendusteekide asendamine on praegu piiratud GTK2-ga (GTK3/4 asendus ei ole täielikult rakendatud).

Nagu peamised muudatused uutes väljaannetes, on esile tõstetud järgmine:

  • Lisatud Vulkani raamatukogu link. Lisatud Vulkani ja DXVK graafika API tugi (DXGI, Direct3D 9, 10 ja 11 juurutamine üle Vulkani).
  • GTK teekide täiustatud köited. Lisatud sidemed gstreameri ja GTK rakendustes tavaliselt kasutatavate teekide jaoks.
  • Lisatud esialgne tugi (seni ainult tõlgendamisrežiim) RISC-V ja PPC64LE arhitektuuridele.
  • SteamPlay ja Proton Layeriga ühilduvuse parandamiseks on tehtud veaparandusi. Steamist on võimalik käivitada paljusid Linuxi ja Windowsi mänge AArch64 plaatidel, nagu 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 rekompileerimismootoris on täiustatud tööd SSE/x87 registritega, lisatud on uute masinkoodide tugi, optimeeritud ujuk- ja topeltkonversioonid, täiustatud sisemist harude töötlemist, Lihtsustatud tugi uutele arhitektuuridele.
  • Täiustatud ELF-failide laadija.

Lõpuks, kui olete huvitatud selle kohta rohkem teada saama, võite tutvuda üksikasjadega Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.