Box86:n ja Box64:n uudet versiot on jo julkaistu

äskettäin julkaisu uudet versiot Box86 0.2.6- ja Box64 0.1.8 -emulaattorit. Sama kehitystiimi kehittää projekteja synkronoituna.

Box86 on rajoitettu ajamaan 86-bittisiä x32-sovelluksia (kuten pelit) muissa kuin x86 Linux-järjestelmissä, kuten ARM (isäntäjärjestelmän on oltava 32-bittinen little-endian). Siksi Box32:n suorittamiseen ja kääntämiseen tarvitaan 86-bittinen alijärjestelmä. Box86 on hyödytön vain 64-bittisissä järjestelmissä. Tarvitset myös 32-bittisen työkaluketjun Box86:n kääntämiseen.

Koska Box86 käyttää joidenkin "järjestelmä"kirjastojen, kuten libc, libm, SDL ja OpenGL, alkuperäisiä versioita, se on helppo integroida ja käyttää useimpien sovellusten kanssa, ja suorituskyky voi olla yllättävän korkea monissa tapauksissa.

Sama koskee Box64:ää, vain sellainen ja sallii ajaa 64-bittisiä suoritettavia tiedostoja. Projektissa kiinnitetään suurta huomiota pelisovellusten julkaisun organisointiin, mukaan lukien mahdollisuus julkaista Windows-koontiversioita Winen ja Protonin kautta.

Hankkeen ominaisuus on hybridi-suoritusmallin käyttö, jossa emulointia sovelletaan vain itse sovelluksen konekoodiin ja tiettyihin kirjastoihin. Yleiset järjestelmäkirjastot, mukaan lukien libc, libm, GTK, SDL, Vulkan ja OpenGL, korvataan natiiviversioilla kohdealustoilla. Siksi kirjastokutsut suoritetaan ilman emulointia, mikä mahdollistaa merkittävän suorituskyvyn kasvun.

Emuloidaan koodia, jolla ei ole alkuperäisiä ohituksias kohdealustalle tehdään käyttämällä dynaamista uudelleenkääntämistä (DynaRec) konekäskyjoukosta toiseen. Verrattuna konekäskyjen tulkintaan dynaaminen uudelleenkääntäminen näyttää 5-10 kertaa paremman suorituskyvyn.

suorituskykytesteissä, kun käytät Armhf- ja Aarch64-alustoilla, Box86- ja Box64-emulaattorit suoriutuivat huomattavasti QEMU- ja FEX-emu-projekteista ja joissakin testeissä (glmark2, openarena) ne saavuttivat suorituskyvyn, joka on identtinen kohdealustalle kotoisin olevan kokoonpanon suorittamisen kanssa.

Yhteensopivuuden kannalta hakemuksista, dTestatuista 165 pelistä noin 70 % onnistui. Noin 10 % enemmän työtä, mutta tietyin varauksin ja rajoituksin.

Pelistä, joissa on havaittu ongelmia, mainitaan Unity3D-moottoriin perustuvat pelit, joka on sidottu Mono-pakettiin, jonka emulointi ei silti aina toimi Monossa käytetyn JIT-kokoelman takia, ja myös grafiikalla on melko korkeat vaatimukset. jota ei aina voida saavuttaa ARM-levyillä. GTK-sovelluskirjastojen korvaaminen on tällä hetkellä rajoitettu GTK2:een (GTK3/4-korvaus ei ole täysin toteutettu).

kuten tärkeimmät muutokset uusissa julkaisuissa, seuraava on korostettuna:

  • Lisätty linkki Vulkan-kirjastoon. Lisätty Vulkan- ja DXVK-grafiikkasovellusliittymätuki (DXGI, Direct3D 9, 10 ja 11 toteutus Vulkanin yli).
  • Parannetut sidokset GTK-kirjastoille. Lisätty sidokset gstreameriin ja GTK-sovelluksissa yleisesti käytettyihin kirjastoihin.
  • Lisätty alustava tuki (toistaiseksi vain tulkintatila) RISC-V- ja PPC64LE-arkkitehtuureille.
  • Virhekorjauksia on tehty parantamaan yhteensopivuutta SteamPlayn ja Proton Layerin kanssa. On mahdollista ajaa monia Linux- ja Windows-pelejä Steamista AArch64-levyillä, kuten Raspberry Pi 3 ja 4.
  • Parannettu muistin hallinta, mmap-käyttäytyminen ja muistin suojausrikkomusten valvonta.
  • Parannettu tuki kloonijärjestelmäkutsulle libc:ssä. Lisätty tuki uusille järjestelmäkutsuille.
  • Dynaamisessa uudelleenkäännösmoottorissa työtä SSE/x87-rekisterien kanssa on parannettu, uusien konekoodien tuki on lisätty, kelluvia ja kaksoismuunnoksia on optimoitu, sisäistä haarakäsittelyä on parannettu, Yksinkertaistettu tuki uusille arkkitehtuureille.
  • Parannettu ELF-tiedostojen latausohjelma.

Lopuksi, jos olet kiinnostunut tietämään siitä lisää, voit tutustua yksityiskohtiin Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.