[Guide][DIY] Wine and Retropie - Legacy driver - Raspberry Pi 3B+
-
Hello,
I first thought this would be a double of this:
https://retropie.org.uk/forum/topic/28528/box86-and-wine-on-rpi4It however seems that George and I had a different approach.
While waiting that Wine becomes an official port or emulator (I followed the emulator entry route), I made a guide on how to make wine games run in EmulationStation on Raspberry Pi 3B+.
Fact is that legacy driver is compatible with wine and box86 but you will have to install startx and fbturbo at some point.
Without further introduction guide is here:
https://thepigamer.blogspot.com/2021/01/making-wine-and-box86-work-under.htmlAs with all my guide I enforce myself to link the content that are not mine instead of copy and pasting it. Feedback is appreciated.
Edit: this guide works for a RetroPie from boot installation.
It is much simpler if you play in RetroPie from TwisterOS (no need xserver).See post replies about this topic.
Diablo 2 will work on RetroPie system + fake KMS + Pi 4. Pi 3 users will have to start Diablo 2 from Raspbian, not RetroPie. This is also discussed here.
Thanks and happy gaming!
-
I’m using twisteros which has wine box86 etc, how would I write a port that essentially does “wine game.exe”?
Struggling with the xserver issue
-
@zennit
Did you succeed with this command?sudo apt-get install xserver-xorg xserver-xorg-video-fbturbo xinit xterm xdotool matchbox-window-manager
If it worked, do you have a terminal window when you type in:
startx xterm
?
You normally don't have to start xserver manually. startx will do it itself. -
@zennit I'm having the same issue. I'm not very tech savvy, but I am able to run the exe in TwisterOS. But to get it to run in emulation station is a bit more than I can grasp
-
@thepigamer is there an easy peasier guide for, say, Fix it Felix Jr for pc, using TwisterOS on a Raspberry Pi 4 B? Literally the only thing (besides pacman and a few others) that I want to work on my raspberry pi for a fix it felix arcade cabinet I am going to build. If it uses the Fixed it felix Dragon King edit, kudos. Since fix it felt doesn't need installation, perhaps the instructions should be simpler.
-
@seadog-mcgrog
Hello,
If I understand well, you would just like to be able to start your game from twisteros?
Its quite simple iirc, just remember that twisteros provides both arm and x86 wine so you have to start wine with its full path.
In twisteros open console and type in:
/home/pi/wine/bin/wine /path/to/yourgame.exe
Twisteros has both box86 and winex86 installed.
Its also provides a full xserver (which must be installed on retropie).
Going to raspbian will need you to install box86 and unpack an x86 version of wine.
Going to retropie will need you to do the same and additionnally install xserver.
Hope it helps, dont hesitate to pm me if needed -
@thepigamer I would really fix it felix to run in emulation station. I want to make an arcade cabinet without having to see anything outside of emulation station. I can get the game to work but not in emulation station
-
@thepigamer I have installed xserver but not sure how to merge that with adding a system to retropie.
-
@thepigamer and I very much appreciate your response. If I can get fix it felix to work with retropie, it would be like finding the holy grail for some arcade fans. There is a huge interest in fix it felix and the best option is either a dedicated windows pc or compromise by using the Sega ROM (not as good, doesn't require coins, etc)
-
@seadog-mcgrog
Im not sure if felix is a Windows game but if it is, step by step:- Exit emulationstation to console.
- in console mode try to get "xinit xterm" to work.
----> you will have to install a bunch of packages to succeed ( sera sudo apt-get install xserver-xorg etc in my guide)
This is imho the hardest part.
When xinit xterm works, get a downloadable x86 wine and git clone and make box86.
Once you got wine, xinit xterm and box86 installed, you can try starting your exe game from the command line inside xterm with your x86 wine.
If you got xterm wine and x86 in console to work, if you want it to work in retropie easiest is to make a shell script that you will store in "ports" roms.
Adding wine entry is actually just eye candy...
Give me détails on the step you are having trouble with... I can update my guide thanks to you!
-
@thepigamer TwisterOS has Box86 and Wine presintalled and integrated into the OS. If you do an update to your guide, you might be able to start with TwisterOS
-
@thepigamer well, it shouldn't be a windows game but that is how they did it. It looks like an old arcade game like donkey kong, but they made it in windows. Oh, and twisterOS has retropie pre-integrated in the OS as well. Just a matter of getting the game in emulation station
-
@seadog-mcgrog
Ok it looks like Fix it Felix has a windows version and it runs on Twister OS.I stopped using Twister OS because I am on a Pi 3B+ and TOS is slow on this machine.
--> Do you start RetroPie from TwisterOS or from PINN? my guide is usable for "RetroPie from PINN" (i should mention it, thanks for the hint)
As for RetroPie inside TwisterOS, you shouldn't really have to install xserver: TwisterOS already has it builtin. It should just be a matter of scripting.
Can you type me the command line do you start Fix it Felix in TwisterOS? (example: /home/pi/wine/bin/wine /home/pi/games/fixit/game.exe)
I might be able to help you run it from EmulationStation in TwisterOS from that command. -
@thepigamer i think it is /home/pi/.wine/drive_c/fix it felix/FixitFelixJr.exe
-
@thepigamer is it possable to have diablo2 to work on the Retropie system, or is it a no since it needs a desktop.
been messing around with whats on your site and i cant get it to launch.
-
@seadog-mcgrog
Ok try this (in twisteros > Terminal emulator):
mkdir /home/pi/RetroPie/roms/ports
echo "cd /home/pi/.wine/drive_c/fix\ it\ felix/;/home/pi/bin/wine/bin/wine ./FixItFelixJr.exe" > /home/pi/RetroPie/roms/ports/fixitfelix.sh
chmod 755 /home/pi/RetroPie/roms/ports/fixitfelix.sh--> fixitfelix.sh should be displayed in "ports" section of emulationstation and should start when invoked.
--> make sure fixitfelix.sh works by running it from terminal first: if it doesn't work you will get error messages in console while running it directly in emulationstation will just fail and return to emulationstation without any error message.
Directory you gave me is important since I use it in the command I used hereabove. If you meet issues try not using any space in directory, it can be misleading when you begin with scripting
I used echo to create a .sh file in the /home/pi/RetroPie/roms/ports directory which contains the roms. you can of course use gedit fixitfelix.sh or nano fixitfelix.sh to type it if you don't like to use echo.
Hope it helps!
-
@exarkuniv
Diablo II may run in RetroPie but:-
If you are using an older Pi (3B+ and inferior) you will run it with legacy driver which may lead to a compatibility issue. Ideally make sure you are in a fake kms configuration but older versions of emulationstation (4.6 and older) will not start with fake KMS. I haven't experienced Diablo II with RetroPie and Legacy Driver. I know Diablo II ARM port needs a specific version of mesa drivers and it might not work with legacy version of RetroPie. I don't think RetroPie made a fake-kms compliant version for older Pi's, it seems to be only availlable on Pi 4. So here you might have to wait till the RetroPie guys issue a fake-kms compliant version for Pi 3. This won't be a desktop environment issue (desktop environment is simulated by startx) but rather a fake kms/opengl issue for you.
-
Again, with an older Pi (3B+ and inferior) you will have to install a 3G/1G kernel. I provide a 3B+ compiled version of 3G/1G kernel to save people 15 hours of compiling on my blog. I don't know if it works on 3B. you might have to go the kernel compile route :-(. You need 3G/1G kernel to use wine, no matter if it is wine-ARM or wine-X86.
-
Diablo II works with wine-ARM. If you are already making x86 games run on RetroPie (for example Fallout 2 or Heroes 4) you will have to be very careful to make 1 wineprefix dedicated to x86 wine and 1 wineprefix dedicated to wine ARM. This can frustrate you during hours if you don't really understand how wine and wineprefixes work.
-
Otherwise Diablo II may work with a xserver/startx configuration. (see my guide to install xserver, startx, xterm, tvservice, etc.)
Good luck!
-
-
@thepigamer thanks for that, im on a Pi4, i do have that going for me.
i do think i have it almost good, i just need to wait till im home to get my CDs so i can get the right version of the game.
ill post once tomorrow what i find out
-
@exarkuniv
If you have the opportunity try first running a plain Diablo II on a Raspbian installation. it is the easiest.--> Step by step gives hope :-)
-
@thepigamer i did get diablo 2 to work on Raspbian.
i did mess with it on retropie but i ended up getting a error about something missing,
i do think im missing some driver or something, ill give it another go since i know that it does in fact work
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.