Box64 and Box86 get more games running on Arm as well as DXVK 2.0 support

Box64 and Box86 get more games running on Arm as well as DXVK 2.0 support

Box64 and Box86 are userspace emulators for running traditional x86 and x86_64 applications on Arm, and version 0.2 of both is a nice big step forward. For those with Arm hardware (such as a Raspberry Pi), these two projects definitely look interesting and will expand what you can do.

Highlights include:

  • DXVK 2.0 works.
  • Unity3D games now work.
  • Low memory size.
  • Added wrapped libfuse support for the AppImage to work.
  • Discord work.

I’m currently trying to re-do my Raspberry Pi 4 with Ubuntu, so I can test more things like this but it’s proving to be a bit of a hassle. I hope I can sort it out for a future overview video.

Box 86 v0.2.8 changelog:

  • Wrapped up more vulcan functionality, dxvk 2.0 now works
  • Additional support for overriding malloc / free functions
  • Optimized midget loader
  • Improved dlsym handling with RTLD_NEXT
  • BOX86_DYNAREC_SAFEFLAGS has been added to allow tuning of Dynarec’s handling of notification final code via function calls and returns.
  • Added BOX86_BASH to setup x86 bash binary, so shell script can run in x86 world
  • Added BOX86_ROLLING_LOG to get logging details only on crash
  • Improved TLS size handling (Unity3D games now work)
  • Improver execv Family of functions for better Box86 integration
  • Added a few wraparound balls, like FAudio
  • Improved wrapping gtk, SDL2, GL, vulkan (and more)
  • Improved signal processing and trace memory protection
  • Added some basic support for a statically linked program. The thread is not running yet, but memory allocation and file access are working.

The developer also noted:

With the use of the new SafeFlags, some C# Windows programs now work fine (forced when the Vara family of programs is detected). With basic support for a statically linked program, the old emulator works like a modeller for linux. A program with threads like mugen for linux still doesn’t. exists. Bash integration is useful for the machine without binfmt integration or for the script that checks for the machine it’s running on”

Box 64 v0.2.0 changelog:

  • Wrapped up more vulcan functionality, dxvk 2.0 now works
  • Additional support for overriding malloc / free functions
  • Refactor Dynarec memory management, reduce memory footprint (from 20% to 40% of Dynarec size)
  • Optimized midget loader
  • Improved dlsym handling with RTLD_NEXT
  • BOX64_DYNAREC_SAFEFLAGS has been added to allow tuning of Dynarec’s handling of notification final code via function calls and returns.
  • Added BOX64_BASH to setup x86_64 bash binary, so shell script can run in x86_64 world
  • Added BOX64_ROLLING_LOG to get logging details only on crash
  • Work on aligning some pthread structures
  • More libraries wrapped in the gtk family
  • Some fixes on Dynarec x87 code (fix a bunch of games like ut2004 or Piczle Puzzle)
  • Improved TLS size handling (Unity3D games now work)
  • More page size translation options
  • Improver execv Function family for better integration with box64
  • Added wrapped libfuse support for the AppImage to work
  • The binfmt integration has been modified so that the AppImage is chosen automatically
  • Enhanced packaging for FAudio, SDL2, and GL (and more)
  • More wrapped libs, such as libEGL.so, to help emulate Qt4/5 libs for loading
  • Improved signal processing and trace memory protection
  • Some signature fixes for some encapsulated functions (in libc)
  • More syscalls added
  • A lot of new opcodes have been added to ARM64 Dynarec

The developer has also noted that the likes of: Surviving Mars, Piczle Cross Adventure (using experimental Proton), Unreal Torunament 2004, Obduction, Machinarium, Silicon Zero, Hacknet, Absolute Drift, Art of Rally and Dota 2 are now working. In addition to applications such as TeamSpeak 3 Client and Server or Discord.

Article taken from GamingOnLinux.com.

#Box64 #Box86 #games #running #Arm #DXVK #support

Leave a Comment

Your email address will not be published. Required fields are marked *