Box86 - Linux Userspace x86 Emulator


Not sure if this has already been mentioned, but this project, integrated into an Android app, is pretty cool:

https://github.com/brunodev85/winlator
I've been playing with it (or at least one of its forks) and it's pretty impressive.
I've been able to run Interstate76 with it, so you had something like:
- CPU : Windows 32 -> Windows 64 -> Linux x86_64 -> Linux ARM64 -> Android
- GPU : Glide -> D3D -> OpenGL -> OpenGL ES (I eventually found a Glide wrapper that translated directly into OpenGL)
There are so many layers and it's working better than it was last time I tried to run it on a modern Windows PC.
 
Wow, better than Rosetta on a M1? Doesn't Rosetta benefit from some help from the hardware? Does box64 benefit from them as well are you just that much better than Apple's software team?

And box32 is a great idea. :)
 
Wow, better than Rosetta on a M1? Doesn't Rosetta benefit from some help from the hardware? Does box64 benefit from them as well are you just that much better than Apple's software team?

And box32 is a great idea. :)
A few official CPU extensions are used (for example "flagm" and "flagm2", but nothing Apple specifi :) .
 
When i did look for an Bookworm Image whit installer last week, i did also saw there is an Box86.deb for the Pyra, dos this means you can quite easely install this on the Pyra whitouth hacking stuff in your Terminal to compile it? So this means also i would to get par exemple Stardew Valley to run on Pyra grap the .deb, install Box86, go to the GOG Side via Debian on the Mac Mini Parallels, Download it an put it on the Pyra?

Oh and Box86 is also used on some Portmaster Games on the Anbernic RG XX Series par exemple .. , did saw an Folder there..
 
That's odd that arm64 abandoned 32 bit support because they also had thumb (16 bit support on arm32)
 
because they also had thumb (16 bit support on arm32)
Thumb is a 32-bit instruction set, having mostly 16-bit large instructions does not make it a 16-bit instruction set - it still uses 32-bit general purpose registers and a 32-bit address space. It literally only exists to make the code need less space that regular ARM code.
 
  • Like
Reactions: rSl
Back
Top