Box86 - Linux Userspace x86 Emulator


Update:

Built specifically for the purpose of recording and promoting Box86 videos - I present:

Frankencorder.

IMG_20201010_143442.jpgIMG_20201010_143532.jpgIMG_20201010_143554.jpgfrankencorder.jpg

Type-C HDMI capture card + 256GB SSD + USB Stereo Microphone + Pi => Headless Streamer and HDR.

Runs with OpenMax enabled FFMpeg.

Frankencorder (4gb Pi) will be used to record my normal working Pi (8gb Pi) (the one in my profile picture).

Now on to learning how to make videos without looking like a silly person. First Box86 video coming soon :)
 
Last edited:
@nomadicus The hardware is impressive indeed. Did you do something with the software (I don't know much about the OpenMAX API)? Do the buttons work for stop/start and does it autorenumber each recording? (like SOX, that has autorecording, only when sound is heared, it starts recording, and can be made to stop too with silence)
 
@FBnil - thank you, but it's not actually that impressive, I mainly posted it to show that I was working on a way to start making Box86 videos (and not going back on my promise) as well as demonstrating a relatively cheap solution to do it with ($55 Pi, $15 case, $50 SSD, $60 HDMI capture card (Pi does USB boot, so no SD required). (Okay, so not super cheap, but a lot cheaper than most professional solutions out there - and I already had everything except for the capture card).

The capture card doesn't have buttons - it's all software, but I did write a little Go program a while back that handles button presses and triggers events - so I may use that later on. For now it's mainly all standard stuff - except for FFmpeg which had to be rebuilt to include the OpenMAX library - allowing the Pi to use hardware assisted encoding up to 1080p. Apart from that I've written a simple bash script that automates various recording modes, increments file numbers etc. I'll control it using ssh initially.

I was shocked to find out that the most powerful machine that I own (yet rather limited by most people's standards) - an x86 box (LattePanda Alpha 864) couldn't handle encoding 1080p... barely 720p in fact. So... as I wanted to do Box86 justice I started to look for workarounds. In the end I decided to give my spare Pi a try (I bought the 4gb Pi when it was first released... and then they released the 8gb version.... doh...). Lo and behold - it actually performed better using plain old libx264 - than the x86 box did (despite having the ultimately useless Intel QuickSync libraries enabled). So then I decided to compile ffmpeg with openmax and presto Frankencorder's first version was born. A bit of scripting and some velcro later and there we have it: Frankencorder.

I had a little experience before using ffmpeg to stream some video here and there but other than that I have very little experience with the whole video thing - especially making them... So now that the hardware and software are set up... I will have to start setting up a storyboard and theme (and do lots and lot of practising) and start making the actual videos themselves... fingers crossed...
 
Last edited:
I haven't tried myself. I think I have seen someone succedeeding with the 2003 version, but I'm not even sure of that.
 
hi..i compiled Box86 too.:)
Is there a simple Howto for installing Wine for Box86?
(I know that only a few Things work for now with wine,but fun with experimenting.)

I want to experiment too with older Windows Games ;)
 
There isn't any HowTo for that to my knowledge.
You need to find an x86 version of wine (like here https://twisteros.com/wine.tgz )
You decompress it in some place and run the "wine" binary with box86.

You'll need gl4es also. For now, only GLES1.1 backend works on the Pandora. I suggest you use LIBGL_MIPMAP=3 LIBGL_NPOT=2 with wine, it helps for some games.
If you go into the wine bin folder, type:
Code:
LIBGL_MIPMAP=3 LIBGL_NPOT=2 LIBGL_ES=1 box86 ./wine explorer /desktop=shell,700x400
for a virtual windows desktop where you can launch things...

(Also, if using SGX driver 4.04+, you need to add LIBGL_FB=1 (or 2 or 3) to mix...)
 
Last edited:
Just for the fun of it:
wracraft3_02.png


Warcraft III running on the Pandora. It use box86, with wine, and gl4es. The "-opengl" switch of the game allows it to run without any d3d wrapper with gl4es GLES1.1 backend.
Of course, it's way to slow to be really plable, at around 1fps (minimum specs for this game ask for 1GHz processor). Still, it run fine, and wil probably be much more playable on the Pyra.
 
Last edited:
Is there a manpage for this? I want to use it to stream Steam games from my PC, but I don't know how I would add steam and all its dependencies. Do I need a chroot? Apologies if this is written somewhere, I checked the github page but didn't see any actual manual.
 
Is there a manpage for this? I want to use it to stream Steam games from my PC, but I don't know how I would add steam and all its dependencies. Do I need a chroot? Apologies if this is written somewhere, I checked the github page but didn't see any actual manual.
A manual for installing steam? there is chapter on how to launch steam, but not to install it. It's a bit tricky, you need to download the .deb, extract it's content with ar and the extrat the data archive and finaly launch it.
You can probably check with the "pi-apps" launcher as it have some script to do it (I haven't documented that as I don't want to do support for steam installation, as I have already enough with box86 and gl4es).
 
A manual for installing steam? there is chapter on how to launch steam, but not to install it. It's a bit tricky, you need to download the .deb, extract it's content with ar and the extrat the data archive and finaly launch it.
You can probably check with the "pi-apps" launcher as it have some script to do it (I haven't documented that as I don't want to do support for steam installation, as I have already enough with box86 and gl4es).
Okay, I'll have a look. I'm sure it's not too difficult.
 
So I've built a new version of box86 and libGL today and gave it a test on my Pandora
Minit seems to run faster than before, but I haven't tested going back to the places where it really slowed down.
KeeperFX works! The menus aren't that smooth but once in-game, it seemed to be fullspeed (at least at the beginning of a game)
I was also finally able to get ingame in Fallout 1. Except that it's muuuuch to slow to be playable. Even worse than what I recall from Dosbox or Exagear.
Interstate 76 works (with graphical artifacts) and was far much smoother than it used to, maybe not fullspeed but close to playable maybe. I should try tweaking the settings a bit.
Last Word, that used to work but was a bit slow, isn't starting anymore (SIGSEGV on startup).
Pico-8 has a weird bug where I cannot type anything but the enter key. However, if I load a cart in the command line when starting it, I can then launch the game and play correctly, and it seems to run better and faster than it used to.

I'll try to run some more tests, but so far it seems like it has been much improved! :D
 
Last Word, that used to work but was a bit slow, isn't starting anymore (SIGSEGV on startup).
Pico-8 has a weird bug where I cannot type anything but the enter key. However, if I load a cart in the command line when starting it, I can then launch the game and play correctly, and it seems to run better and faster than it used to.
I don't know "Last Word", is it a linux game?

About pico8, which version are you using, I want to reproduce the keyboard issue on my side.
Post automatically merged:

Also, just to note, I have a stand on the (virtual) Fosdem this year. I'll will doing a few (unplanned) event on the Chat room, so feel free to come by it. Fosdem is this WeekEnd, so hury up!
 
Last Word is a Linux games that was in the itch.io bundle for racial equality. It's one of the few games that I was able to get running with box86. It used to bit a bit too slow to be playable so it was a good way to check for noticeable performance improvement.

For pico8 I'm using the version from that same bundle (0.2.1B). I've also noticed that the "Splore" won't download carts but I think it's because it uses wget and the Pandora's wget doesn't support TLS 1.3 that's used on the server. I've been trying a few workarounds but got nowhere, I guess I should compile a recent version linked with a recent openSSL but if anyone has a static binary I'd be grateful.
 
Back
Top