Nā mana hou o Box86 a me Box64 emulators, e ʻae iā ʻoe e holo i nā pāʻani x86 ma nā ʻōnaehana ARM

Hoʻokuʻu ʻia nā emulators Box86 0.2.6 a me Box64 0.1.8 emulators, i hoʻolālā ʻia e holo i nā polokalamu Linux i hōʻuluʻulu ʻia no x86 a me x86_64 architectures ma nā mea hana me ARM, ARM64, PPC64LE a me RISC-V. Hoʻokumu pū ʻia nā papahana e kahi hui o nā mea hoʻomohala - ua kaupalena ʻia ʻo Box86 i ka hiki ke holo i nā noi 32-bit x86, a hāʻawi ʻo Box64 i ka hiki ke holo i nā mea hoʻokō 64-bit. Manaʻo nui ka papahana i ka hoʻonohonoho ʻana i ka hoʻomaka ʻana o nā noi pāʻani, me ka hāʻawi ʻana i ka hiki ke hoʻomaka i ka Windows builds ma o ka waina a me Proton. Ua kākau ʻia ke kumu kumu no ka papahana ma C a hāʻawi ʻia (Box86, Box64) ma lalo o ka laikini MIT.

ʻO kahi hiʻohiʻona o ka papahana ka hoʻohana ʻana i kahi hoʻohālike hoʻokō hybrid, kahi e hoʻohana ʻia ai ka emulation i ka code mīkini o ka noi ponoʻī a me nā hale waihona puke kikoʻī. Hoʻololi ʻia nā hale waihona puke ʻōnaehana maʻamau, me libc, libm, GTK, SDL, Vulkan a me OpenGL me nā koho ʻōiwi i nā paepae i manaʻo ʻia. Ma kēia ala, hoʻokō ʻia nā kelepona hale waihona me ka ʻole o ka hoʻohālikelike ʻana, e hopena ana i nā lanakila hana nui.

Hoʻohana ʻia ka hoʻohālikelike ʻana i ke code no ka mea ʻaʻohe mea hoʻololi maoli i ka paepae i hoʻohana ʻia me kahi ʻenehana o ka hoʻohui hou ʻana (DynaRec) mai kahi pūʻulu o nā ʻōkuhi mīkini i kekahi. Ke hoʻohālikelike ʻia i ka unuhi ʻana i nā ʻōlelo aʻoaʻo mīkini, hōʻike ka hoʻohui hou ʻana i ka 5-10 mau manawa kiʻekiʻe.

I nā hoʻokolohua hana, ʻo nā emulators Box86 a me Box64, i ka wā i hoʻokō ʻia ai ma nā kahua Armhf a me Aarch64, ua ʻoi aku ka maikaʻi ma mua o nā papahana QEMU a me FEX-emu, a ma nā hoʻokolohua pilikino (glmark2, opennarena) ua hoʻokō lākou i ka hana like me ka holo ʻana i kahi hui maoli i ka pahuhopu. anuu. Ma nā ho'āʻo 7-zip a me dav1d compute-intensive, ʻo ka hana a Box64 mai 27% a i 53% o ka hana o ka noi maoli (no ka hoʻohālikelike, hōʻike ʻo QEMU i nā hopena o 5-16%, a me FEX-emu - 13-26% ). Hoʻohui ʻia, ua hoʻohālikelike ʻia me ka Rosetta 2 emulator, i hoʻohana ʻia e Apple e holo i ka code x86 ma nā ʻōnaehana me ka chip M1 ARM. Hāʻawi ʻo Rosetta 2 i ka hoʻāʻo 7zip-based me ka hana o 71% o ka hale maoli, a me Box64 - 57%.

Nā mana hou o Box86 a me Box64 emulators, e ʻae iā ʻoe e holo i nā pāʻani x86 ma nā ʻōnaehana ARM

No ka hoʻohālikelike ʻana me nā noi, mai 165 mau pāʻani i hoʻāʻo ʻia, ma kahi o 70% i hana maikaʻi. Ma kahi o 10% hana, akā me kekahi mau kau a me nā kapu. ʻO nā pāʻani i kākoʻo ʻia me WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious a me ka hapa nui o nā pāʻani GameMaker. Ma waena o nā pāʻani i ʻike ʻia nā pilikia, ʻōlelo ʻia nā pāʻani e pili ana i ka mīkini Unity3D, i hoʻopaʻa ʻia i ka pūʻulu Mono, ʻaʻole e hana mau ka emulation ma muli o ka hui JIT i hoʻohana ʻia ma Mono, a loaʻa pū kekahi. nā koi kiʻi kiʻi kiʻekiʻe ʻaʻole hiki ke loaʻa mau ma nā papa ARM. Ua kaupalena ʻia ke pani ʻana o nā hale waihona puke noi GTK iā GTK2 (ʻaʻole i hoʻokō piha ʻia ke pani ʻana o GTK3/4).

Nā hoʻololi nui i nā hoʻokuʻu hou:

  • Hoʻohui ʻia ka paʻa no ka waihona Vulkan. Hoʻohui i ke kākoʻo no ka Vulkan a me DXVK kiʻi API (hoʻokō o DXGI, Direct3D 9, 10 a me 11 ma luna o Vulkan).
  • Hoʻomaikaʻi ʻia nā paʻa no nā hale waihona puke GTK. Hoʻohui ʻia nā paʻa no ka gstreamer a me nā hale waihona puke i hoʻohana mau ʻia i nā noi GTK.
  • Hoʻohui ʻia ke kākoʻo mua (ʻano wehewehe wehewehe wale nō i kēia manawa) no nā hale hoʻolālā RISC-V a me PPC64LE.
  • Ua hana ʻia nā hoʻoponopono e hoʻomaikaʻi i ke kākoʻo no SteamPlay a me ka papa Proton. Hāʻawi i ka hiki ke holo i nā pāʻani Linux a me Windows mai Steam ma nā papa AArch64 e like me Raspberry Pi 3 a me 4.
  • Hoʻomaikaʻi ʻia ka hoʻokele hoʻomanaʻo, ka hana mmap, a me ka nānā ʻana i ka hoʻopalekana hoʻomanaʻo.
  • Hoʻomaikaʻi i ke kākoʻo no ke kelepona ʻōnaehana clone ma libc. Kākoʻo hoʻohui ʻia no nā kelepona ʻōnaehana hou.
  • Ua hoʻomaikaʻi ka ʻenekini recompilation ikaika i ka hana me nā papa inoa SSE/x87, hoʻohui i ke kākoʻo no nā code mīkini hou, hoʻololi i ka hoʻololi ʻana o ka lana a me nā helu pālua, hoʻomaikaʻi i ka hana ʻana o nā hoʻololi kūloko, a maʻalahi i ka hoʻohui ʻana i ke kākoʻo no nā hale hana hou.
  • Hoʻonui ʻia ka mea hoʻoili faila ELF.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka