Box64 and Box86 are userspace emulators to run traditional x86 and x86_64 applications on Arm, and the 0.2 release of both are a nice big step forward. For those of you with Arm devices (like the Raspberry Pi), these two projects definitely sound interesting and will expand what you're able to do.
Highlights include:
- DXVK 2.0 working.
- Unity3D games now work.
- Reduced memory footprint.
- Added support for wrapped libfuse so AppImage works.
- Discord working.
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 a bit of a nuisance. Hopefully I'll be able to sort it for an overview video in future.
Box86 v0.2.8 changelog:
- Wrapped more vulkan function, dxvk 2.0 now works
- Added support for overriden malloc/free functions
- Improved elf loader
- Improved dlsym handling with RTLD_NEXT
- Added BOX86_DYNAREC_SAFEFLAGS to allow finetuning Dynarec generated code handling of flags accross function calls and returns.
- Added BOX86_BASH to setup x86 bash binary, so shell script can be run in x86 world
- Added BOX86_ROLLING_LOG to have details log only on crash
- Improved TLS Size handling (Unity3D games now works)
- Improved
execv
family of function to have better box86 integration- Added a few more wrapped libs, like FAudio
- Improved gtk, SDL2, GL, vulkan (and more) wrapping
- Improved Signal Handling and memory protection traking
- Added some basic support for statically linked program. Thread are not working yet, but memory allocation and file access does.
The developer also noted:
"With the use of the new SafeFlags, some C# Windows program now runs fine (it's forced when the Vara family of software is detected). With the basic support of statically linked program, old emulator like modeller for linux works. Program with threads like mugen for Linux still doesn't. The bash integration is useful for device with no binfmt integration or for script that check the machine it's running on"
Box64 v0.2.0 changelog:
- Wrapped more vulkan function, dxvk 2.0 now works
- Added support for overriden malloc/free functions
- Refactor Dynarec memory management, reducing memory footprint (from 20% to 40% of Dynarec size)
- Improved elf loader
- Improved dlsym handling with RTLD_NEXT
- Added BOX64_DYNAREC_SAFEFLAGS to allow finetuning Dynarec generated code handling of flags accross function calls and returns.
- Added BOX64_BASH to setup x86_64 bash binary, so shell script can be run in x86_64 world
- Added BOX64_ROLLING_LOG to have details log only on crash
- Work on alignment for some of pthread structures
- More wrapped libraries in the gtk family
- Some fixes on the Dynarec x87 code (fixing a bunch of games like ut2004 or Piczle Puzzle)
- Improved TLS Size handling (Unity3D games now works)
- More PageSize Compile options
- Improved
execv
family of function to have better box64 integration- Added support for wrapped libfuse so AppImage works
- Adjusted the binfmt integration so AppImage are automaticaly picked
- Improved FAudio, SDL2, GL (and more) wrapping
- More wrapped libs, like libEGL.so, to helps emulated Qt4/5 libs to load
- Improved Signal Handling and memory protection traking
- Some signature fixes to some wrapped functions (in libc)
- Added more syscalls
- Added a lot of new opcodes to the ARM64 Dynarec
The developer also noted that the likes of: Surviving Mars, Piczle Cross Adventure (using Proton experimental), Unreal Tournament 2004, Obduction, Machinarium, Silicon Zero, Hacknet, Absolute Drift, Art of Rally, Dota 2 are now working. Plus apps like TeamSpeak 3 Client and Server or Discord.
Quoting: SolarwingHey any luck with rasp 4? I tried to install latest fedora 37 on raspberry 4 8 GB model B but no luck so far. It just freezes before the desktop appears. Odd. Maybe I should try the latest ubuntu and test both emulators that way.I've been trying for the last 2-3 hours, I think the SD Card I am using is a bit iffy. Was hoping to add a quick video after, but no luck today.
https://store.steampowered.com/app/353380/Steam_Link/
It really sucks that it isn't available for non RasberryPI ARM sbcs :(
Though the Pi GPU does indeed tend towards not being usable.
See more from me