Lëshimi i Box64 0.4.0, emulator për ekzekutimin e lojërave x86 në sisteme ARM64, RISC-V dhe Loongarch64

ËshtĂ« publikuar versioni 0.4.0 i emulatorit Box64, i krijuar pĂ«r ekzekutimin e programeve 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 tĂ« lojĂ«rave dhe ofron mundĂ«sinĂ« e nisjes sĂ« build-eve Windows pĂ«rmes Wine dhe Proton. Kodi burimor i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet sipas licencĂ«s 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 vendase për platformën e synuar, kryhet duke përdorur teknikën e rikompilimit dinamik (DynaRec) nga një grup instruksionesh makinerike në një tjetër. Krahasuar me interpretimin e instruksioneve makinerike, rikompilimi dinamik ofron performancë 5-10 herë më të lartë. performancë të lartë.

NĂ« versionin e ri:

  • ËshtĂ« prezantuar njĂ« dekodues i unifikuar i prefikseve tĂ« kodeve tĂ« operacioneve (prefix opcode decoder), i pĂ«rdorur nĂ« interpretues dhe nĂ« tĂ« gjithĂ« backend-et e rikompilimit dinamik (DynaRec). Dekoduesi i ri i trajton nĂ« mĂ«nyrĂ« mĂ« universale kombinimet e rralla tĂ« prefikseve tĂ« opcode-ve dhe lejon shmangien e “hack”-eve specifike dhe tĂ« dyfishimit tĂ« kodit nĂ« interpretues dhe nĂ« backend-et DynaRec. Ripunimi i dekoduesit çoi nĂ« heqjen e kodit tĂ« tepĂ«rt, thjeshtimin e mirĂ«mbajtjes sĂ« bazĂ«s sĂ« kodit dhe mundĂ«sinĂ« qĂ« DynaRec tĂ« punojĂ« me kombinime jo tipike tĂ« prefikseve tĂ« opcode-ve.
  • Ka nisur puna pĂ«r njĂ« mekanizĂ«m qĂ« heq nga memoria blloqet e kodit tĂ« konvertuara nĂ« kod vendas, por qĂ« nuk pĂ«rdoren mĂ«. NjĂ« optimizim i tillĂ« ndihmon nĂ« uljen e konsumit tĂ« memories gjatĂ« nisjes sĂ« aplikacioneve qĂ« kryejnĂ« njĂ« volum tĂ« madh operacionesh nĂ« startim, si Steam dhe aplikacionet qĂ« pĂ«rdorin libcef.
  • ËshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r arkitekturĂ«n ARM64: u zbatua njĂ« profil build-i pĂ«r CPU NVIDIA GB10. NĂ« backend-in e rikompilimit dinamik (DynaRec) vazhdoi zbatimi i teknikave tĂ« optimizimit tĂ« cikleve, si nxjerrja e operacioneve tĂ« vendosjes sĂ« regjistrave XMM/YMM jashtĂ« trupit tĂ« ciklit.
  • ËshtĂ« rritur qĂ«ndrueshmĂ«ria dhe performanca e backend-it tĂ« rikompilimit dinamik pĂ«r arkitekturĂ«n RISC-V. ËshtĂ« siguruar nisja e saktĂ« e Steam, Proton dhe Wine, por pĂ«r punĂ« me pĂ«rmbajtje DRM tĂ« mbrojtur, qĂ« kĂ«rkon emulim tĂ« thirrjeve sistemore tĂ« Windows, nevojitet pajisje me mbĂ«shtetje pĂ«r hapĂ«sirĂ« adresimi 48-bit (SV48) ose pĂ«rdorimi i build-eve tĂ« modifikuara tĂ« Wine dhe Proton.
  • Zhvillimi i backend-it pĂ«r arkitekturĂ«n Loongarch ka avancuar ndjeshĂ«m dhe tashmĂ« Ă«shtĂ« sjellĂ« nĂ« nivelin qĂ« mundĂ«son nisjen e Steam, Wine dhe Proton, megjithĂ«se pĂ«r nga funksionaliteti ende mbetet pas backend-it pĂ«r sistemet ARM64. PĂ«r momentin, funksionimi kĂ«rkon pĂ«rdorimin nĂ« kernel tĂ« faqeve tĂ« memories me madhĂ«si 4K (si parazgjedhje pĂ«r Loongarch zakonisht vendoset 16K). Performanca tashmĂ« Ă«shtĂ« e mjaftueshme pĂ«r tĂ« ekzekutuar lojĂ«ra nĂ« CPU Loongarch 3A6000 (2.5 GHz me 4 bĂ«rthama fizike).
    Luaj videon
  • ËshtĂ« pĂ«rmirĂ«suar qĂ«ndrueshmĂ«ria e modalitetit Box32, i cili siguron mbĂ«shtetje pĂ«r skedarĂ« ekzekutues 32-bit nĂ« Box64. NĂ« kĂ«tĂ« modalitet vĂ«rehet rritje e stabilitetit tĂ« Steam nĂ« tĂ« gjitha arkitekturat, si edhe mundĂ«sia e pĂ«rdorimit tĂ« overlay-ve brenda lojĂ«s nĂ« disa lojĂ«ra OpenGL.

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