Box86 - Linux Userspace x86 Emulator


I tried to run Baba is You on the Pandora (I think it might be playable) with a version of box86 I compiled last week but couldn't get it to work. It complained about missing libudev so I got it from a x86 distro and added it to my x86 libs but then it failed to load the lib. I can send you the error message if you want.

I'm also unable to run anything with wine. I'll try to re-install wine from scratch. Is there a version you recommend for latest box86 on the Pandora?
 
Baba is you might work yes, I'll try on my Pandora, if I can get it to work long enough :S

Wine is tricky on the Pandora. An old version like the 5.13 from there: https://twisteros.com/wine.tgz should work. The issue is gl4es, that still have trouble with wine. Avoid D3D games, it will probably not work. It should works fine with OpenGL or simple 2D games (but some 2D games use D3D by default, like Plants vs Zombies).
 
I got Baba is You to work. Turns out I was trying to start it from the wrong working path (I was starting it from the bin32 directory instead of the base directory).
It's playable. The transitions are a bit slow (but they can be skipped) but the game itself is completely playable, there's no lag between the input and the action. And it's pretty fun so far.
 
(Relatively) new to bbox86 (and box64), is the abbility to run bash. It is interesting on the Pandora, because there is no binfmt integration here (at least, not an isea one).
There is a copy of an i686 version of bash in the "test" folder. It allow you to run bash script and simulate better an x86 system.
Look at what a small session looks like:
Code:
/media/sda1/sources/git/box86/build$ box86 ../tests/bash
Box86 with trace with Dynarec v0.2.7 4946642f built on Aug 30 2022 10:32:16
/media/sda1/sources/git/box86/build$ uname -m
i686
/media/sda1/sources/git/box86/build$ uname -a
Linux gigaseb 3.2.102 #1324 Sun Jun 24 19:08:21 EEST 2018 armv7l GNU/Linux
/media/sda1/sources/git/box86/build$ ../tests/test01
Box86 with trace with Dynarec v0.2.7 4946642f built on Aug 30 2022 10:32:16
Hello World!
/media/sda1/sources/git/box86/build$ echo ${BASH_VERSION}
5.1.16(1)-release
/media/sda1/sources/git/box86/build$ exit
exit
/media/sda1/sources/git/box86/build$ echo ${BASH_VERSION}
3.2.57(1)-release
/media/sda1/sources/git/box86/build$
 
Does it include something of a x86 linux? Or is it just the bash.exe ?
Interesting idea to put a small x86 linux if you have a linux binary you want to run/test out in an isolated environment.
(I can think of a few old Linux games I bought (not sure where they are now... lost, I guess), which are basically compiled for a very old kernel and wont run on a modern linux). So there is a speed gain if box86 can run them instead of through a VM with an old Linux installed on it.
 
It's just the bash exe. All the command like ls, chmod, whatever will be the arm ones. There is a special case for uname to force the "i686" mesage to fool some bash script. So it's not a full qemu/chroot. Just some way to have bash+x86 binary running without binfmt integration.
 
I have improved the bash support, and now script are really launched with the x86 version of bash.
For example:
Code:
/media/sda1/sources/git/box86/build$ box86 ../tests/bash /media/sda1/sources/x86/wizard_of_legend_v1_22a_38305.sh
Box86 with trace with Dynarec v0.2.7 76a86e2e built on Sep  8 2022 09:19:17
Verifying archive integrity... All good.
Uncompressing Wizard of Legend (GOG.com)  100%
Box86 with trace with Dynarec v0.2.7 76a86e2e built on Sep  8 2022 09:19:17
Collecting info for this system...
Operating system: linux
CPU Arch: x86
trying mojosetup in bin/linux/x86
USING en_US
Box86 with trace with Dynarec v0.2.7 76a86e2e built on Sep  8 2022 09:19:17
Will launch the setup extracted from the shell script and the installer just see an x86 system, and all this without binfmt integration :)

Now, I have t port that to box64 too.
 
New version of Box86 and Box64 tagged!

More details on

And on the github of both boxes.

And phoronix also covered the release: https://www.phoronix.com/news/Box64-0.2-Box86-0.2.8

(I also created a small blog entry https://box86.org/2022/11/box86-v0-2-8-box64-v0-2-0/ )
 
Last edited:
Last edited:
taki udon recently did a video on box86

Uff, nevermind you're already in the comments lol
 
Ok, sorry about this, I've just discovered this exists and it looks very exciting, but I can't for the life of me work out how to install this on the pandora? is there an idiots guide out there?
 
As far as I know there is no PND nor any pre-compiled file available.
So you'll need the CodeBlocks PND.
You then run its command line and type:
This will retrieve the last version of the box86 code.
Once it's done you move to the box86 directory
then you type
mkdir build; cd build; cmake .. -DPANDORA=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make
this will generate the box86 binary that you can then copy to the directory of the x86 executable you want to run, and then it's just a matter of typing
./box86 [name_of_the_executable]
You'll need libraries but most of them are in the Codeblocks PND so in many cases things should run fine when started from the Codeblocks command line.

Chances are you'll need gl4es as well, which you can retrieve and compile using the same lines as above but replacing box86 with gl4es. You can then copy the libGL.so file to the directory of the executable (you can also use an environment variable to tell box86 where to access it). You might need to toy a bit with its settings:
LIBGL_FB=1 LIBGL_ES=2 ./box86 [name_of_the_executable]
You can try with 1, 2 or 3 for LIBGL_FB and 1 or 2 for LIBGL_ES

There are other settings that can help from time to time, but these are the most common.
 
OK, I've finally got Codeblocks installed :D
one wee issue, when I go to build it it says I need cmake 3.10, and I have 3.7.2, do you know how I can update it? I couldn't see any update options in the codeblock menus.
 
Back
Top