Izdanje emulatora Box64 0.3.0, koji omogućuje pokretanje x86 igara na ARM64 i RISC-V sustavima

Objavljeno je izdanje emulatora Box64 0.3.0, namijenjenog za pokretanje Linux programa sastavljenih za x86_64 arhitekturu na opremi s ARM64, RISC-V i Loongarch64 procesorima. Projekt se posebno fokusira na organizaciju pokretanja igračih aplikacija i omogućuje pokretanje Windows verzija putem wine i Proton. Izvorni kod projekta napisan je na jeziku C i distribuira se pod MIT licencom.

Posebnost projekta je upotreba hibridnog modela izvršavanja, pri čemu se emulacija primjenjuje samo na mašinski kod aplikacije i specifičnih biblioteka. Tipične sistemske biblioteke, uključujući libc, libm, GTK, SDL, Vulkan i OpenGL, zamjenjuju se verzijama koje su izvorne za ciljne platforme. Tako se bibliotečki pozivi izvršavaju bez emulacije, što omogućava značajno povećanje performansi.

Emulacija kodova, za koje ne postoje izvorne zamjene za ciljne platforme, provodi se koristeći tehniku dinamičke rekompilacije (DynaRec) iz jednog skupa mašinskih instrukcija u drugi. U usporedbi s interpretacijom mašinskih instrukcija, dinamička rekompilacija pokazuje 5-10 puta bolje performanse.

U novoj verziji:

  • Implementirana je podrška za procesorska proširenja AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C i RDRAND.
  • Dodana je varijabla okruženja BOX64_AVX, postavljanje 1 omogućava podršku AVX, BMI1, F16C i VAES, dok 2 omogućava AVX2, BMI2, FMA, ADX, VPCLMULQDQ i RDRAND.
  • Dodana je podrška za dinamičku rekompilaciju (DynaRec) AVX, AVX2 i sličnih instrukcija u NEON instrukcije osigurane na procesorima baziranim na ARM64 arhitekturi.
  • Dodana je početna podrška za rekompilaciju SIMD instrukcija u RVV instrukcije na RISC-V sustavima.
  • Optimiziran je mehanizam DynaRec i dodana je podrška za nove opcodeove za RISC-V i Loongarch64.
  • Ažuriran je popis opcodeova CPUID, umjesto Pentium IV, putem CPUID se sada zadavno daje CPU serije Haswell.
  • Dodana je podrška za Wayland i omogućena je dinamička rekompilacija biblioteka povezanih s Wayland, što je omogućilo kompatibilnost s Wine-wayland.
  • Povećan broj podržanih igara, na primjer, dodana je kompatibilnost s igrom Death Stranding. Osigurano je prepoznavanje korištenja biblioteke UnityPlayer.dll u programima pokrenutim u Wine-u i automatsko postavljanje parametra BOX64_DYNAREC_STRONGMEM=1.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster