[SOLVED] Game Metadata unavailable for roms in symbolic link folder (USB)
-
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.
-
@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 -
@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
-
@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.
-
@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)
-
@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
-
@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!
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.