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

    rom filename with "&" make runcommand crash.

    Scheduled Pinned Locked Moved Help and Support
    ubuntu 23.04runcommandspecial char &filename
    12 Posts 2 Posters 1.0k 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.
    • T
      TeeAce
      last edited by

      I decided to upgrade my retropie PC working on ubuntu 22.04.

      I took another HDD, I made a fresh install of retropie on a fresh ubuntu 23.04 > everything works ;-)

      But, when I try any rom with "&" in the filename, it doesn't work! For exemple I try this file on mGBA emulator :

      2 Game Pack! - Uno & Skip-Bo (Europe) (En,Fr,De,Es,It).7z

      And I read this runcommand.log :

      Parameters:
      Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/teeace/RetroPie/roms/gba/EUR-USA/2 Game Pack! - Uno %ROM% Skip-Bo (Europe) (En,Fr,De,Es,It).7z" --appendconfig /dev/shm/retroarch.cfg

      So I see that the "&" in the filename is replace by "%ROM%", filename is wrong, the rom can't be found.

      I test this issue on:
      ubuntu 22.04 > no issue, every games work
      ubuntu 22.10 > same issue, the game don't work

      Any ideas? I'm a french linux beginner but i'll be happy to learn ;-)

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

        Can't reproduce the issue with a similar named ROM file

        Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-pcsx-rearmed/pcsx_rearmed_libretro.so --config /opt/retropie/configs/psx/retroarch.cfg "/home/pi/RetroPie/roms/psx/Bugs Bunny & Taz - Time Busters (Europe) (En,Fr,De,Es,It,Nl).chd" 
        ...
        

        Are you sure the "&" is not some other character that just looks similar (like Fullwidth Ampersand) ?

        Run emulationstation with emulationstation --debug and post the log file (from $HOME/.emulationstation/es_log.txt) on pastebin.com. Also, what's your exact RetroPie version ?

        T 3 Replies Last reply Reply Quote 0
        • T
          TeeAce @mitu
          last edited by

          @mitu
          Thanks for the answer.
          I must said that these rom files worked great on ubuntu 22.04... so yes it is a simple &.

          I'm very not familiar with linux command line so I'll try to launch emuationstation as you asked me...

          I read the retropie setup and it seems to be a version 4.8.4 of retropie... installed today on a fresh ubuntu 22.10

          1 Reply Last reply Reply Quote 0
          • T
            TeeAce @mitu
            last edited by

            @mitu

            Is this the file you wanted?

            link text

            1 Reply Last reply Reply Quote 0
            • T
              TeeAce @mitu
              last edited by

              @mitu

              I made a runcommand.log link, if it can help...

              link text

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

                Those are the correct log files. I see EmulationStation correctly sends the filename, but can't understand how that %ROM% gets to retroarch. Using the same filename, I don't have an issue

                Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/2 Game Pack! - Uno & Skip-Bo (Europe) (En,Fr,De,Es,It).zip" --verbose --appendconfig /dev/shm/retroarch.cfg

                Can you also post your /opt/retropie/configs/gba/emulators.cfg file ? You can post the contents right in the topic, without pastebin.com.

                Is there any difference in configuration between the 2 installations (22.04 vs 22.10/23.04) ? Language, or login shell ?

                T 2 Replies Last reply Reply Quote 0
                • T
                  TeeAce @mitu
                  last edited by

                  @mitu

                  No difference
                  Find the issue by installing the ubuntu 23.04 iso
                  So I made a test by using the ubuntu 22.04 iso and the issue was not there!
                  So I download ubuntu 22.10 and the issue was there too ;-)

                  For my tests I formated HDD > installed ubuntu > installed videocard > installed retropie > installed emulator

                  1 Reply Last reply Reply Quote 0
                  • T
                    TeeAce @mitu
                    last edited by

                    @mitu

                    I can send emulators.cfg but I must say that the issue is present on every console... (I first find the issue by testing Zelda & four swords rom ;-)

                    lr-mgba = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg %ROM%"
                    default = "lr-mgba"

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

                      The config file is ok - so it's not a configuration problem. The major difference may be the shell (runcommand.sh is just a shell script), Ubuntu 22.10 and 23.04 have an updated bash and that may be the culprit.
                      I'll have to test on a 22.10/23.04 system to see, maybe I can reproduce the issue there.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        TeeAce @mitu
                        last edited by

                        @mitu

                        Thanks again for your fast answers!

                        Yes I think that testing it on same ubuntu will reproduce it.

                        I want to use the last ubuntu because goverlay version 7 has issues on ubuntu 22.04... but works like a charm on ubuntu 22.10 and 23.04 (overlay version 9).

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

                          OK, I've reproduced the issue - it's because of the newer bash (5.2) and a new option added (patsub_replacement) which replaces & with the wrong value

                          x. New shell option: patsub_replacement. When enabled, a & in the replacement
                          string of the pattern substitution expansion is replaced by the portion of
                          the string that matched the pattern. Backslash will escape the &' and insert a literal &'.

                          Thanks for reporting, we'll see to get this fixed.

                          EDIT: update your RetroPie-Setup script and try again to see if the issue still occurs.

                          T 1 Reply Last reply Reply Quote 1
                          • T
                            TeeAce @mitu
                            last edited by

                            @mitu

                            BIG THANKS !!!!!

                            1 > I updated retropie-setup script
                            2 > I removed and reinstalled RUNCOMMAND
                            3 > I tested different games and they worked ;-)

                            Now I can play Zelda & 4 swords on Ubuntu 22.10 with Goverlay 9 !

                            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.