Box86 and Wine on RPi4
-
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
-
Ok i will try . I don't think it'll work though. If use startx it basically ignores second line.
I had tried it with many a script before finding this forum thread. -
Hello again ,
So i update the box86 & wine
thought it will help running CLAW (i dont wanna the openclaw but it does works prefect i wanna the movies and the music too)
/ AOE2 / jazz 2 / couple more i guess.
some games in the wine desktop with wine give me like a new screen and goes back to the wine desktop ( like claw & jazz 2).
Heroes of might and magic 3 still getting stuck after a few min' playing .
Still no luck :(((
I do have the pinball working and commandos 1 + 2 so something is good :) -
Hi fellow gamers!
Upfront I must admit, that I haven't dived into the whole "Windows emulation" so far, but I have been reading this topic on and of just out of curiosity.Now with the whole Sega Model 3 emulation on RPi4 I came up with an idea and wanted to ask you if it might work:
There is only one Sega Model 2 emulator (besides MAME, which is too demanding). It is closed source, hasn't goten an update since 2014 and only runs on windows.
Do you think it would be possible to get it to run on RPi4 with Wine or Box86? The emulator is supposed to be not too demanding (don't know, I haven't tried it yet). If that would work, the number of unplayable games on Retropie would be so much smaller!Thanks for hearing me!
-
@ecto I don't understand question.
Mame is in retropie already why not use it ?
In theory it could run in wine/box86 .I am working on getting wine to launch with a desktop installed. Currently no desktop can be installed with this script.
-
@troopaking Let me try to explain: It is true, that MAME can emulate some (not all by far) Model 2 games. But it only can so that in the latest releases, which are not feasible to run even on a Raspberry Pi 4.
The Model 2 Emulator OTOH can emulate almost the whole Library of Model 2 games but is restricted to Windows and is not in active development since 2014.I was just asking myself (and hereby you guys) if it's possible to run the (Windows only) Model 2 Emulator using Box68 or Wine and if the RPi4 might be powerful enough to pull that off in any way? By that, a lot of previously unplayable games would become playable on a (ARM) Retropie.
-
@ecto It might be possible to run Model 2 Emulator, but since it's a relatively recent WIndows program, it might not run fast enough to be playable.
With regards to MAME, I found that the more recent versions of SDL show a major performance increase making some games that were not previously playable in the latest versions of MAME play quite nicely. Here's a post I did about that.
https://retropie.org.uk/forum/topic/28362/enhanced-performance-of-mamedev-mame-in-x11
Hope that helps.
- George
-
@george Thanks for your input. That's a very interesting topic! I have Dosbox (and Dosbox-Staging) run with
XINIT
and have definitely performance gain from that, but I don't know the cause.
I will definitely look into Mame-dev at some point.What equivalent of an Intel or AMD processor would you think the RPi4 can run using Wine or Box86?
-
@george
Ahoy again .
So I am testing with a desktop environment pixel installed now.
SUCCESS
What I did in this order
-install fresh retropie
-install lightdm and pixel
-followed my above "how to"Gonna try and install pixel on other card I have full of mugens and your scripts loaded up.
Will be doing speeds before installing with same mugens and settings.
That way we have no desktop vs desktop installed test as well .
UpDATE
I installed pixel on sd with mugens and script . It stops some from launching and slowed all way down .
Same file on new sd card doesn't have that issue at all. I have pixel on new sd as well. Just installed before your scripts . -
@ecto I can't really say what processor such as Intel or AMD would be equivalent of an RPI4. I think there are several variables. Whereby the ARM processor in the RPI4 might be as powerful as a processor from about 2005 (I get pretty good performance of some games from that time period), the GPU is probably more advanced than those of the era. I think that's part of the success of Box86 - emulate as little as possible, dynamically recompile what it can, push library calls to the native system, and use the power of the current GPU vs. trying to pipe things through software.
@Troopaking , speaking of piping things through software, on the platform that is slow, am I correct in understanding that Pixel was installed AFTER everything else. In a command line can you do:
dpkg -l | grep -i fbturbo
My suspicion is that the LLVM Pipe software renderer got installed again and it slows everything down.
- George
-
@george correct very slow when pixel installed after everything else . Thanks for possible solution .
I am testing on a few builds with desktops on em now . We will see what happens.
UPDATE
Worked on a full build with pixel installed.
Issues happened
skifree exited but didn't return to retropie menu . Just black screen o death
Didnt workon some displays .Anyway to change the wine resolution to match the TV? In a arcade cabinet for example .
-
@troopaking I believe you may want to try changing the resolution of the desktop session before launching Wine, so that it matches the resolution that the game expects to be in. I don't think Wine / Box86 handles resolution changes very well just yet. In your script that launches the game, you could add a line for
xrandr
to set the resolution before launching wine, and then use it again to reset it back to the proper resolution.- George
-
@george
Ahoy .
So I have had great success on many builds with mugen.
Only issue ive come across
-box86 error retropie has to be 4.7.1(or 4.7.something don't remeber exactly)
-if gpu memory is too low will not work.
-i can't get .sh to work at all . Testing now by copying winedesktop.sh and changing directories .I am now working on launching joy2key on wine boot/same time as mugen/before mugen.
I have successfully installed it on wine installer and desktop mapped xbox controller great . Just need to start with wine now :) -
@troopaking that GPU memory tip is good. I will have to try that if I ever have an issue with a game not running.
I wonder if perhaps you might need to do a
chmod a+rx SCRIPTNAME.SH
in order to make it work. You may have already done it, but worth checking.- 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.