Box86 and Wine on RPi4
-
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?
-
@retropieuser555 that is interesting. Perhaps the latest version of Mesa got updated in the regular location. I'm unable to check right now, but I guess it's possible.
Could you share the output of:
dpkg -l | grep libgl1-mesa
That will tell us what version is installed via
apt
.Typically, Mesa gets installed in
/usr/lib/arm-linux-gnueabihf/
, but I wouldn't suggest removing it from there, because it's what is running OpenGL on the entire system.- George
-
@george So it seems in the proper location it's this:-
pi@retropie:~ $ dpkg -l | grep libgl1-mesa ii libgl1-mesa-dev:armhf 19.3.2-1~bpo10+1~rpt3 armhf transitional dummy package ii libgl1-mesa-dri:armhf 19.3.2-1~bpo10+1~rpt3 armhf free implementation of the OpenGL API -- DRI modules
So that's 19.3.2 right?
-
@wodak those are cool videos! Thanks for making them!
- George
-
@retropieuser555 Yes, that seems to be the default install. I'll need to check things out again.
-
@george hello . So I have been playing with Box86 as well. Killing my head trying to launch MUGEN from retropie. Have you seen lutris? A frontend for box86 games, steam and Linux games . It handles alot 9f script for you as launch games with lutris=lutris game id =1.
I tried to install your packages on twister os with no success.I was able to get your packages in retropie packages menu. But when install its says install box86 first go to install box86 script says install wine and so on.
Could the fact that twister os has box86 already be causing issues ?
Gonna try from fresh raspi os and retropie .
But no success with twister as of now.
Trying to build a mugen image this is my last step launching from retropie .
Have been testing mugens and other games. I am very impressed with current box86 and wine . -
Thanks @troopaking I've played a bit with Lutris and Twister OS, but not as much as I would probably like to. They are both great. My main interest with Raspberry PI's is emulation, so usually for me RetroPie is the way to go.
With regards to the problems you are seeing, it might be a conflict of sorts with Twister OS, as it will have a more recent version of Mesa and Box86 already installed. Perhaps there is a way that I can detect whether someone has already installed those separately, as they typically get installed in a system location, vs. the typical RetroPie location of
/opt/retropie/
. I've put them in/opt/retropie
because that's where everything else with RetroPie goes. I might have to double check that though.Hopefully the Raspberry Pi Foundation will update Mesa in their standard builds. If that happens, doing the special install of Mesa in the future won't be necessary. That's one of the deal breakers from getting this into the official RetroPie distribution. It's too much too support and too many moving pieces.
There's a very slim chance there might be another issue with RetroPie on TwisterOS if your RetroPie Setup script isn't updated to the most recent versions, or if you are updated to the most recent versions, but the scripts are old. It's a pretty slim chance though. You can check by running RetroPie setup and making sure that the version says at least 4.7.7.
I've never played with MUGEN, but it looks pretty cool. Closed source and possibly abandonware though? Might be difficult to get running. Have you tried it on an X86 Linux PC with Wine? If that works, next step would be to try with TwisterOS via Box86 and Wine (no RetroPie).
- George
-
Fixed issues see below.
-
UPDATE launched skifree just fine with following "how to" for easy reference.
All taken from above thread and Georges Github. ALL CREDIT TO HIM AND OTHERS IN THREAD.
UPDATE. INSTALL PIXEL DESKTOP FIRST THEN WILL WORK FINE WITH DESKTOP INSTALLED
1.Download retropie os burn to sd card put in pi
2.update with
sudo apt-get update
3.Install Georges retropi setup extras
git clone --branch emulator https://github.com/GeorgeMcMullen/rp-box86wine /home/pi/RetroPie-Setup/ext/rp-box86wineemu/
4.Run and Update RetroPie-Setup
Run retropie setup update. After update you should see a new subsection in "dependencies" and "experimental" with the scripts in them. They must be run in order and will produce an error if you try to install them out of order. Launch RetroPie Setup, go to "Manage Packages" (P) and then run the scripts as follows:
dependencies/mesa
experimental/box86
experimental/wine
5.Move game fies to /home/RetroPie/roms/wine/Files
This can be done many ways . SSH, midnight commanderto name a few.
6.Two options for making game script (I used .conf)
Option 1.
Create a file /home/pi/RetroPie/roms/wine/yourgame.conf containing the following:
DIRECTORY=/home/pi/RetroPie/roms/wine/Files/yourgame/
PROGRAM=/home/pi/RetroPie/roms/wine/Files/yourgame/gamelaunch.EXE
OPTIONS=
Option 2.
Use the shell script method. Create a file called: /home/pi/RetroPie/roms/wine/yourgame.sh containing the following:
#!/bin/bash
xset -dpms s off s noblank
cd "/home/pi/RetroPie/roms/wine/Files/yourgame/"
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/yourgame/gamelaunch.EXE'After you've created either of these files, you'll have to restart Emulation Station in order for them to be picked up.
7.Launch game as normal retropie game.8.Enjoy
-
@george hello again.
Have you been able to install directx in wine ?
I am trying to install it today.
So far most MUGENS 1.1 run good, only a few I've tested have issues.
I am trying to install directx to use winmugen which using directx for video drivers .
Could see directx majorly affecting the compatibility game list .-Any load time difference in running .sh vs .conf?
Seems .sh has "winedebug=....." which is great but .conf file does not.
I've read using winedebug stops wine debug reports and can increase speed.
I just tested with Mugen Super fighter and DC vs marvelous noticeable differenceAny luck launching two programs this way ?
So mugen uses esc key alot Lol. Its the back key and exit. I need to map escape key to controller of course can use joy2key. But can i start this before or in junction with mugen ? -
@troopaking great to hear that you're progress with getting games to run! Well done!
-
Have you been able to install directx in wine ?
I've installed a couple of components via winetricks, like d3drm.dll. I think later versions of DirectX might still have problems. Best bet would be to try the Box86 Discord server. -
Any load time difference in running .sh vs .conf?
There really shouldn't be a big difference in running .sh vs. .conf though I haven't done any performance testing. The .conf is really just a convenience. But that does assume the variableWINEDEBUG=-all
is set. You can always add that to your .sh files by prepending it to the line with the Wine command on it. -
Any luck launching two programs this way?
The .sh files are probably your best bet for running multiple programs. Perhaps by adding joy2key as the first line in your script? Maybe with & at the end to make sure it runs in the background? I've never used it before.
Hope that helps!
- George
-
-
@george
Thanks for response .
Good to know knowledge on .sh vs .conf . I have had really good performance with most expected games using .conf method.I have yet to try and install directx will today . Have installed a few through winetricks as well was worried about directx compatibility.
Will also try to open qjoypad before/in junction with 2nd program in this example mugen .
I'm also still gonna try and have a desktop environment installed while using your scripts Hopefully. I was trying for a long time and failing I think cause desktop. I desktop would launch and then nothing or just fails and nothing .
Currently will not work with a desktop installed. Tested on Ubuntu, raspberry pi os, twister os and a few custom retropie builds with desktops.
None of them worked . Used retropie without desktop worked great . -
@troopaking I'm not sure what could cause the problem when a desktop is installed, except for when installing the Pixel desktop, a package called fbturbo getting installed, which is a software based renderer that overrides the hardware based rendering. Everything should still work, but it's slow. You'd be able to see it by doing a glxinfo and it will say something about LLVM Pipe based rendering. I posted on this somewhere in this forum (or this thread).
Something that might cause a problem is if RetroPie is being run from within an existing desktop environment. I don't think the system would respond very well to running X twice. I would try using the .sh method and removing the startx/matchbox line.
- George
-
@george
Thanks ill trying remove matchbox line .
Imo if it effects speed noticeably its not worth it .Also I think its just a desktop at all . For example twister has retropie as a app correct . But if you hit f4 in retropie it brings up a command line . Not a desktop so to my knowledge the desktop environment isn't open when retropie is open. So shouldn't have an effect cause not running twice.
Same result when I exited to command line in raspi os and executed retropie then file and just file script .
-
@troopaking You might also consider trying to change the matchbox line to just be:
startx &
Perhaps there is a conflict between the regular window manager and matchbox. Or maybe matchbox didn't install correctly.
- George
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.