Box86 and Wine on RPi4
-
@george Hey thanks for the guidance and the links to those x86 games to try out! The scripts in that repo had the flag
rp_module_flags="!all rpi4"
Which I had to comment out to install but each one works!... sort of. Both "Pleet The Bear" and "Maldita Castilla" are unplayably slow. I was seeing the thermometer icon consistently when playing MC. "Defend GUIN" had no performance issues even if reaching a "game over" meant you have to restart the raspberry pi. I would say the flag check for rpi4 is unnecessary for all of these ports considering they do (though very slowly) work.
This is after of course I checkout-ed the "emulator" branch for Box86 and Wine repo you have. Without it none of the box86 games ran because the rom folder (and emulationstation configs) didn't exist... Also that branch fixes a lot of the folder issues I had faced when trying to first run the main branch. For RPI3 I still had to customize the box86 installation following https://github.com/ptitSeb/box86/blob/master/docs/COMPILE.md Can isPlatform or some other helper commands be used to do this custom install for legacy raspberry pi modals?
Considering how slow even "Pleet The Bear" was on my hardware I have doubts old bullet hells would fair better. Maybe its an optimization thing since PTB was pre-compiled but still... I have a steam link setup with a windows 10 machine so that honestly is the easiest route to get that working. Cross-plateform space cadet might be a future project haha.
-
@LivenCorpse Since RPI4 has a different GPU than RPI3, one possibility is that Mesa might perform differently on the two devices. You could try to change the following line in the script:
export LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/:/opt/retropie/emulators/box86/"
to
export LD_LIBRARY_PATH="/opt/retropie/emulators/box86/"
That would keep the script from using MESA for OpenGL and then just use whatever was installed on the device. I haven't tested it of course. It might not work at all.
isPlatform
can be used to customize different installation paths during installation, but not when running the game (I think). So if something is required on one platform vs. another, that would be the way to test what platform you are on.- George
-
Hello im trying to create a shell script to launch a wine game my setup in the script is that:
#!/bin/bash
xset no blank
cd "/home/pi/RetroPie/roms/wine/games/aoe2"
qjoypad "empires2" &
wine /home/pi/RetroPie/roms/wine/games/aoe2/empires2.exei tried to run the script from emulation station from the ports section and from cli but i get this errors in the photo:
any help?
-
Hi all, just installing on my Raspi4 via George's script on a new Retropie installation. Downloaded the script from Repo and try installation over Retropie-Setup
@George don't know if it concerns the script but when running box64 install i got the error that it couldn't build because it hasn't found the docs/Licence file after looking in the box64 repo i saw that they moved the file back to root. After copying the file into docs folder i could continue installation
-
Too happy too early^^ copying the file is not enough i had to change the script
I added the copy command in the box86.sh right after the cloningfunction sources_box86() { gitPullOrClone "$md_build" https://github.com/ptitSeb/box86.git "$(_latest_ver_box86)" cp /home/pi/RetroPie-Setup/tmp/build/box86/LICENSE /home/pi/RetroPie-Setup/tmp/build/box86/docs/LICENSE }
this worked
-
After try and error and repeated careful reading here i found my faults. I used the master Branch of the script and not the emulator branch. The master branch has a bug with the license file and doesn't add box86 and wine to systems in Retropie it also add wine as Port which makes it trickier to add roms. I noticed after copying the spacecadet.sh from the space cadet branch in retropie setup. After all that i deleted wine and box86 and reinstalled it from the emulator branch then i could finally start space cadet an it works :) at the beginning in a small screen and without sound but it worked.
Don't know when the sound dissappeared but i had to dosudo apt -y purge "pulseaudio"
then it worked again after reboot the little window problem was even easier just added
-fullscreen
to the end of the sh file in roms/wine folder
-
Managed to get Starcraft(1.16.1) running by just copying the installed folder in wine/Files then adding starcraft.sh in wines folder. Now the Game start fails on first try but then it starts repeatable. So part success
-
@mumbojumbo said in Box86 and Wine on RPi4:
Managed to get Starcraft(1.16.1) running by just copying the installed folder in wine/Files then adding starcraft.sh in wines folder. Now the Game start fails on first try but then it starts repeatable. So part success
I installed wine box and mesa from george script after when i run a game eg "age of empires2"
Sometimes it has sound and some other times not
I checked if pulseaudio is installed to remove it and its not installed,any suggestions what i do to have always sound? -
@mumbojumbo That's very interesting! I tried it, too, but it isn't working for me.
I downloaded Starcraft from battle.net (it's free and has a 32bit binary) transferred the folder to my pi and started it withstarcraft/x86/starcraft.exe -launch
.
I tried that on my windows pc and starcraft can be started that way without battle.net login.So far I had no luck with wine 7.0, wine-staging 7.0 or wine-staging 5.15.
So I assume it must be the version (mine might be 1.18). Could you please post the contents of your
starcraft.sh
file?Oh and also it's normal that you have to try to start wine games more than once. Idk why, but it's a common thing...
-
@ecto the content of the starcraft.sh is:
#!/bin/bash xset -dpms s off s noblank cd "/home/pi/RetroPie/roms/wine/Files/SC/" 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/SC/StarCraft.exe' -fullscreen
And for the failed start I set my Windows Version in winecfg to XP now it starts on first try
-
@mumbojumbo Thanks for the script! I doesn't look much different from my script... maybe I could try the
-fullscreen
switch, but I think it might be my newer version that doesn't start.
I'll try to look for a way to downgrade... -
@ecto I now also tried the newer starcraft but i can't open too. It just crashes back to emulationstation.
i used this sh
#!/bin/bash xset -dpms s off s noblank cd "/home/pi/RetroPie/roms/wine/Files/StarCraft/" matchbox-window-manager & WINEDEBUG=+loaddll BOX86_LOG=1 LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L /opt/retropie/emulators/wine/bin/wine '/home/pi/RetroPie/roms/wine/Files/StarCraft/x86/StarCraft.exe ' -launch -fullscreen
-
@mumbojumbo Thanks for trying! I downgraded to v1.16 and it works out of the box.
-
hmm is there a possibility to pass winEviroment (xp,2000) to wine from sh?
-
I tried wine"7.0.0.0" and mesa-21.3.6. The scripts were able to build by just replacing the version and Space Cadet and Starcraft(v1.16) are still working seems good so far
-
https://github.com/Botspot/pi-apps
On there, there is a script for wine and box86. -
Hey while playing around with Box and Wine i got some questions i am a noob but I hope someone can help. I use the retropie 4.71 image on a pi4.
How can I get information about the driver used from wine/box/xinit or are they all using the same ?In Diablo 2 I can switch between glide, direct3d and ddraw. direct3d doesn't work, ddraw works fine but the aspect ratio doesnt fit in fullscreen tough i set xrandr to 800x600 i get the impression that xrandre ignores ddraw out because it works on glide but on glide there are graphical bugs and its all multicolored lines.....
In Starcraft there is also the problem with the aspect ratio seems to be also ddraw
Is there a possibility to force wine to emulate a screen with a matching ratio like 1600x900 or would this also be ignored by ddraw ?
And for D2 is there a possibility to get the glitvhes out of glide or is this sth the pi4 cant do?
-
@mumbojumbo If you search this thread, there is at least one post by me with a link to a quality of life mod for Diablo 2. You can use this to set up Diablo to use all kinds of resolutions (even widescreen).
The ddraw renderer is the fastest (cnc-ddraw, iirc). I'm using 960x540 and scale that to 1920x1080. This way it still looks like the old Diablo but in widescreen.
To use this renderer you have to copy the ddraw.dll of the cnc-ddraw to the base diablo 2 folder and set
WINEDLLOVERRIDES=ddraw=n,b
in front of your wine command line.There might be further steps, but you can find them in the diablo 2 qol git.
-
-
@ecto puh still trying to get it running... don't know but opening with Plugy leads to crash. When I try in desktop i sometimes get a need CD window... but even with cd mounted it wont do... arg . Its also kind of strange the exe started in windows automatically with pluggy but when i start it on pi it wont use plugy and i get the normal stretched screen.
-
@mumbojumbo You have to use a specific Diablo 2 version (1.13d). After you installed the QoL patch, you have to change the renderer to ddraw.
You have to set your custom resolution in one of the
.ini
files, iirc. Probably inPlugY.ini
, but I'd need to look that up, as I'm away from my Retropie.The game can then be started with the following command:
#!/bin/bash xset -dpms s off s noblank cd "/home/pi/RetroPie/roms/wine/Files/Diablo2/" matchbox-window-manager & WINEDEBUG=-all LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L /opt/retropie/emulators/wine/bin/wine Game.exe -direct -txt
I hope this helps a little.
Ah, and one more important thing: When you have PlugY or any other mods enabled in Diablo 2 you should not play on Battle.net, as you might get banned! There is still the option to play on a private server, though. As I'm more of a single-player-guy, that never bothered me..
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.