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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster