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

    Installing a specific version of RetroPie

    Scheduled Pinned Locked Moved Help and Support
    setupversion
    10 Posts 3 Posters 717 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.
    • S
      seriema
      last edited by seriema

      Hi,

      I've locked my RetroPie installation to a specific commit. Something I started doing after trying out fixes in this thread. It looks like this:

      git clone https://github.com/RetroPie/RetroPie-Setup.git
      cd RetroPie-Setup
      # Checkout a specific version to avoid sudden upgrades that break the image
      # 4.5.17 + error code fix https://github.com/RetroPie/RetroPie-Setup/commit/50e8300
      git checkout 50e8300
      sudo __platform="rpi3" ./retropie_packages.sh setup basic_install
      

      I haven't had to run my script for a while, but now when I did it failed when building lr-parallel-n64:

      = = = = = = = = = = = = = = = = = = = = =
      Getting sources for 'lr-parallel-n64' : N64 emu - Highly modified Mupen64Plus port for libretro
      = = = = = = = = = = = = = = = = = = = = =
      git clone --recursive --depth 1 --branch master "https://github.com/libretro/parallel-n64.git" "/home/pi/RetroPie-Setup/tmp/build/lr-parallel-n64"
      Cloning into '/home/pi/RetroPie-Setup/tmp/build/lr-parallel-n64'...
      
      HEAD is now in branch 'master' at commit '9dd669e2f63b320c5942f2fe0b2df275dba99393'
      patching file libretro/libretro.c
      Hunk #4 succeeded at 658 (offset 14 lines).
      Hunk #5 succeeded at 711 (offset 14 lines).
      Hunk #6 succeeded at 719 (offset 14 lines).
      Hunk #7 succeeded at 747 (offset 14 lines).
      Hunk #8 succeeded at 959 (offset 14 lines).
      Hunk #9 succeeded at 971 (offset 14 lines).
      Hunk #10 succeeded at 1344 (offset 44 lines).
      Hunk #11 succeeded at 1637 (offset 48 lines).
      Hunk #12 succeeded at 1670 (offset 48 lines).
      Hunk #13 succeeded at 1829 (offset 48 lines).
      Hunk #14 succeeded at 2014 (offset 48 lines).
      Hunk #15 succeeded at 2023 (offset 48 lines).
      patching file mupen64plus-core/src/main/main.c
      Hunk #1 succeeded at 392 (offset 4 lines).
      patching file mupen64plus-core/src/main/main.h
      patching file mupen64plus-core/src/r4300/pure_interp.c
      patching file mupen64plus-core/src/r4300/pure_interp.h
      patching file mupen64plus-core/src/r4300/r4300.c
      Hunk #4 FAILED at 134.
      1 out of 4 hunks FAILED -- saving rejects to file mupen64plus-core/src/r4300/r4300.c.rej
      patching file mupen64plus-core/src/r4300/r4300.h
      /home/pi/RetroPie-Setup
      lr-parallel-n64 patch /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-parallel-n64/01_revert_11c1ae33.diff failed to apply
      
      Errors:
      lr-parallel-n64 patch /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-parallel-n64/01_revert_11c1ae33.diff failed to apply
      

      From what I can tell, it's grabbing the latest master for lr-parallel-n64, which might or might not work with the custom patches being applied?

      Is it possible to install a specific version of RetroPie? Say I want to install the version that the latest public image is build on. Is that possible?

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by mitu

        I've locked my RetroPie installation to a specific commit. Something I started doing after trying out fixes in this thread. It looks like this:

        That was fixed after was reported.

        Is it possible to install a specific version of RetroPie?

        RetroPie ? Yes.
        Specific emulator which is installed from the projects's repository and it's un-versioned (i.e. master branch), not so much.

        If you lock your RetroPie version, but the scriptmodule pulls from an un-versioned branch, then you'll bump into issues like this. I'm surprised you haven't got this error sooner.

        S 1 Reply Last reply Reply Quote 1
        • S
          seriema @mitu
          last edited by

          @mitu said in Installing a specific version of RetroPie:

          That was fixed after was reported.

          Yes, and I locked it to that version. :)

          @mitu said in Installing a specific version of RetroPie:

          Specific emulator which is installed from the projects's repository and it's un-versioned (i.e. master branch), not so much

          It'd be similar for RetroPie to do the same as me, just checking out a specific commit. I'll take it as it's never been a real issue and once an image is created it is what it is (i.e. never has to be recreated)?

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @seriema
            last edited by

            @seriema said in Installing a specific version of RetroPie:

            It'd be similar for RetroPie to do the same as me, just checking out a specific commit.

            Sure, but not all projects have version branches.

            I'll take it as it's never been a real issue and once an image is created it is what it is (i.e. never has to be recreated)?

            I don't understand.

            S 1 Reply Last reply Reply Quote 0
            • S
              seriema @mitu
              last edited by

              @mitu said in Installing a specific version of RetroPie:

              Sure, but not all projects have version branches.

              Branches aren't necessary. The commit SHA is enough. RetroPie seems to apply some custom patches to each emulator, if I read the log correct, and then it'd be extra useful as the patch would always work on that commit.

              @mitu said in Installing a specific version of RetroPie:

              I don't understand.

              Sorry. I'm guessing that A) It wouldn't be possible to recreate the v4.6 pre-made image. And B) RetroPie has been around long enough to have noticed that this isn't really a problem. Are those assumptions correct?

              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by

                @seriema said in Installing a specific version of RetroPie:

                Branches aren't necessary. The commit SHA is enough. RetroPie seems to apply some custom patches to each emulator, if I read the log correct, and then it'd be extra useful as the patch would always work on that commit.

                Emulator patches (or commit pinning) are an exception, rather than the rule. Using a specific commit SHA would mean committing to test every possible commit for possible regressions and/or bugs - that's not feasible for a 'develop in your own free time' project. Also, just because it builds, it doesn't mean it works, so this isn't something that could be automated.

                Sorry. I'm guessing that A) It wouldn't be possible to recreate the v4.6 pre-made image. And B) RetroPie has been around long enough to have noticed that this isn't really a problem. Are those assumptions correct?

                For B), yes, building from the main/master branch of upstream projects is mostly ok. For A) , you already have the image which includes the packages from the main and core section, the issue is only for the the optional or experimental packages which are not included in the image.

                S 1 Reply Last reply Reply Quote 0
                • S
                  seriema @mitu
                  last edited by

                  @mitu said in Installing a specific version of RetroPie:

                  For B), yes, building from the main/master branch of upstream projects is mostly ok. For A) , you already have the image which includes the packages from the main and core section, the issue is only for the the optional or experimental packages which are not included in the image.

                  Hmm I must be misunderstanding something. How would you re-create 4.5.1 for example? Say that image got lost somehow, and you had to recreate it and upload it again. Today, months after it was initially created. How would you do that?

                  1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator
                    last edited by

                    @seriema said in Installing a specific version of RetroPie:

                    How would you re-create 4.5.1 for example?

                    Starting from scratch, yes, that wouldn't be 100% possible after X months/years just using an automated script.

                    1 Reply Last reply Reply Quote 0
                    • BuZzB
                      BuZz administrators
                      last edited by BuZz

                      We could technically lock down some packages to a specific version or commit. But this would require a lot of additional work. And users would be impatient as we may not be able to keep up with things as they would like.

                      With future packaging changes, it may be possible to move to a model like that but with the facility to build a latest version. However for some packages this will require a significant amount of work (eg. We do this for retroarch in that the RetroPie version aligns to a retroarch version, but to manage this properly we would have to maintain an archive of patches for older versions and other things.). But it may work for some stuff.

                      Then there's things like..

                      Repository moves
                      Repo renames / or rebases (it happens a lot in retroarch).
                      Maintaining multiple versioned binaries (and this may happen, but it's a significant leap).

                      And so on.

                      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                      1 Reply Last reply Reply Quote 1
                      • S
                        seriema
                        last edited by

                        Thank you for clarifying @BuZz

                        1 Reply Last reply Reply Quote 0
                        • 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.