Box86 - Linux Userspace x86 Emulator


I retrieved some x86 libs and was able to try Retro City Rampage. Everything seems to be working (as far as I could test). I was able to navigate the menus, change some options, start an "arcade challenge" and walk around. I saw no visual glitch, music and sound seemed to be working fine as well.
As expected, it's very slow. In game, it took about 25 seconds in real time for one second in game, without much going on on the screen.
 
  • Like
Reactions: ___
I retrieved some x86 libs and was able to try Retro City Rampage. Everything seems to be working (as far as I could test). I was able to navigate the menus, change some options, start an "arcade challenge" and walk around. I saw no visual glitch, music and sound seemed to be working fine as well.
As expected, it's very slow. In game, it took about 25 seconds in real time for one second in game, without much going on on the screen.
At least it works. Too bad it's too slow, that would have been fun.
 
Seeing it fully working despite not having been tested was already very impressive to me :)
That was on my Ghz Pandora. I don't know what to expect on a Pyra (or with a JIT ;) )
The 486 version works ok in dosbox. It doesn't always seem very smooth but I don't know if it's due to the emulation or to a limitation of the game itself.

I'll try to test with other games in the coming days, I'll keep you posted.
 
Just a quick update.
If you follow the github repo, you have seen some activity on it. Things are progressing, on the fix / enhancing level.
So while Box86 is not faster, it's running more and more things.
Here, see my current attempt on the Pandora (but that take soo long...)
 

Attachments

  • box86_55.png
    box86_55.png
    71.9 KB · Views: 448
If you follow the github repo, you have seen some activity on it. Things are progressing, on the fix / enhancing level.
Yes i'm following the frenetic updates...:p:cool: i had to build several time to have an updated box86 ...(but i'm glad that the work is progressing).

Now i rebuilt with the latest changes (at least for now ;)) and give a go with some old Linux demos by Fit demogroup
with Anataus4
--------------------------------------------------------------
Setting PATH to /media/TEMPUS/eggnoggplus-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /media/TEMPUS/eggnoggplus-linux/lib:/lib:/usr/lib
Debug level is 1
BOX86_LD_LIBRARY_PATH: /media/TEMPUS/eggnoggplus-linux/lib/i386-linux-gnu/:/media/TEMPUS/eggnoggplus-linux/lib32/
Using default BOX86_PATH: ./:bin/
Counted 38 Env var
Looking for ./ana4
Using native(wrapped) libXext.so.6
Using native(wrapped) libX11.so.6
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Error: Symbol XDestroyImage not found, cannot apply R_386_JMP_SLOT @0x81ed308 (0x80491ae)
Error: Symbol setitimer not found, cannot apply R_386_JMP_SLOT @0x81ed35c (0x80492fe)
Select your sound device:
0 - None
1 - /dev/dsp 8-bit
2 - /dev/dsp 16-bit
0
...dnuof ton ecived dnuoS

and with Xus_anex
after adding x86 libs (vga.so.1 and x86.so.1)
Setting LD_LIBRARY_PATH to /media/TEMPUS/eggnoggplus-linux/lib:/lib:/usr/lib
Debug level is 1
BOX86_LD_LIBRARY_PATH: /media/TEMPUS/eggnoggplus-linux/lib/i386-linux-gnu/:/media/TEMPUS/eggnoggplus-linux/lib32/
Using default BOX86_PATH: ./:bin/
Counted 38 Env var
Looking for ./xus_anex
Using emulated /media/TEMPUS/eggnoggplus-linux/lib/i386-linux-gnu/libvga.so.1
Using emulated /media/TEMPUS/eggnoggplus-linux/lib/i386-linux-gnu/libx86.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Error: Symbol ioperm not found, cannot apply R_386_JMP_SLOT @0x404df110 (0x8046)
Error: Symbol setgid not found, cannot apply R_386_JMP_SLOT @0x404df14c (0x8136)
Error: Symbol iopl not found, cannot apply R_386_JMP_SLOT @0x404df224 (0x8496)
Error: Symbol setegid not found, cannot apply R_386_JMP_SLOT @0x404df238 (0x84e6)
Error: Symbol setuid not found, cannot apply R_386_JMP_SLOT @0x404df268 (0x85a6)
Error: Symbol valloc not found, cannot apply R_386_JMP_SLOT @0x404df26c (0x85b6)
Error: Symbol setpgid not found, cannot apply R_386_JMP_SLOT @0x404df274 (0x85d6)
Error: Symbol __register_frame_info not found, cannot apply R_386_JMP_SLOT @0x8238338 (0x8048a62)
Error: Symbol setitimer not found, cannot apply R_386_JMP_SLOT @0x823836c (0x8048b32)
Error: Symbol __deregister_frame_info not found, cannot apply R_386_JMP_SLOT @0x8238370 (0x8048b42)
Error: Symbol __bzero not found, cannot apply R_386_JMP_SLOT @0x82383c4 (0x8048c92)
./runscript.sh: line 30: 1977 Segmentation fault bin/box86 ./xus_anex

I don't know if they are hard to implement or they are really old things not used anymore...but they are some simple demos so maybe could run nicely.
 
@Farox I have added most of the function. Only exception are __register_frame_info and __deregister_frame_info. Those 2 functions are supposed to come with libgcc_s.so. There are not part of libc.

For eggnogplus, it seems it cannot open /dev/dsp ? That's strange, this should works.
[doublepost=1553122009,1553121926][/doublepost]
Did it actually load all the way?
It did, but then fail because it doesn't find steamui.so. As a mater of fact, I don't find steamio.so neither. I have to understand how this work and where this libs comes from (but it did download a bunch of stuff and started to decompress a few things).
 
it seems it cannot open /dev/dsp ? That's strange, this should works.
It's strange..Anataus4 show no more errors now but dev/dsp is not found (i selected every options 0-1-2).

Xus_anex instead continue to show this __register/__deregister errors...maybe the libgcc_s.so.1 used is incompatible (or too new) for this old software.

Thanks.
 
It's strange..Anataus4 show no more errors now but dev/dsp is not found (i selected every options 0-1-2).

Xus_anex instead continue to show this __register/__deregister errors...maybe the libgcc_s.so.1 used is incompatible (or too new) for this old software.

Thanks.
For Anataus4, I'll debug later, there is probably some wrapped function that don't behave correctly.
For Xus_anex, I'm unsure. I have to think of something. I can probably do a fake dummy version of both function in box86, but I would prefer to understand how this is solved on an actual x86 linux first.
 
Regarding Steam, wouldn't SteamCMD be an easier target for now? Though I don't mind you trying to get the full client to run of course.
That being said, while SteamCMD certainly has account login and the app_run command, I'm not 100% sure if you can properly run games that require Steamworks functionality with it.
 
Tried Papers, Please and got a segfault. I'll try to compile a more recent version of box86 and try again.
 
PtitSeb is a very kindly Person.
I like what he does all for us and i like him as a Human.

Even his Son (Loic2000) released some Pandora Software for us :)

Unfortunaly i do not unterstand his "Magic" what he all do.
In most Cases i must give up with Compiling Errors,
but he near always know what to do.

Bochs86 is a very great Software.
I was not able to test much with it but Skunks X86 32Bit Version start in a Window.

I want to try some older Games from HappyPenguin and
older LinuxGames FTPs.

Some of my Goals are:
X2-The Thread(but its heavy)
Ragnarok Online(if there is a native Linux Version)
Descent3(Loki)

And Rpg Maker XP/VX Games in some other Way :)


A big Thanks here again to @EvilDragon @ptitSeb @notaz and all others for this Wonderfull Device and Software.

I still love my Pandora.
 
Last edited:
Hi PtitSeb,
In two words : Merci et Bravo (meme si je comprends pas grand chose a ce que tu fais :) )
I have a friend who bought a Psion Gemini, nice for 5 minute, and then....he feels alone, alone, alone...
With Pandora I feel like I had a big virtual family...and this is nice
 
Back
Top