Fersiynau newydd o efelychwyr Box86 a Box64 sy'n eich galluogi i redeg gemau x86 ar systemau ARM

Mae datganiadau o efelychwyr Box86 0.2.6 a Box64 0.1.8 wedi'u cyhoeddi ar gyfer rhedeg rhaglenni Linux a adeiladwyd ar gyfer pensaernïaeth x86 a x86_64 ar broseswyr ARM, ARM64, PPC64LE a RISC-V. Mae prosiectau'n datblygu ar y cyd ag un tîm datblygu - mae Box86 wedi'i gyfyngu i'r gallu i redeg cymwysiadau 32-bit x86, tra bod Box64 yn darparu'r gallu i redeg gweithredoedd gweithredadwy 64-bit. Mae'r prosiect yn rhoi sylw mawr i drefnu lansiad cymwysiadau hapchwarae, gan gynnwys y gallu i lansio Windows yn adeiladu trwy win a Proton. Mae testunau ffynhonnell y prosiect wedi'u hysgrifennu yn yr iaith C a'u dosbarthu (Box86, Box64) o dan drwydded MIT.

Nodwedd o'r prosiect yw'r defnydd o fodel gweithredu hybrid, lle mae efelychiad yn cael ei gymhwyso i god peiriant y cais ei hun a llyfrgelloedd penodol yn unig. Mae llyfrgelloedd system generig, gan gynnwys libc, libm, GTK, SDL, Vulkan, ac OpenGL, yn cael eu disodli gan amrywiadau sy'n frodorol i'r llwyfannau targed. Felly, mae galwadau llyfrgell yn cael eu gweithredu heb efelychiad, sy'n caniatáu ar gyfer cynnydd sylweddol mewn perfformiad.

Mae efelychu cod nad oes ganddo amnewidiadau brodorol ar gyfer y platfform targed yn cael ei berfformio gan ddefnyddio'r dechneg ail-grynhoi deinamig (DynaRec) o un set o gyfarwyddiadau peiriant i'r llall. O'i gymharu â dehongli cyfarwyddiadau peiriant, mae ail-grynhoi deinamig yn dangos perfformiad 5-10 gwaith yn uwch.

Mewn profion perfformiad, wrth redeg ar lwyfannau Armhf ac Aarch86, perfformiodd efelychwyr Box64 a Box64 yn sylweddol well na phrosiectau QEMU a FEX-emu, ac mewn rhai profion (glmark2, openarena) cyflawnwyd perfformiad union yr un fath â rhedeg cynulliad brodorol i'r platfform targed. . Yn y meincnodau 7-zip a dav1d cyfrifiadurol-ddwys, roedd perfformiad Box64 rhwng 27% a 53% o berfformiad y cymhwysiad brodorol (o'i gymharu â QEMU ar 5-16% a FEX-emu ar 13-26%). Yn ogystal, gwnaed cymhariaeth â'r efelychydd Rosetta 2 a ddefnyddir gan Apple i redeg cod x86 ar systemau gyda sglodyn ARM M1. Cynhaliodd Rosetta 2 y prawf seiliedig ar 7zip ar 71% o'r adeilad brodorol, a Box64 ar 57%.

Fersiynau newydd o efelychwyr Box86 a Box64 sy'n eich galluogi i redeg gemau x86 ar systemau ARM

O ran cydnawsedd cais, allan o 165 o gemau a brofwyd, enillodd tua 70% yn llwyddiannus. Tua 10% yn fwy o waith, ond gyda rhai amheuon a chyfyngiadau. Ymhlith y gemau a gefnogir mae WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious a'r mwyafrif o gemau GameMaker. O'r gemau y nodir problemau â hwy, sonnir am gemau sy'n seiliedig ar yr injan Unity3D, sy'n gysylltiedig â'r pecyn Mono, nad yw ei efelychu bob amser yn gweithio eto oherwydd y casgliad JIT a ddefnyddir yn Mono, ac mae ganddo hefyd graffeg eithaf uchel. gofynion nad ydynt bob amser yn gyraeddadwy ar fyrddau ARM. Mae disodli llyfrgelloedd cymwysiadau GTK wedi'i gyfyngu i GTK2 ar hyn o bryd (nid yw disodli GTK3/4 wedi'i weithredu'n llawn).

Prif newidiadau mewn datganiadau newydd:

  • Ychwanegwyd rhwymiad ar gyfer llyfrgell Vulkan. Cefnogaeth ychwanegol ar gyfer API graffeg Vulkan a DXVK (gweithredu DXGI, Direct3D 9, 10 ac 11 ar ben Vulkan).
  • Gwell rhwymiadau ar gyfer llyfrgelloedd GTK. Ychwanegwyd rhwymiadau ar gyfer gstreamer a llyfrgelloedd a ddefnyddir yn gyffredin mewn cymwysiadau GTK.
  • Ychwanegwyd cefnogaeth gychwynnol (modd dehongli hyd yn hyn) ar gyfer pensaernïaeth RISC-V a PPC64LE.
  • Mae atgyweiriadau nam wedi'u gwneud i wella cefnogaeth SteamPlay a'r haen Proton. Mae'n bosibl rhedeg llawer o gemau Linux a Windows o Steam ar fyrddau AArch64 fel Raspberry Pi 3 a 4.
  • Gwell rheolaeth cof, ymddygiad mmap, a monitro troseddau diogelu cof.
  • Gwell cefnogaeth ar gyfer galw system clon yn libc. Cefnogaeth ychwanegol ar gyfer galwadau system newydd.
  • Yn yr injan ail-grynhoi deinamig, mae gwaith gyda chofrestrau SSE/x87 wedi'i wella, mae cefnogaeth ar gyfer codau peiriannau newydd wedi'i ychwanegu, mae trawsnewidiadau fflôt a rhifau dwbl wedi'u optimeiddio, mae prosesu neidiau mewnol wedi'i wella, ac mae cefnogaeth ar gyfer pensaernïaeth newydd wedi'i optimeiddio. symlach.
  • Gwell uwchlwythwr ffeiliau ELF.

Ffynhonnell: opennet.ru

Ychwanegu sylw