Box86 and Wine on RPi4
-
@tedmaul The only major change is that Wine is listed as an emulator instead of as a port. That said, you'd probably need to update your themes for it to be usable also. I've made an entry for the Pixel theme (which is my favorite) on my own fork. You should be able to get it with the following:
git clone --branch rp-box86wine https://github.com/GeorgeMcMullen/es-theme-pixel /home/pi/.emulationstation/themes/es-theme-pixel
The benefit to using Wine as an Emulator in EmulationStation is that you don't need a script that would essentially install another script that would run your game.
I also did update the Box86 script so that it pulls from Box86's master branch. There are several performance improvements that are quite amazing.
Hope that helps!
-
The biggest problem I have trying to get things to run on Box86 (or even compile if that is needed) is I can't install i386 architecture libraries because apt-get and all the package managers won't allow them because the current architecture doesn't support them (but box86 will if you point them out to it)
Is there an install script to install x86 architecture libraries so box86 can use them?
-
@victimrlsh You shouldn't need i386 architecture to compile box86. You might want to try the Box86 Discord though if you're seeing a particular issue compiling Box86. https://discord.gg/Fh8sjmu
-
@george The issue isn't Box86 itself, but the libraries that apps running under Box86 need. The reference to compiling is that some apps running under Box86 need to be compiled and need even more libraries than at runtime.
-
@victimrlsh Hmm. Yes, trying to compile something under box86 probably isn't going to work very well. It would probably be easier to compile it on a true x86 machine and then copy the binaries over Of course, if the source is available, I would also look to see if someone has already done the work to make it compile on ARM based devices. It would run much better that way.
-
@george sounds interesting / promising, thanks! I'll give it a go and report back.
-
@george I'm having trouble getting the new version to work; tried this:
pi@retropie:~ $ git clone https://github.com/GeorgeMcMullen/rp-box86wine/tree/emulator /home/pi/RetroPie-Setup/ext/rp-box86wineemu/ Cloning into '/home/pi/RetroPie-Setup/ext/rp-box86wineemu'... fatal: repository 'https://github.com/GeorgeMcMullen/rp-box86wine/tree/emulator/' not found
Apologies, but have you got any pointers?
Separately, I tried creating a shell script from the file that is in that branch (rp-box86wine/scriptmodules/emulators/wine.sh) and put it into a roms/wine folder, and a new system in es_systems.cfg, pointing to it, but then I was missing a file in runcommand (which, with hindsight, makes sense...)
-
@tedmaul Try this instead. Just need to call git in a different way.
git clone --branch emulator https://github.com/GeorgeMcMullen/rp-box86wine /home/pi/RetroPie-Setup/ext/rp-box86wineemu/
You'll want to remove the any other clone you might have already done, or RetroPie Setup will complain about duplicate scripts and won't load one of them.
Hope that helps.
- George
-
@george Brilliant, thanks - I've got my emulator entry now! Wine desktop etc is running directly from that just fine - my first attempt at a shell though...
#!/bin/bash wine /home/pi/RetroPie/roms/wine/Files/claw/CLAW.EXE
... resulted in a black screen with no way of exiting. I may have missed something...
-
@tedmaul cool. Ok, I have yet to document this, but there's now two ways to add "roms" to the Wine emulator section in Emulation Station. The first way is supposed to be a little easier as it is just a conf file.
Create a file
/home/pi/RetroPie/roms/wine/CommanderClaw.conf
containing the following:DIRECTORY=/home/pi/RetroPie/roms/wine/Files/claw/ PROGRAM=/home/pi/RetroPie/roms/wine/Files/claw/CLAW.EXE OPTIONS=
The other way would be to use the shell script method. Create a file called:
/home/pi/RetroPie/roms/wine/CommanderClawShell.sh
containing the following:#!/bin/bash xset -dpms s off s noblank cd "/home/pi/RetroPie/roms/wine/Files/claw/" matchbox-window-manager & WINEDEBUG=-all LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L /opt/retropie/emulators/wine/bin/wine '/home/pi/RetroPie/roms/wine/Files/claw/CLAW.EXE'
After you've created either of these files, you'll have to restart Emulation Station in order for them to be picked up.
Hopefully one of those should work. I have a long list of games that I'm supposed to test out and haven't gotten to it yet, but Commander Claw is on the list.
- George
-
@george
hey ,
i did try claw but also get a black screen.
did u get it working with what u write ?
will check it too if so :) -
@george Thanks, the conf file opened Wine Desktop but then kicked me out; the shell script was more promising (opened before freezing on the first level), but every subsequent attempt just opens Wine Desktop before kicking me out again (without loading the game). But it feels like progress!
-
@tedmaul interesting. When you say "Wine Desktop", do you see the Wine start menu/task bar at the bottom of the screen?
It does feel like progress though, especially if you were able to at least see some of the game.
- George
-
Just found out there's some kind of open source version of Commander Claw called Open Claw. @shavecat - saw your comment on Discord about it. Cool.
-
I've made some videos with wine and box86 on Twister OS. Yes yes...I know it's not Retropie😁
Bad image and bad sound in videos....but really glad that these games are running :)
check the link
Raspberry Pi 4 - Twister OS - Wine BOX86 Multiplayer games
Titles:
Castle Crashers
Samurai Gunn
Ticky Towers
Nidhogg
Stikbold (loooooong time to load.....a bit laggy)
Crawl
Porcunipine(a bit laggy)
Towerfall Ascension (bad sound) -
Hey so I ran a fresh install recently and found that Fallout and Fallout2 both crash at the video/fmv screens. Is this something anyone else is finding? The games both worked around Jan/Feb for me when I first tried this out, just wondering if it's due to something changed in the newer versions of mesa,wine and box86?
-
@retropieuser555 my guess would be Mesa, as I've seen reports that different versions of Mesa are better for different games. I know that just complicates things. Do you remember which versions you were running prior vs. which versions you are running now (for Mesa, Wine, and Box86)?
- George
-
@george Honestly I've no idea, I didn't keep track of it all unfortunately. I guess it's possible to install earlier branches of mesa? Or once you've updated there's no going back without breaking other things? I know when I first did it I used your box86.sh, mesa.sh and wine.sh files you wrote in Jan/Feb time if you have copies of those about still?
edit: So I had a try at installing Mesa 20.3.4 but my glxinfo is still giving me Mesa 21.2. Anyone know how to totally uninstall a later version of Mesa?
pi@retropie:~ $ DISPLAY=:0 /usr/bin/glxinfo -v -B name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: Broadcom (0x14e4) Device: V3D 4.2 (0xffffffff) Version: 21.2.0 Accelerated: yes Video memory: 1546MB Unified memory: yes Preferred profile: compat (0x2) Max core profile version: 0.0 Max compat profile version: 2.1 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.1 OpenGL vendor string: Broadcom OpenGL renderer string: V3D 4.2 OpenGL version string: 2.1 Mesa 21.2.0-devel (git-956d961339) OpenGL shading language version string: 1.20 OpenGL ES profile version string: OpenGL ES 3.1 Mesa 21.2.0-devel (git-956d961339) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
-
@retropieuser555 I've seen reports that Mesa 21.x generally has issues, and most folks use a branch in the mesa-20.x range (including myself).
It you've installed Mesa with my scripts, they should be installing in:
/opt/retropie/supplementary/mesa/
. This is not the standard location for Mesa, which is intentional so it doesn't create conflicts and crash things that already work.It's interesting that you're running
glxinfo
without providing the path to Mesa. This would either tell me that Mesa got installed in the standard location, X-Windows was launched with the path to Mesa set to somewhere else, or the RPI Foundation updated Mesa to the most recent version (least likely scenario but possible).Could you try the following:
LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" DISPLAY=:0 /usr/bin/glxinfo -v -B
If you're still seeing v21, then the older version of Mesa did not get installed correctly. You could try to wipe out what is in the
/opt/retropie/supplementary/mesa/
folder and try again.Hope that helps.
- George
-
@george It's the strangest thing, when I tried as you suggested it shows that mesa is 20.3.4. So I guess I have two versions installed somehow. What's the standard mesa location? Maybe I can delete it from there.
Although my .sh file is pointing to the 20.3.4 version
#!/bin/bash xset -dpms s off s noblank cd "/home/pi/.wine/drive_c/GOG Games/Fallout/" matchbox-window-manager & WINEDEBUG=-all LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L /opt/retropie/ports/wine/bin/wine '/home/pi/.wine/drive_c/GOG Games/Fallout/falloutw.exe' -fullscreen
So does this mean the game or something is overriding that and using mesa 21.x instead of the one I'm directing it towards?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.