Need help getting SORR to run on pi 4
-
Im trying to setup streets of rage remake on my pi 4. Im using the build script found in the zerojay retropie extra repository which has a lot of build scripts for games that for one reason or another are not included by default in vanilla retropi. (https://github.com/zerojay/RetroPie-Extra)
This is the build script for sorr (works fine on my pi 3)
#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="sorr" rp_module_desc="Streets of Rage Remake" rp_module_help="Please copy your SorR.dat file along with the mod and palettes folders into $md_inst." rp_module_section="exp" rp_module_flags="!x86 !x11 !mali" function depends_sorr() { getDepends libsdl-mixer1.2 } function sources_sorr() { gitPullOrClone "$md_build" https://github.com/zerojay/bennugd.git } function install_sorr() { md_ret_files=( 'bgdi-330' ) } function configure_sorr() { mkRomDir "ports" chmod 755 "$md_inst/bgdi-330" moveConfigFile "$md_inst/savegame" "$md_conf_root/$md_id/" addPort "$md_id" "sorr" "Streets of Rage Remake" "pushd $md_inst; ./bgdi-330 ./SorR.dat; popd" }
However once I run the game, it crashes back to ES. The runcommand log shows that it cant locate a dependency:
Parameters: Executing: pushd /opt/retropie/ports/sorr; ./bgdi-330 ./SorR.dat; popd /opt/retropie/ports/sorr ~ ./bgdi-330: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory ~
Im thinking that this dependency must not longer be available on raspbian buster or they moved onto a new version of libpng. Can anyone help me figure this out? Many thanks in advance.
-
v12 has been replaced with v16.
$ sudo find / -type l -name libpng[12,16]* /lib/arm-linux-gnueabihf/libpng12.so.0 find: ‘/run/user/1000/gvfs’: Permission denied /usr/lib/arm-linux-gnueabihf/libpng16.so /usr/lib/arm-linux-gnueabihf/libpng16.so.16
You can see the symlink for libpng12 is under /lib/ not /usr/lib/.
Ref:
https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html -
@rejesterd Thanks, is there a way to change the symlink to point to the correct directory?
-
You can try making a new one..
sudo ln -s /lib/arm-linux-gnueabihf/libpng12.so.0.54.0 /usr/lib/arm-linux-gnueabihf/libpng12.so.0
Make sure the above file is actually there under /lib/... before making the link. I had 12.0.54.0 installed already, but yours could possibly be slightly different.
-
@rejesterd I dont have a libpng12.so in my /lib/ folder
-
To install it, run..
sudo apt-get install libpng12-0
Then check again. And maybe try running sorr before adding the symlink.. you might not need it after installing the package. I did try getting it to work on my pi4, but I get a different error when launching (I assume I have the wrong .dat file or something else is missing).
-
Thanks for this. I managed to install and run SORR on a pi 4. However, the image is not resized to fullscreen, it is just at the upper left corner and just fills 1/4 of the screen. I've tried with the different video options (fullscreen, 2x, scalines, etc.) with the same result. The same config produced a fullscreen image on a pi 3. Any clues?
-
@janderclander14 unfortunately, from what I understand any game that relies on sdl1 won't scale through runcommand on the pi 4. Ive tested sorr on my pi 4 as well and can confirm the behavior you are seeing. I don't know what/if there is a solution.
@mitu would there be a way to use dispmanx here to get the game fullscreen? I know dispmanx seems to stretch the image to fullscreen with dosbox.
-
@quicksilver
dispmanx
might work. You need to adddispmanx
to therp_module_flags
, and then use Configuration/Tools menu to enable it for the port/emulator, so it can be toggled byruncommand
automatically. -
@mitu So I added dispanx to the
rp_module_flags
and enabled it for sorr. However the game wont launch successfully now. The runcommand.log shows this error:Parameters: Executing: SDL1_VIDEODRIVER=dispmanx pushd /opt/retropie/ports/sorr; ./bgdi-330 ./SorR.dat; popd /opt/retropie/ports/sorr ~ ./SorR.dat: doesn't exist or isn't version 7 DCB compatible ~
I am assuming that it has something to do with the pushd/popd commands but im not sure how to modify it since Im not entirely sure what pushd and popd do (or if thats even the issue).
-
@quicksilver said in Need help getting SORR to run on pi 4:
Executing: SDL1_VIDEODRIVER=dispmanx pushd /opt/retropie/ports/sorr; ./bgdi-330 ./SorR.dat; popd
Try modifying the emulator command to
pushd /opt/retropie/ports/sorr; SDL1_VIDEODRIVER=dispmanx ./bgdi-330 ./SorR.dat; popd
and remove my previous suggested configuration.
-
Parameters: Executing: pushd /opt/retropie/ports/sorr; SDL1_VIDEODRIVER=dispmanx ./bgdi-330 ./SorR.dat; popd /opt/retropie/ports/sorr ~ ./SorR.dat: doesn't exist or isn't version 7 DCB compatible
same issue unfortunately
-
@quicksilver Do you have the
SorR.dat
file in/opt/retropie/ports/sorr
? -
@mitu It was there...until I reinstalled with the dispanx flag set...sorry about that.
So i added it back to the sorr directory and I can now get the game to launch using your original instructions. However the window is still just small in the upper left corner of the screen. :(
-
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.