Lëshimi i emulatorit Box64 0.3.0, i cili lejon të ekzekutoni lojërat x86 në sistemet ARM64 dhe RISC-V

Është publikuar lëshimi i emulatorit Box64 0.3.0, i cili është i destinuar për të ekzekutuar programe Linux të ndërtuara për arkitekturën x86_64 në pajisje me procesorë ARM64, RISC-V dhe Loongarch64. Projekti i kushton vëmendje të madhe organizimit të ekzekutimit të aplikacioneve lojërash dhe ofron mundësinë e ekzekutimit të ndërtimeve Windows përmes wine dhe Proton. Kodet burimore të projektit janë shkruar në gjuhën C dhe shpërndahen nën licencën MIT.

Veçoria e projektit është aplikimi i një modeli hibrid ekzekutimi, ku emulimi aplikohet vetëm në kodin maqinar të vetë aplikacionit dhe bibliotekave specifike. Bibliotekat sistemike tipike, duke përfshirë libc, libm, GTK, SDL, Vulkan dhe OpenGL, zëvendësohen me variante që janë vendase për platformat e synuara. Kështu, thirrjet e bibliotekave ekzekutohen pa emulim, duke lejuar arritjen e një rritjeje të konsiderueshme të performancës.

Emulimi i kodit, për të cilin nuk ka zëvendësime native për platformën e synuar, kryhet duke përdorur teknikën e rikompilimit dinamik (DynaRec) nga një grup instrukcionesh maqinar në një tjetër. Krahasuar me interpretimin e instrukcioneve maqinar, rikompilimi dinamik demonstron një performancë 5-10 herë më të lartë.

Në versionin e ri:

  • Është implementuar mbështetje për zgjerimet e procesorëve AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C dhe RDRAND.
  • Është shtuar variabla mjedisore BOX64_AVX, vendosja e 1 që aktivizon mbështetje për AVX, BMI1, F16C dhe VAES, ndërsa 2 për AVX2, BMI2, FMA, ADX, VPCLMULQDQ dhe RDRAND.
  • Është shtuar mbështetje për rikompilimin dinamik (DynaRec) të AVX, AVX2 dhe instrukcioneve të ngjashme në përfaqësimin e bazuar në instrukcione NEON, të siguruara në CPU-të e bazuara në arkitekturën ARM64.
  • Është shtuar mbështetje fillestare për rikompilimin e instrukcioneve SIMD në instrukcione RVV në sistemet RISC-V.
  • Është optimizuar mekanizmi DynaRec, duke shtuar mbështetje për opcode të rinj për RISC-V dhe Loongarch64.
  • Lista e opcode CPUID është përditësuar, dhe për default, nga tani e tutje, në CPUID jepet CPU e serisë Haswell në vend të Pentium IV.
  • Është shtuar mbështetje për Wayland dhe është ofruar mundësia e rikompilimit dinamik të bibliotekave të lidhura me Wayland, duke arritur kështu përputhshmëri me Wine-wayland.
  • Numri i lojërave të mbështetura është zgjeruar, duke përfshirë përkrahjen për lojën Death Stranding. Është siguruar identifikimi i përdorimit të bibliotekës UnityPlayer.dll në programet që fillojnë në Wine dhe caktimi automatik i parametrave BOX64_DYNAREC_STRONGMEM=1.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster