Ja van ser alliberades les noves versions de Box86 i Box64

fa poc es va donar a conèixer l'alliberament de les noves versions dels emuladors Box86 0.2.6 i Box64 0.1.8. Els projectes són desenvolupats en sincronia pel mateix equip de desenvolupament.

Box86 es limita a executar aplicacions x86 de 32 bits (com a jocs) en sistemes Linux que no siguin x86, com ARM (el sistema host ha de ser little-endian de 32 bits). Per això es necessita un subsistema de 32 bits per executar i compilar Box86. Box86 és inútil en sistemes de només 64 bits. A més, necessita una cadena de ferramentes de 32 bits per compilar Box86.

Com que Box86 utilitza les versions natives d'algunes biblioteques del sistema, com libc, libm, SDL i OpenGL, és fàcil d'integrar i utilitzar amb la majoria de les aplicacions, i el rendiment pot ser sorprenentment alt en molts casos.

El mateix passa per a Box64, només que tal i permet executar executables de 64 bits. El projecte presta gran atenció a lorganització del llançament daplicacions de jocs, inclosa la capacitat de llançar compilacions de Windows a través de Wine i Proton.

Una característica del projecte és utilitzar un model d'execució híbrid, on l'emulació s'aplica només al codi màquina de la pròpia aplicació i biblioteques específiques. Les biblioteques genèriques del sistema, incloses libc, libm, GTK, SDL, Vulkan i OpenGL, es reemplacen amb variants natives de les plataformes de destinació. Per tant, les trucades a la biblioteca s'executen sense emulació, cosa que permet un augment significatiu del rendiment.

L'emulació de codi que no té reemplaçaments nadiuss per a la plataforma de destinació es fa mitjançant la tècnica de recompilació dinàmica (DynaRec) d'un conjunt d'instruccions de màquina a un altre. En comparació amb la interpretació de les instruccions de la màquina, la recompilació dinàmica mostra un rendiment de 5 a 10 vegades més gran.

A les proves de rendiment, quan s'executen a les plataformes Armhf i Aarch64, els emuladors Box86 i Box64 van superar significativament els projectes QEMU i FEX-emu i en algunes proves (glmark2, openarena) van aconseguir un rendiment idèntic per executar un acoblament nadiu de la plataforma de destinació.

En termes de compatibilitat d'aplicacions, de els 165 jocs provats, aproximadament el 70 % es va obtenir amb èxit. Al voltant d'un 10% més de feina, però amb certes reserves i restriccions.

Dels jocs amb què es noten problemes, s'esmenten els jocs basats en el motor Unity3D, que està lligat al paquet Mono, l'emulació del qual encara no sempre funciona a causa de la compilació JIT que s'usa a Mono, ia més té gràfics força alts, requisits que no sempre es poden aconseguir a les plaques ARM. La substitució de les biblioteques d'aplicacions GTK actualment es limita a GTK2 (la substitució del GTK3/4 no està completament implementada).

Quant als principals canvis en els nous llançaments, es destaca el següent:

  • Enllaç agregat per a la biblioteca Vulkan. Es va afegir compatibilitat amb l'API de gràfics Vulkan i DXVK (implementació de DXGI, Direct3D 9, 10 i 11 sobre Vulkan).
  • Enllaços millorats per a biblioteques GTK. Es van afegir enllaços per a gstreamer i biblioteques comunament utilitzades en aplicacions GTK.
  • S'ha afegit suport inicial (fins ara només mode d'interpretació) per a arquitectures RISC-V i PPC64LE.
  • S'han fet correccions d'errors per millorar la compatibilitat amb l'SteamPlay i la capa Proton. És possible executar molts jocs de Linux i Windows des de Steam en plaques AArch64 com Raspberry Pi 3 i 4.
  • Gestió de memòria millorada, comportament mmap i monitorització de violacions de protecció de memòria.
  • Compatibilitat millorada per a la trucada del sistema de clonació a libc. S'ha afegit suport per a noves trucades al sistema.
  • Al motor de recompilació dinàmica s'ha millorat el treball amb registres SSE/x87, s'ha afegit suport per a nous codis de màquina, s'han optimitzat les conversions de números flotants i dobles, s'ha millorat el processament de salts interns, s'ha afegit suport per a noves arquitectures simplificat.
  • Carregador de fitxers ELF millorat.

Finalment, si estàs interessat a poder conèixer-ne més, pots consultar els detalls en el següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.