in

ptitSeb / box86, Hacker News

ptitSeb / box86, Hacker News


                    

        

Linux Userspace x 86 Emulator with a twist

Donate

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

Also, Box 86 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 x 86 Games needs OpenGL, so on ARM platform, a solution likegl4esis probably needed.

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

Current version is still experimental, so some stuff still wont run. But many do works, like for example, WorldOfGoo (at least on the Pandora), Airline Tycoon Deluxe or new FTL. Many of the GameMaker linux game also runs fine.

If you are serious about developping Box 86, you should install ccache and activate it’s support in the cmake project (use ccmake for example) To have the TRACE enabled (ie dumping to stdout all individual x 86 instruction execute, with dump of registers), you’ll also needZydis libraryaccessible on your system.

Some x 86 internal opcode use parts of “Realmode X 86 Emulator Library “, seex 86 primop.cfor copyright details

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

Play on YoutubePlay on Youtube


Compiling

How to compile can be foundhere


Usage

There are a few environnement variable to control Box (**************************************************************************************************************.

Seeherefor all variables and what they do.


Version history

The change log ishere


A note about Unity game emulation

Running Unity game is not possible for now. Mono itself use signal that are not well emulated enough. So the solution is to use a native version of the libmono used by unity. It can be found here:https://github.com/ Unity-Technologies / monoand it needs to be build from source. When build copylibmonosgen-2.0.sotolibmonounity.soand put it somewhere it can be dlopen’d (so inUSR / LIBor friend or somewhere in yourLD_LIBRARY_PATH). Note that libmonounity is not completly wrapped yet, and the mecanism to call x 86 library from libmonounity is not done yet


Final word

(If you use Box 86 in your project, please don’t forget to mention Box 86)

  

Brave Browser
Read More
Payeer

What do you think?

Leave a Reply

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

GIPHY App Key not set. Please check settings

The U1 chip in the iPhone 11 is the beginning of an Ultra Wideband revolution, Hacker News

The U1 chip in the iPhone 11 is the beginning of an Ultra Wideband revolution, Hacker News

YouTube is shutting down its TV-friendly web interface – Engadget, Engadget

YouTube is shutting down its TV-friendly web interface – Engadget, Engadget