Box86 and Wine on RPi4
-
Hi all,
I've updated my pull request to include the changes required for RetroPie 4.7.7.
I have not switched Timidity to FluidSynth yet. I'm still experimenting with that. Some notes:
- Timidity seems to sound a bit better than FluidSynth on the games I've tried.
- DOSbox and a couple of other things seem to use Timidity vs. FluidSynth, but they don't use Timidity in daemon mode.
- I tried some optimization flags with Timidity. I didn't see much of a change in performance, thought I'd really have to check to see if any buffer underruns were occurring.
- Even with the optimization flags for Timidity, the daemon still messed up the audio after about 24 hours. To test this, just play a game like Space Cadet 3D Pinball, with music enabled. Then exit the game and leave your Raspberry Pi on. A day or so later, come back and try Space Cadet again. Sometimes no sound will come out, other times choppy sound effects will play, but the MIDI music will not play at all.
- So running Timidity in Daemon mode is going to go out for sure. But that will mean that launch scripts will have to start / stop a MIDI synth themselves. This requires a bit more investigation.
In other news, I created a new repo that can be used with RetroPie's new external repo capabilities. That way, you can get the latest scripts without worry of messing with your RetroPie directory. It's located at: https://github.com/GeorgeMcMullen/rp-box86wine and in order to use it, just to the following:
git clone https://github.com/GeorgeMcMullen/rp-box86wine.git /home/pi/RetroPie-Setup/ext/rp-box86wine/
Additional instructions are in the repo. I'll be keeping this repo in sync with the pull request. The main branch just uses the most recent stable releases, as the three different packages are all under very active development. The versions are currently as follows:
- Mesa: 20.3.4
- Box86: 0.2.0
- Wine: 6.0
I may create a separate branch that uses the absolute latest from each. Not sure yet though.
Hope this helps some folks.
- George
-
I've been thinking about putting together a script that would facilitate the creation of ports. It would work by scanning for Wine Prefixes (Bottles) in a directory (like /home/pi/RetroPie/roms/Wine/) and then configuring ports using a single master Wine ports script with parameters for the Wine Prefix. It might make management of Wine based games a little easier, and it could also make managing MIDI a little easier (DOSbox starts/stops the Timidity when launching/exiting).
Would be interested in some feedback on the following challenges.
- If I'm not mistaken, even with a Wine Prefix set, there doesn't seem to be a way to automatically launch a specific program unless you specify it on the command line.
- Wine doesn't seem to respect anything in the "Startup" folder in the start menu. Even if you launch Wine Desktop, the items in Programs / Startup will not get launched.
- There doesn't seem to be a way in the RetroPie-Setup helpers to remove a port. It might be helpful if you are experimenting with different Wine Prefixes and continually add/remove folders.
An alternative would be to use "conf" files, which is something that DOSbox seems to do. That way, any time you wanted to add a new app, you just create a simple conf file in /home/pi/RetroPie/roms/wine/ that would set some variables like the Wine Prefix, launch folder, Windows executable file, and even whether or not to launch MIDI.
The benefit of the alternative is that you wouldn't necessarily need multiple Wine prefixes for each game, but you'd have the flexibility to use them if you want. Also, you'd be able to add/remove conf files like you manage your roms. Of course, you'd still have your Wine prefixes to deal with though.
I guess another benefit to the alternative would be that Wine (and all Wine based apps) could show up as an emulator vs. a port. The downside might be that people would have to create their own conf files.
Would love to hear people's thoughts.
Thanks!
- George
-
Great idea @George ,
Then you will be doing somewhat the same as wat I am doing here :
https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone
Perhaps you can borrow some code / ideas ;-)Good luck, curious on what you will be making.
-
@george said in Box86 and Wine on RPi4:
An alternative would be to use "conf" files, which is something that DOSbox seems to do. That way, any time you wanted to add a new app, you just create a simple conf file in /home/pi/RetroPie/roms/wine/ that would set some variables like the Wine Prefix, launch folder, Windows executable file, and even whether or not to launch MIDI.
I believe this is the only solution (hence I already instaledl all prefixes in /rom/box86/box86data ....)
-
@george im open with both really. since i already did a bunch of "conf" files on my dosbox that way is not that different,
granted i have not messed with box86 yet.
and with being said your script way is nice too for the people who have not messed with it yet. like me :) -
I've been working my way through this topic very slowly and am so impressed at the progress that has been made in such a short space of time!
Personally, thanks to the pointers last week, I've managed to install all the relevant applications and can now run Wine from the ES Ports menu (but weirdly, Winetricks just hangs with a black screen and mouse pointer, but that's another matter!)
Through Wine Explorer I have managed to get Captain Claw to work, albeit in a small window in the top-left quarter of the screen. Any attempts to launch from ES have failed though - is there an outline for a script that would work for this? I've attempted a few examples from further up in the topic (amending for my own folder setup naturally) for example:
#!/bin/bash xset -dpms s off s noblank cd "/home/pi/.wine/drive_c/Program Files/claw" matchbox-window-manager & WINDEBUG=-all LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L /opt/retropie/ports/wine/bin/wine '/home/pi/.wine/drive_c/Program Files/claw/claw.exe' -fullscreen $
I'm now at a dead-end again though and any help would be gratefully received.
Thanks in advance again - this has some exciting potential and it is now my new RetroPie obsession!
-
Don't know, but perhaps this will help.
The -fullscreen in your file is for wine, I think.
So perhaps you can run claw.exe with a fullscreen option, with something like this :.......claw.exe -fullscreen' -fullscreen
Or perhaps you can configure claw in fullscreen while running and save the config then.
And then run it again though ES.Good luck !
-
@tedmaul
Hey
I love captain claw
and tried also to run it from ES also from the wine explorer
but didnt work for me at all...
if u get it working will love to know how FOLLOW :) -
@folly thank you - gave this a go but got the following messages (had to type this out as nothing appeared in runcommand weirdly):
xset: unable to open display "" Box86 with Dynarec v0.2.0 b2d5587 built on Feb 16 2021 18:37:59 matchbox: can't open display! check your DISPLAY variable. Box86 with Dynarec v0.2.0 b2d5587 built on Feb 16 2021 18:37:59 Box86 with Dynarec v0.2.0 b2d5587 built on Feb 16 2021 18:37:59 wine: cannot find L"/home/pi/.wine/drive_c/Program Files/claw/claw.exe -fullscreen"
This .sh file is in roms/ports, maybe I've put it in the wrong place? It was the only way I could get it to show up on any lists in ES though.
I've tried opening it from terminal by navigating to /home/pi/.wine/drive_c/Program Files/claw and then typing:
wine claw.exe
and it sits there for a few minutes before telling me claw.exe is a bad type of exe file. Yet it still runs through wine explorer... hmm...
-
That a pity.
Hope you can find a good solution. -
-
@tedmaul Try to get Space Cadet working first (and starting from ES -> Ports). When that's done, copy the Claw folder to Program Files and look under:
opt/retropie/configs/ports
opt/retropie/portsand
retropie/roms/ports/
for guidance how Space Cades is started. Duplicate and adjust it all for Claw and behold the Claw entry under Ports in ES.
-
@mth75
Hey ,
i have Space Cadet working also commnados 1/2 .
but other games like captain claw for example dont work for me...
even with the wineexploer .
will love some help ? -
@mth75 great that you've got Claw working!
I'm attempting to get Space Cadet to work, firstly by running the code that was on the github page - I've made it executable but it doesn't appear to be doing anything. Have I potentially started in the wrong place?
-
@mth75
I can get Claw loading for a sec'- im getting a black screen on the corner with wine explore .
and then it quit...
and ideas ? :) thanks -
@shavecat said in Box86 and Wine on RPi4:
@mth75
I can get Claw loading for a sec'- im getting a black screen on the corner with wine explore .
and then it quit...
and ideas ? :) thanksDo you start from the terminal or from within ES?
-
@mth75
Within the ES...yeha .
i can get commandos 1/2 and the pinball working well... (and heoers3 with sutck isuues) think we talked about it already ;)) -
@shavecat said in Box86 and Wine on RPi4:
I can get Claw loading for a sec'- im getting a black screen on the corner with wine explore .
and then it quit...
and ideas ? :) thanksMaybe try another version? My version is just a copy of the game folder under program files, so no installing needed.
-
@mth75
yep
tried 3 already :\ -
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.