Нови вСрсии Π½Π° Box86 ΠΈ Box64 Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° стартиратС x86 ΠΈΠ³Ρ€ΠΈ Π½Π° ARM систСми

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ са издания Π½Π° Box86 0.2.6 ΠΈ Box64 0.1.8 Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° стартиранС Π½Π° Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π·Π° x86 ΠΈ x86_64 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° процСсори ARM, ARM64, PPC64LE ΠΈ RISC-V. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ сС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ Π² синхрон с Π΅Π΄ΠΈΠ½ Π΅ΠΊΠΈΠΏ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° - Box86 Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° изпълнява 32-Π±ΠΈΡ‚ΠΎΠ²ΠΈ x86 прилоТСния, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Box64 прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС Π½Π° 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΎΠ±Ρ€ΡŠΡ‰Π° голямо Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° стартиранСто Π½Π° прилоТСния Π·Π° ΠΈΠ³Ρ€ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° стартиранС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π½Π° Windows Ρ‡Ρ€Π΅Π· wine ΠΈ Proton. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ тСкстовС Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° са написани Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ сС разпространяват (Box86, Box64) ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT.

Π₯арактСристика Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° изпълнСниС, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Смулацията сС ΠΏΡ€ΠΈΠ»Π°Π³Π° само към машинния ΠΊΠΎΠ΄ Π½Π° самото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠžΠ±Ρ‰ΠΈΡ‚Π΅ систСмни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ libc, libm, GTK, SDL, Vulkan ΠΈ OpenGL, сС замСнят с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ, Ρ€ΠΎΠ΄Π½ΠΈ Π·Π° Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΈΡ‚Π΅ повиквания сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π±Π΅Π· Смулация, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността.

Емулацията Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ няма СстСствСни замСститСли Π·Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ (DynaRec) ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ машинни инструкции към Π΄Ρ€ΡƒΠ³. Π’ сравнСниС с интСрпрСтацията Π½Π° машинни инструкции, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π°Ρ‚Π° рСкомпилация ΠΏΠΎΠΊΠ°Π·Π²Π° 5-10 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-висока производитСлност.

ΠŸΡ€ΠΈ тСстовС Π·Π° производитСлност, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Armhf ΠΈ Aarch86, Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Box64 ΠΈ Box64 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π°Ρ…Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ QEMU ΠΈ FEX-emu, Π° Π² някои тСстовС (glmark2, openarena) Ρ‚Π΅ постигнаха производитСлност, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° асСмблиранС, Ρ€ΠΎΠ΄Π½ΠΎ Π·Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° . Π’ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½ΠΈΡ‚Π΅ изчислитСлни ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ 7-zip ΠΈ dav1d производитСлността Π½Π° Box64 бСшС ΠΌΠ΅ΠΆΠ΄Ρƒ 27% ΠΈ 53% ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Π½Π° Ρ€ΠΎΠ΄Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π² сравнСниС с QEMU ΠΏΡ€ΠΈ 5-16% ΠΈ FEX-emu ΠΏΡ€ΠΈ 13-26%). ОсвСн Ρ‚ΠΎΠ²Π° бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ сравнСниС с Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Rosetta 2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ‚ Apple Π·Π° изпълнСниС Π½Π° x86 ΠΊΠΎΠ΄ Π½Π° систСми с ARM M1 Ρ‡ΠΈΠΏ. Rosetta 2 ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ тСста, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° 7zip, ΠΏΡ€ΠΈ 71% ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° компилация, Π° Box64 ΠΏΡ€ΠΈ 57%.

Нови вСрсии Π½Π° Box86 ΠΈ Box64 Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° стартиратС x86 ΠΈΠ³Ρ€ΠΈ Π½Π° ARM систСми

По ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° прилоТСнията, ΠΎΡ‚ 165 тСствани ΠΈΠ³Ρ€ΠΈ, ΠΎΠΊΠΎΠ»ΠΎ 70% ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ спСчСлиха. Около 10% ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°, Π½ΠΎ с извСстни Ρ€Π΅Π·Π΅Ρ€Π²ΠΈ ΠΈ ограничСния. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ ΠΈΠ³Ρ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΈ Π½Π° GameMaker. ΠžΡ‚ ΠΈΠ³Ρ€ΠΈΡ‚Π΅, с ΠΊΠΎΠΈΡ‚ΠΎ сС отбСлязват ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, сС спомСнават ΠΈΠ³Ρ€ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° двигатСля Unity3D, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с ΠΏΠ°ΠΊΠ΅Ρ‚Π° Mono, чиято Смулация всС ΠΎΡ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ JIT компилацията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Mono, ΠΈ ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° доста висока Π³Ρ€Π°Ρ„ΠΈΠΊΠ° изисквания, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ са постиТими Π½Π° ARM ΠΏΠ»Π°Ρ‚ΠΊΠΈ. Замяната Π½Π° GTK Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с прилоТСния Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π΄ΠΎ GTK2 (замяната Π½Π° GTK3/4 Π½Π΅ Π΅ напълно Π²Π½Π΅Π΄Ρ€Π΅Π½Π°).

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Vulkan. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Vulkan ΠΈ DXVK Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ API (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° DXGI, Direct3D 9, 10 ΠΈ 11 Π²ΡŠΡ€Ρ…Ρƒ Vulkan).
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ Π·Π° GTK Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ Π·Π° gstreamer ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² GTK прилоТСния.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (засСга само Ρ€Π΅ΠΆΠΈΠΌ Π½Π° интСрпрСтация) Π·Π° RISC-V ΠΈ PPC64LE Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ.
  • НаправСни са ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Π·Π° Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SteamPlay ΠΈ слоя Proton. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° стартиратС ΠΌΠ½ΠΎΠ³ΠΎ Linux ΠΈ Windows ΠΈΠ³Ρ€ΠΈ ΠΎΡ‚ Steam Π½Π° AArch64 ΠΏΠ»Π°Ρ‚ΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ Raspberry Pi 3 ΠΈ 4.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° mmap ΠΈ наблюдСниС Π½Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° систСмно ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π·Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π² libc. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ систСмни повиквания.
  • Π’ двигатСля Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с рСгистритС SSE/x87 Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ машинни ΠΊΠΎΠ΄ΠΎΠ²Π΅, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са прСобразувания Π½Π° float ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΈ числа, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ скоковС ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ опростСн.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ инструмСнт Π·Π° ΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° ELF Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€