Käivitati Box64 0.4.0, emulaator x86-mängude käitamiseks ARM64, RISC-V ja Loongarch64 süsteemides.

Box64 0.4.0 emulaatoriversioon on avaldatud, mis on mõeldud Linuxi programmide käivitamiseks, mis on kokku pandud x86_64 arhitektuuri jaoks, ARM64, RISC-V ja Loongarch64 protsessoritega seadmetes. Projekt keskendub mängu rakenduste käivitamise korraldamisele ning võimaldab Windowsi kogumite käivitamist läbi Wine'i ja Protoni. Projekti lähtekood on kirjutatud C keeles ja levitatud MIT litsentsi alusel.

Projekti eripära on hübriidse täitmismudeli kasutamine, kus emulatsioon on rakendatav ainult rakenduse kaasasolevale masinkoodile ja spetsiifilistele teekidele. Tüüpilised süsteemiteekid, sealhulgas libc, libm, GTK, SDL, Vulkan ja OpenGL, asendatakse platvormide jaoks kohandatud variantidega. Seega teostatakse teekide kutsed ilma emulatsioonita, mis võimaldab saavutada märkimisväärset jõudluse kasvu.

Koodiemulatsiooni, mille jaoks ei ole kohalikke asendusi sihtplatvormile, teostatakse dünaamilise ümberkompileerimise (DynaRec) meetodi abil ühe komplekti masinakeelest teise. Dünaamiline ümberkompileerimine näitab võrreldes masinakeelte tõlgendamisega 5-10 korda paremat jõudlust. kõrgem tootlikkus.

Uues versioonis:

  • Esitatud on ühtne operatsioonikoodide prefikside dekooder, mida kasutatakse tõlgendis ja kõigis dünaamilise ümberkompileerimise (DynaRec) tagaplaanides. Uus dekooder käsitleb rohkem erinevaid haruldaste operatsioonikoodide prefiksite kombinatsioone ja välistab spetsiifiliste "hakkide" ning koodi dubleerimise vajaduse tõlgis ja DynaRec tagaplaanides. Dekooderi ümberehitamine on võimaldanud eemaldada liigse koodi, lihtsustada koodibaasi hooldust ning pakkuda DynaRec'ile võimalust töötada ebatüüpiliste operatsioonikoodide prefiksite kombinatsioonidega.
  • Oleme alustanud tööd mehanismi kallal, mis eemaldab mälust koodi plokid, mis on muundatud natiivseks koodiks, kuid mida enam ei kasutata. Sarnane optimeerimine vähendab mälu tarbimist rakenduste käivitamisel, kus toimub suur hulk operatsioone, nagu Steam ja rakendused, mis kasutavad libcef'i.
  • Parandatud ARM64 arhitektuuri tugi: on rakendatud CPU NVIDIA GB10 jaoks ehitamisprofiil. Dünaamilise ümberkompileerimise (DynaRec) tagaplaanil on jätkatud optimiseerimistehnikate rakendamist silmade optimeerimiseks, näiteks XMM/YMM registrite zadustamisoperatsioonide väljatoomine silmast.
  • Dünaamilise ümberkompileerimise tagaplaani stabiilsust ja tootlikkust RISC-V arhitektuuri jaoks on parandatud. Tagatud on korrektsed tõhusused Steam, Proton ja Wine käivitamiseks, kuid Windowsi süsteemi kutsungite emuleerimise vajaliku kaitstud DRM-sisu jaoks on vajalik seade, mis toetab 48-bitise aadressiruumiga (SV48) või modifitseeritud Wine'i ja Protoni versioonide kasutamine.
  • Backend for the Loongarch architecture has made significant progress, reaching the point where Steam, Wine, and Proton can be launched, but it still lags in functionality compared to the backend for ARM64 systems. For operation, it currently requires the use of 4K memory page sizes in the kernel (by default, Loongarch typically sets this to 16K). The performance is already sufficient to run games on the Loongarch 3A6000 CPU (2.5 GHz with 4 physical cores).
    Mängi videot
  • Stability of the Box32 mode, which supports 32-bit executable files in Box64, has been improved. This mode shows increased reliability of Steam operation across all architectures and enables the use of in-game overlays in some OpenGL games.

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