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

    [SOLVED] Game Metadata unavailable for roms in symbolic link folder (USB)

    Scheduled Pinned Locked Moved Help and Support
    metadatasymbolic linkusbscrape
    7 Posts 2 Posters 2.9k 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.
    • fellegF
      felleg
      last edited by felleg

      Hello all,
      I am running PSX games from a USB drive (to save space on the pi SD card). I created a symbolic link in ~/RetroPie/roms/psx that points to /media/usb/psx_roms, which is the folder in my usb drive that contains the psx roms. The roms are accessible in ES and I even managed to scrape them without issues. The metadata initially showed up correctly (with box art) in ES However, upon restarting RetroPie, the metadata refuses to show up. When I quit EmulationStation, I can see error messages like this in the terminal for each game I have in my psx_roms folder:

      lvl0: File path ""/home/pi/RetroPie/roms/psx/psx_roms/Spyro-the-dragon.cue"" is outside system path "/home/pi/RetroPie/roms/psx"
      lvl0: Error finding/creating FileData for ""/home/pi/RetroPie/roms/psx/psx_roms/Spyro-the-dragon.cue"", skipping.

      Does anyone know a solution for this? Thanks in advance.

      BuZzB 1 Reply Last reply Reply Quote -1
      • BuZzB
        BuZz administrators @felleg
        last edited by BuZz

        @felleg You could do a bind mount instead, or just mount the entire roms folder on the usb. In the other thread BTW I linked https://retropie.org.uk/forum/topic/3/read-this-first - Looks like you didn't read it as you provided no details of your set-up. No idea what version of RetroPie for example.

        you could also manually edit the gameslist.txt for PSX and strip out the paths so they read "./Spyro-the-dragon.cue"etc

        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

        fellegF 1 Reply Last reply Reply Quote 0
        • fellegF
          felleg @BuZz
          last edited by felleg

          @BuZz My apologies, here is what I'm using:

          Pi Model or other hardware: 3
          Power Supply used: Canakit 5V
          RetroPie Version Used: 4.2 (did full update this morning)
          Built From: Pre made SD Image on RetroPie website
          USB Devices connected: 3 (USB drive containing my roms, Rii wireless keyboard, HORI FC controller)
          Controller used: Hori FC
          Error messages received: (see first post)

          I tried your bind mount suggestion and I see how it could work, but I'm not convinced this is sufficient. What I did is this:

          sudo mount --bind /media/usb/psx_roms ~/RetroPie/roms/psx

          What this did is basically replace the content of my ~/RetroPie/roms/psx folder with the content of the psx_roms folder. This means that any rom I had on my SD card in ~/RetroPie/roms/psx is now unavailable, and that's not what I want! The symbolic link method enabled me to access both the roms on my SD card and on the USB at the same time. Isn't there a way for the XML parser to follow the symbolic link instead?

          Edit: I know I could put all my roms on my USB key, but I'm trying to find a general, flexible solution that still leets me access content on my SD card.

          Edit2: Editing the gamelist manually in ~/.emulationstation/gamelists/psx/gamelist.xml did not work.. It's still trying to look inside my psx_roms symbolic link

          BuZzB 1 Reply Last reply Reply Quote -1
          • BuZzB
            BuZz administrators @felleg
            last edited by BuZz

            @felleg If you symlink the folder, you have a single location for psx roms as there is no folder on the sdcard (replaced by the symlink). Bind mounts one folder over another, so it will function the same (the usb folder will appear under ~/RetroPie/roms/psx)

            Think you must be confusing it somehow.

            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

            fellegF 1 Reply Last reply Reply Quote 0
            • fellegF
              felleg @BuZz
              last edited by felleg

              @BuZz I want my symlink is inside the existing ~/RetroPie/roms/psx folder, not replacing it. There are games alongside it. Here's how it looks like:

              ~/RetroPie/roms/psx/
              L____ psx_roms/ (this is the symlink, contains some games on the USB)
              L____ Mortal Kombat 3.bin (a file directly on the SD card, I can play even when USB is unplugged)

              (my tree looks ugly in this post but hopefully you get what I'm trying to illustrate)

              BuZzB 1 Reply Last reply Reply Quote -1
              • BuZzB
                BuZz administrators @felleg
                last edited by BuZz

                @felleg Then bind mount to a subfolder in the psx folder. Make the folder first.

                sudo mount --bind /media/usb/psx_roms ~/RetroPie/roms/psx/psx_roms

                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

                fellegF 1 Reply Last reply Reply Quote 1
                • fellegF
                  felleg @BuZz
                  last edited by felleg

                  @BuZz ... Can't believe I hadn't thought of that before. SHAME on me :-(

                  Thanks so much for your patience, this obviously did the trick. What I did is put that command in /opt/retropie/configs/all/autostart.sh, before emulationstation is called (otherwise the games didn't show up in ES because the USB wasn't yet properly mounted). It's still unclear to me why games can be accessed via symlink in ES, but the parser cannot access them. Oh well, the workaround works, and I hope future Googlers will find it easily. Phew!

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