• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Need help getting SORR to run on pi 4

Scheduled Pinned Locked Moved Help and Support
sorrstreets of ragepi 4
14 Posts 4 Posters 1.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q
    quicksilver
    last edited by quicksilver 21 Feb 2020, 18:55

    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.

    1 Reply Last reply Reply Quote 0
    • R
      rejesterd
      last edited by 21 Feb 2020, 20:12

      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

      Q 1 Reply Last reply 21 Feb 2020, 20:26 Reply Quote 0
      • Q
        quicksilver @rejesterd
        last edited by 21 Feb 2020, 20:26

        @rejesterd Thanks, is there a way to change the symlink to point to the correct directory?

        1 Reply Last reply Reply Quote 0
        • R
          rejesterd
          last edited by 21 Feb 2020, 21:36

          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.

          Q 1 Reply Last reply 21 Feb 2020, 22:06 Reply Quote 0
          • Q
            quicksilver @rejesterd
            last edited by 21 Feb 2020, 22:06

            @rejesterd I dont have a libpng12.so in my /lib/ folder

            1 Reply Last reply Reply Quote 0
            • R
              rejesterd
              last edited by rejesterd 21 Feb 2020, 22:31

              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).

              1 Reply Last reply Reply Quote 0
              • J
                janderclander14
                last edited by 30 Apr 2020, 21:13

                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?

                Q 1 Reply Last reply 6 May 2020, 03:27 Reply Quote 0
                • Q
                  quicksilver @janderclander14
                  last edited by 6 May 2020, 03:27

                  @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.

                  M 1 Reply Last reply 6 May 2020, 03:30 Reply Quote 0
                  • M
                    mitu Global Moderator @quicksilver
                    last edited by 6 May 2020, 03:30

                    @quicksilver dispmanx might work. You need to add dispmanx to the rp_module_flags, and then use Configuration/Tools menu to enable it for the port/emulator, so it can be toggled by runcommand automatically.

                    Q 1 Reply Last reply 6 May 2020, 03:52 Reply Quote 0
                    • Q
                      quicksilver @mitu
                      last edited by 6 May 2020, 03:52

                      @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).

                      1 Reply Last reply Reply Quote 0
                      • M
                        mitu Global Moderator
                        last edited by 6 May 2020, 04:23

                        @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.

                        Q 1 Reply Last reply 6 May 2020, 04:40 Reply Quote 0
                        • Q
                          quicksilver @mitu
                          last edited by 6 May 2020, 04:40

                          @mitu

                          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

                          M 1 Reply Last reply 6 May 2020, 04:42 Reply Quote 0
                          • M
                            mitu Global Moderator @quicksilver
                            last edited by 6 May 2020, 04:42

                            @quicksilver Do you have the SorR.dat file in /opt/retropie/ports/sorr ?

                            Q 1 Reply Last reply 6 May 2020, 05:03 Reply Quote 0
                            • Q
                              quicksilver @mitu
                              last edited by 6 May 2020, 05:03

                              @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. :(

                              1 Reply Last reply Reply Quote 0
                              • M mitu referenced this topic on 29 Sept 2024, 07:44
                              • First post
                                Last post

                              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.

                                This community forum collects and processes your personal information.
                                consent.not_received