Nga putanga hou o Box86 me Box64 emulators, ka taea e koe te whakahaere i nga keemu x86 i runga i nga punaha ARM

Ko nga tukunga o nga emulators Box86 0.2.6 me Box64 0.1.8 kua whakaputahia, i hangaia hei whakahaere i nga kaupapa Linux kua whakaemihia mo nga hoahoanga x86 me te x86_64 i runga i nga taputapu me nga tukatuka ARM, ARM64, PPC64LE me RISC-V. Ka whakawhanakehia nga kaupapa i te wa kotahi e te roopu kaiwhakawhanake - Ko te Box86 he iti ki te kaha ki te whakahaere i nga tono 32-bit x86, ka tukuna e Box64 te kaha ki te whakahaere 64-bit executables. Ka aro nui te kaupapa ki te whakarite i te whakarewatanga o nga tono petipeti, tae atu ki te whakarato i te kaha ki te whakarewa i nga hanga Windows ma te waina me te Proton. Ko te waehere puna mo te kaupapa kua tuhia ki C ka tohatohahia (Box86, Box64) i raro i te raihana MIT.

Ko tetahi ahuatanga o te kaupapa ko te whakamahi i tetahi tauira mahi ranu, ka whakamahia te tauira ki te waehere miihini o te tono ake me nga whare pukapuka motuhake. Ko nga wharepukapuka punaha tikanga, tae atu ki te libc, libm, GTK, SDL, Vulkan me OpenGL, ka whakakapihia ki nga whiringa taketake ki nga papaahi kua tohua. Ma tenei ara, ka mahia nga waea wharepukapuka me te kore e peehia, ka puta he hua nui.

Ko te tauira o te waehere karekau he whakakapinga taketake ki te papaaapapa ka mahia ma te whakamahi i te tikanga whakahiato hihiko (DynaRec) mai i tetahi huinga tohutohu miihini ki tetahi atu. Ina whakaritea ki te whakamaori i nga tohutohu miihini, ko te whakahiatotanga hihiri e whakaatu ana i te 5-10 nga wa teitei ake te mahi.

I roto i nga whakamatautau mahi, ko nga emulators Box86 me Box64, i te wa i mahia ai i runga i nga papaahi Armhf me Aarch64, i tino pai ake i nga kaupapa QEMU me FEX-emu, a, i roto i nga whakamatautau takitahi (glmark2, openarena) i tutuki i a raatau nga mahi rite ki te whakahaere i tetahi huihuinga taketake ki te whaainga. tūāpapa. I roto i nga whakamatautau 7-zip me te dav1d rorohiko kaha, ko nga mahi a Box64 mai i te 27% ki te 53% o te mahinga o te tono taketake (mo te whakataurite, i whakaatuhia e QEMU nga hua o te 5-16%, me te FEX-emu - 13-26% ). I tua atu, he whakataurite ki te Rosetta 2 emulator, i whakamahia e Apple ki te whakahaere waehere x86 i runga i nga punaha me te maramara M1 ARM. I whakawhiwhia e Rosetta 2 te whakamatautau 7zip me te mahi o te 71% o te hanga taketake, me te Box64 - 57%.

Nga putanga hou o Box86 me Box64 emulators, ka taea e koe te whakahaere i nga keemu x86 i runga i nga punaha ARM

Mo te hototahi ki nga tono, i roto i nga keemu 165 i whakamatauria, tata ki te 70% i mahi angitu. Mo etahi atu 10% mahi, engari me etahi rahui me etahi here. Ko nga keemu tautoko ko te WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious me te nuinga o nga keemu GameMaker. I roto i nga keemu kua kitea nga raru, ka whakahuahia nga keemu e pa ana ki te miihini Unity3D, e herea ana ki te kete Mono, kaore e mahi i nga wa katoa na te whakahiato JIT i whakamahia i Mono, a he tika ano hoki. nga whakaritenga whakairoiro teitei e kore e taea te whakatutuki i nga wa katoa i runga i nga papa ARM. Ko te whakakapinga o nga whare pukapuka tono GTK he iti noa ki te GTK2 (kaore i tino whakatinanahia te whakakapinga o GTK3/4).

Ko nga huringa matua o nga putanga hou:

  • He here taapiri mo te whare pukapuka Vulkan. He tautoko taapiri mo te API whakairoiro Vulkan me DXVK (te whakatinanatanga o DXGI, Direct3D 9, 10 me te 11 kei runga ake o Vulkan).
  • Kua pai ake nga here mo nga whare pukapuka GTK. He here taapiri mo te gstreamer me nga whare pukapuka e whakamahia nuitia ana i roto i nga tono GTK.
  • Kua taapirihia te tautoko tuatahi (ko te aratau whakamaori anake mo naianei) mo nga hoahoanga RISC-V me PPC64LE.
  • Kua whakatikahia hei whakapai ake i te tautoko mo SteamPlay me te paparanga Proton. Ka whakarato i te kaha ki te whakahaere i te maha o nga keemu Linux me Windows mai i Steam i runga i nga papa AArch64 penei i te Raspberry Pi 3 me te 4.
  • Kua pai ake te whakahaere mahara, te mahi mmap, me te aroturuki i te takahi i te mahara.
  • He pai ake te tautoko mo te waea punaha clone i libc. He tautoko taapiri mo nga waea punaha hou.
  • Ko te miihini whakahiatotanga hihiri kua pai ake te mahi me nga rehita SSE/x87, kua taapirihia te tautoko mo nga waehere miihini hou, kua pai ake te whakarereketanga o te waka rererangi me nga tau rua, te pai ake o te tukatuka o nga whakawhitinga o roto, me te ngawari ki te taapiri i te tautoko mo nga hoahoanga hou.
  • Kua pai ake te kaieke konae ELF.

Source: opennet.ru

Tāpiri i te kōrero