[Guide][DIY] Wine and Retropie - Legacy driver - Raspberry Pi 3B+
-
@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 -
@exarkuniv
Is it RetroPie from PINN?
Did you succeed in setting FAKE-KMS in raspi-config and starting emulationstation afterwards?Can you try exiting emulationstation, starting an xterm session (startx xterm) and running your "raspbian"-bound diablo 2 shell script? (with diablo 2 specific mesa drivers handy?)
You might have to start startx xterm with classic fake-kms drivers and once its started override the drivers with the ones from diablo 2...
-
@thepigamer so it seems that my problem was i did not install mesa correctly.
i fixed that issue
so now i got it to start.not sure if the sound was working or not. since i have BGM and i was launching it by command line. so the music did not turn off. lol
but im getting there
-
@thepigamer thank you so much. I got a bit busy this week but I will give this a shot. I'll let you know how it goes
-
@exarkuniv
WTG,
Here I confirm that the legacy driver blocks ARM-diablo2 from launching in RetroPie (I tried on my 3B+ so if there was some troubleshooting I could help you but it's a nogo :-( ).Diablo 2 mesa drivers don't start while trying to run it. So hopefully RetroPie team will release a fake-kms compliant RetroPie for older Pi's otherwise Pi 3B+ and older users will have to run Diablo 2 only from Raspbian/LXDE based distros.
There is still some way to go from having it starting from startx xterm to having a bash script which launches itself from ports section or from a custom section.
if xterm needs to be launched first (as in startx LD_LIBRARY_PATH.... wine libd2game_arm_sa.exe.so does not work) you will have to resort doing advanced scripting. this part of my guide may help you:
xterm -hold -e `cd /home/pi/RetroPie/roms/wine/installed/HOMM4_eng;WINEPREFIX=/home/pi/winex86 /home/pi/wine-pol/bin/wine ./heroes4.exe;killall xinit;exit` &
matchbox-window-manager
exitYou will have to replace the heroes 4 launching command by diablo 2 launching command.
If you need further help with that don't hesitate to answer or PM me.
-
@thepigamer still no sound,
i just realized that i did not mentioned how i installed it.
i used piKiss to install it all. and im on a Pi4so i know that changes it all up.
-
@exarkuniv
Im blind from now (D2+retropie doesn't work on Pi3b+)
I have 2 tracks to try to help you:- if you are using HDMI check hdmi_group and hdmi_drive in /boot/config.txt
- try to get Alsa to work in xterm :
Download a .wav sample file
Install Alsa (I think
sudo apt-get install alsa-utils
Not sure though)
Install pulseaudio (sudo apt-get install pulseaudio)
And try alsamixer command to check your sound is linked.
Then try playing your .wav file inside xterm
With paplay xxx.wav and aplay xxx.wav
If both work diablo2 will work too.
Pikiss shouldn't change anything, just make all easier.
-
@thepigamer ok ill give that a shot.
i did not think that Pikiss changed it, from looking at the script. -
@exarkuniv
Oh one last thing... that might sound stupid... but make sure sound is enabled in your arm wineprefix (sound can be tested with winecfg)... :-) -
@thepigamer i did see the audio tab when i was looking at the winecfg, i did try the test button. but all it did was make a little pop sound.
im thinking i have something else going on with my stuff
-
@exarkuniv
Pop sound means it works.
Which sound device shows winecfg? Alsa or pulse?
Does Diablo 2 output sound in Raspbian? it might be a problem with Diablo 2 itself. -
@thepigamer in Raspbian it works and sounds great, no issues with anything
and it says winalsa.drv for winecfg, and it is set for system defaults for all outputs
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.