Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices
Go to file
2019-03-03 21:24:04 +01:00
src Bumped to v0.0.4 2019-03-03 21:24:04 +01:00
tests Working on fork, with test. 2019-01-19 15:07:38 +01:00
.gitignore Finished inlining a lot of stuff (without getting large speed boost, a JIT is needed) 2019-02-03 23:17:15 +01:00
CHANGELOG.md Bumped to v0.0.4 2019-03-03 21:24:04 +01:00
CMakeLists.txt Added a few (mostly undone) wrapped libs, plus some wrapped functions 2019-03-01 18:36:02 +01:00
COMPILE.md Refined the README 2019-03-03 21:04:07 +01:00
LICENSE Added MIT Licence 2019-02-19 15:23:49 +01:00
README.md Refined the README 2019-03-03 21:04:07 +01:00
rebuild_wrappers.py Added USE_FLOAT build option (hopefully a bit faster on the Pandora) 2019-02-24 13:58:31 +01:00
runTest.cmake More instruction, with fixes. printf is working now, and so is test04 2018-12-22 16:15:26 +01:00
USAGE.md Refined the README 2019-03-03 21:04:07 +01:00

box86

Linux Userspace x86 Emulator with a twist

Box86 will let run x86 Linux program (games) on non-x86 Linux, like ARM (needs to be 32bits little-endian).

Also, Box86 use native version for some "system" libraries, like libc, libm, or SDL and OpenGL, leading to more performance and easier integration with host system.

Most x86 Games needs OpenGL, so on ARM platform, a solution like gl4es is probably needed.

Note that current version of Box86 doesn't feature any form of JIT/Dynarec: expect everything to be slow.

Current version is higly experimental and early, and most stuff wont run and run correctly. For example, WorldOfGoo does run correctly (at least on the Pandora), Airline Tycoon Deluxe runs too. but if FTL runs, the music is distorted...

If you are serious about developping Box86, you should install ccache and activate it's support in the cmake project (use ccmake for example) To have the TRACE enabled (i.e. dumping to stdout all individual x86 instruction execute, with dump of registers), you'll also need Zydis library accessible on your system.

Some x86 internal opcode use parts of "Realmode X86 Emulator Library", see x86primop.c for copyright details

Here are 2 videos, one of "Airline Tycoon Deluxe" running on an gigahertz OpenPandora, and the other of "Bit.Trip.Runner" running on an ODroid XU4.

Play on Youtube Play on Youtube


Compiling

How to compile can be found here


Usage

There are a few environnement variable to control Box86 behavour.

See here for all variables and what they do.

Version history

The change log is here

(If you use Box86 in your project, please don't forget to mention Box86)