Clientroot
Posts: 20
Joined: Fri Jan 24, 2020 2:05 pm

Running X86 on the PI:Emulation programs VS Chroot method

Mon Sep 14, 2020 9:54 am

What is the best way to run X86 linux programs on the PI 4 with flawless compatibility? I tried BOX86 but it doesn't work for some games that work flawlessly on an x86 operating system.

1. Is there a big diferrence between BOX86 and RPI86? Whats the best x86 emulation program?
2.How good is using chroot method to a x86 debian or ubuntu environment? Is it fast enough? What advantages does it give compared to emulation from a program like BOX86?




links of what I mean with chroot method:
https://www.novaspirit.com/2019/04/15/run-x86-arm/
viewtopic.php?t=226376
Last edited by Clientroot on Mon Sep 14, 2020 2:39 pm, edited 1 time in total.

User avatar
thagrol
Posts: 3780
Joined: Fri Jan 13, 2012 4:41 pm
Location: Darkest Somerset, UK
Contact: Website

Re: Running X86 on the PI:Emulation programs VS Chroot method

Mon Sep 14, 2020 11:40 am

You do know that those "chroot" methods are still using emulation don't you? It simply isn't possible to run x86 code on an ARM CPU without it.

Oh, and your first link is broken.
Arguing with strangers on the internet since 1993.

Clientroot
Posts: 20
Joined: Fri Jan 24, 2020 2:05 pm

Re: Running X86 on the PI:Emulation programs VS Chroot method

Mon Sep 14, 2020 2:31 pm

thagrol wrote:
Mon Sep 14, 2020 11:40 am
You do know that those "chroot" methods are still using emulation don't you? It simply isn't possible to run x86 code on an ARM CPU without it.

Oh, and your first link is broken.
I don't know alot about it but after posting this thread i did some more research. It seems like BOX86 emulates only some stuff so that the performance loss is very minimal. The Chroot method stacks on top of the host system or something like that.

the first link just has some spaces added to it. Wasn't entirely sure if linking outside of the raspi forums was allowed

ptitSeb
Posts: 206
Joined: Tue May 19, 2015 2:49 pm

Re: Running X86 on the PI:Emulation programs VS Chroot method

Wed Sep 16, 2020 11:55 am

You pretty much nailed it. Box86 aim is to emulated as less things as possible, where qemu aim is to create an emulated environnement as complete as possible. Different objectives here.
One of the advandage of box86 also is that most library that need some "hardware" access are also wrapped: things like OPenGL, ALSA or PulseAudio are not emulated at all, and the native version is used, so you don't need to build a mesa with v3d driver on i386 or use some Network tunneling magic to get 3D Hardware support with box86.

But keep in mind box86 is still young, and there isn't much external contributions to it yet. So yes, there are some bugs, and not everything works. I you have issue with specific games, open a ticket in box86 github so I have a look.

User avatar
thagrol
Posts: 3780
Joined: Fri Jan 13, 2012 4:41 pm
Location: Darkest Somerset, UK
Contact: Website

Re: Running X86 on the PI:Emulation programs VS Chroot method

Wed Sep 16, 2020 4:25 pm

So would I be right in drawing the conclusion that Box86 uses native ARM code to handle any API calls made by the x86 application but that all other x86 code is still emulated? And presumably as much of the other support hardware that's needed?

If so, I guess things that do the heavy lifting in their own code rather than in the APIs wont' see a great deal of improvement over a pure emulation solution?

Not intended to be critical, just curious.
Arguing with strangers on the internet since 1993.

ptitSeb
Posts: 206
Joined: Tue May 19, 2015 2:49 pm

Re: Running X86 on the PI:Emulation programs VS Chroot method

Wed Sep 16, 2020 6:09 pm

Well, yes. All app code is still emulated. That's why I try to also have an efficient x86 dynarec in box86. But for sure it's slower than native ARM code.

Return to “Gaming”