Uued versioonid Box86 ja Box64 emulaatoritest, mis vĂ”imaldavad x86-mĂ€nge kĂ€itada ARM-sĂŒsteemides

On release are the Box86 0.2.6 and Box64 0.1.8 emulator versions, designed to run Linux programs compiled for x86 and x86_64 architectures on hardware with ARM, ARM64, PPC64LE, and RISC-V processors. The projects are developed synchronously by one team of developers — Box86 is limited to running 32-bit x86 applications, while Box64 allows for running 64-bit executable files. The project puts significant emphasis on launching gaming applications, including the capability to run Windows builds via wine and Proton. The project's source code is written in C and distributed (Box86, Box64) under the MIT license.

The feature of the project is the use of a hybrid execution model, in which emulation is applied only to the machine code of the application itself and specific libraries. Typical system libraries, including libc, libm, GTK, SDL, Vulkan, and OpenGL, are replaced with versions native to the target platforms. Thus, library calls are executed without emulation, which allows for a significant increase in performance.

Code emulation, for which native alternatives for the target platform are not available, is performed using dynamic recompilation (DynaRec) techniques from one set of machine instructions to another. Compared to interpreting machine instructions, dynamic recompilation shows 5-10 times higher performance.

In performance tests, the Box86 and Box64 emulators outperformed the QEMU and FEX-emu projects significantly when executed on Armhf and Aarch64 platforms. In specific tests (glmark2, openarena), they achieved performance identical to that of running a build native to the target platform. In the 7-zip and dav1d tests, which involve intensive calculations, the performance of Box64 ranged from 27% to 53% of that of the native application (for comparison, QEMU showed results of 5-16%, and FEX-emu — 13-26%). Additionally, a comparison was made with the Rosetta 2 emulator, used by Apple to run x86 code on M1 chip-based ARM systems. Rosetta 2 achieved a 71% performance for the 7zip test compared to the native build, while Box64 performed at 57%.

Uued versioonid Box86 ja Box64 emulaatoritest, mis vĂ”imaldavad x86-mĂ€nge kĂ€itada ARM-sĂŒsteemides

Mis kĂ”ige parem on jĂ€lgida rakenduste ĂŒhilduvust, kus 165 testitud mĂ€ngust töötas edukalt umbes 70%. Veel umbes 10% töötab, kuid teatud tingimustega ja piirangutega. Toetatud mĂ€ngude seas on WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious ja enamik GameMakeri mĂ€nge. Probleemide all kannatavate mĂ€ngude hulgas mainitakse Unity3D mootori baasil loodud mĂ€nge, mis sĂ”ltuvad Mono paketist, mille emulatsioon ei tööta alati korralikult Mono JIT-kompileerimise tĂ”ttu, samuti on sellel ĂŒsna kĂ”rged graafikanĂ”uded, mida ei pruugi ARM-plaadid alati saavutada. GTK-rakenduste teegid toetavad hetkel ainult GTK2 (GTK3/4 asendamine ei ole tĂ€ielikult rakendatud).

Uutes vÀljaannetes on pÔhimuudatused:

  • Vulkan teegi jaoks lisati sidumine. Lisatud on grafika API Vulkan ja DXVK tugi (DXGI, Direct3D 9, 10 ja 11 rakendamine Vulkanil).
  • GTK teekide sidumised on paranenud. Lisatud on sidumised gstreamerile ja teekidele, mida sageli kasutatakse GTK-rakendustes.
  • Esialgne tugi (hetkel ainult tĂ”lgendusreĆŸiim) arhitektuuridele RISC-V ja PPC64LE on lisatud.
  • Tegemist on parandustega, mille eesmĂ€rk on parandada SteamPlay ja Protoni kihtide toetust. Paljusid Linuxi ja Windowsi mĂ€nge saab nĂŒĂŒd kĂ€itada AArch64 plaadidel, nagu Raspberry Pi 3 ja 4.
  • MĂ€luhaldust, mmap-i toimimist ja mĂ€lu kaitse rikkumiste jĂ€lgimist on parandatud.
  • SĂŒsteemikĂ”nede clone tugi libc-s on paranenud. Lisaud on uued sĂŒsteemikĂ”ned.
  • DĂŒnaamilise rekompileerimise mootori registreid SSE/x87 on parendatud, lisatud on nĂ”uandeid uute masinkoodide kohta, float ja double numbrite konversioonid on optimeeritud, siseĂŒlekande töötlemine on paranenud ning uute arhitektuuride toe lisamine on lihtsustatud.
  • ELF-failide laadimise mehhanism on paranenud.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster