Trouble accessing ScummVM data files on a samba share *within ScummVM*
-
Pi Model or other hardware: 3
Power Supply used: Stontronic 2.5A Raspberry Pi branded supply from Newark kit
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.3
Built From: Installed on top of Raspbian Stretch
USB Devices connected:USB "SNES" gamepad, Dell USB keyboard
Controller used: USB "SNES" gamepad (unbranded, from Newark kit)
Error messages received: In ScummVM "ScummVM could not access specified directory"
Emulator: ScummVM
How to replicate the problem: link to, or mount a Samba network share at ~/RetroPie/roms/scummvm, start +Start GUI.sh and attempt to add games via the ScummVM GUI from that share.Ok, I'm trying to add my ScummVM games to RetroPie. All my roms - including my ScummVM games - are on a Samba share. I've successfully added Arcade (via FBA), nes, snes, megadrive, etc with no problems - the share is mounted with user pi on the retropie having read and write permissions. My process to date has been removing the directories in ~/RetroPie/roms/ and replacing them with links to the appropriate folders in /mnt/ROMs/ (the samba share). This has worked thus far for every system.
However, upon linking ~/RetroPie/roms/scummvm to /mnt/ROMs/scummvm-extracted, installing ScummVM and launching +ScummVM GUI, I cannot navigate into /RetroPie/roms/scummvm - the folder is greyed out. I suspect this is due to ScummVM itself having issues with links.
So, instead, I navigated to /mnt/ROMs/scummvm-extracted directly, and could indeed see all the folders for the games, and inside those folders all the files.
Attempts to add those games either one at a time in the specific folders, or via Mass Add, results in "ScummVM couldn't open the specified directory" (despite being able to see it's contents in the ScummVM file browser - I can see the game files!)
I tried mounting the scummvm-extracted folder (where my games are) directly in ~/RetroPie/roms/scummvm, but got the same result.
I have confirmed I have r/w access to the share: I can drop to a command line, read, create, edit, and delete files in that share without issue.
If I just have ~/RetroPie/roms/scummvm as a local directory, and copy a game folder there, I can add the game and play normally.
However, my SD card is 16gb, and I have 78gb of scummvm games, so this isn't a sustainable method.
Any ideas as to how I can get ScummVM in RetroPie to use games on my network share?
To be clear: Other emulators are working great from that mount, and even the +Start GUI.sh script RetroPie created in the folder with the ScummVM game data files launches from EmulationStation just fine.
All files on that share have 0775 permissions, and are owned by UID:GID 1000:1000, which matches the pi:pi user on RetroPie. Files can be created, modified and deleted just fine on the share both from the command line and from RetroPie/emulationstation.
Server is running Ubuntu 16.04. Share is mounted via fstab, and a "sleep 30" "mount -a" in rc.local as it always tries to mount the fstab shares before the smbd daemon is running, despite "wait for network at boot" being set. Regardless, the share is mounted, the files are accessible by RetroPie/EmulationStation, and there are no permission issues I can see.
If any specific logs would be helpful, just mention which.
Thanks for any help anybody can offer!
-
Post your mount command or the
/etc/fstab
file if used. Btw, if your server is Ubuntu, why not NFS instead of Samba ? -
proc /proc proc defaults 0 0 /dev/mmcblk0p6 /boot vfat defaults 0 2 /dev/mmcblk0p7 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that //192.168.0.11/ROMs /mnt/ROMs cifs defaults,user,credentials=/etc/samba/user,uid=1000,gid=1000 1 2 //192.168.0.4/system /mnt/system cifs defaults,user,credentials=/etc/samba/user,uid=1000,gid=1000,forceuid,forcegid 1 2 #//192.168.0.11/ROMs/scummvm-extracted /home/pi/RetroPie/roms/scummvm cifs defaults,user,credentials=/etc/samba/user,uid=1000,gid=1000 1 2
At the command line as user pi, the contents of the share are accessible and can be created, modified and deleted without issue.
In this current configuration, the share is simply mounted at /mnt/ROMs and I was navigating to the game files in the ScummVM GUI (at then /mnt/ROMs/scummvm-extracted). You can also the the commented out portion where I'd attempted to mount the game data directly to ~/RetroPie/roms/scummvm. This later approach worked fine outside of ScummVM. In ScummVM, navigating to the roms/scummvm folder showed the game files as expected but ended in the same problem ("ScummVM cannot access the specified directory" when I hit Choose to add the games).
If there's a symlink to the share masquerading as the roms/scummvm directory, ScummVM GUI sees the link as a file and won't follow it (but again, I can cd through the link from the command line - that's my approach with every other emulator)
Why not use NFS: I can try an NFS share for those specific files, but my server is one of 6 serving a very wide range of machines over all sorts of OS's, and while I do like NFS, it's accessibility from Windows and Android is sketchy at best. Samba just works everywhere.
-
@wintersdark said in :
[..] Samba just works everywhere.
According to your experience described in the topic, not so much. Try adding
noserverino
to the mount options and see if this improves the situation. If there are symlinks involved I'd test without them to see if makes a difference. -
Ha, ha. Yeah, sadly NFS doesn't work with Windows and Android at all - there's no client :( The thing is, the Pi is mounting the samba share, and it IS accessible from the command line or from emulationstation without any problem.
I'm running the script to start ScummVM from that folder.
There's no symlinks involved currently.
I've set up an NFS mount, mounting the game files to roms/scummvm, because if I need to run an NFS mount to make ScummVM happy, then that's fine for me.
With the rom folder mounted via nfs to roms/scummvm, again able to create, edit, and delete files inside the share from the Raspberry Pi command line, I'm still getting "ScummVM couldn't open the specified directory" when I try to open roms/scummvm in the ScummVM GUI.
pi@raspberrypi:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 13G 6.2G 5.6G 53% / devtmpfs 362M 0 362M 0% /dev tmpfs 367M 8.0K 367M 1% /dev/shm tmpfs 367M 9.8M 357M 3% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 367M 0 367M 0% /sys/fs/cgroup /dev/mmcblk0p6 68M 22M 47M 32% /boot //192.168.0.4/system 113G 18G 96G 16% /mnt/system tmpfs 74M 0 74M 0% /run/user/1000 192.168.0.11:/mnt/pool/ROMs/scummvm-extracted 5.4T 3.5T 1.7T 68% /home/pi/RetroPie/roms/scummvm //192.168.0.11/ROMs 5.4T 3.7T 1.7T 69% /mnt/ROMs pi@raspberrypi:~$ cd /home/pi/RetroPie/roms/scummvm pi@raspberrypi:~/RetroPie/roms/scummvm$ ll total 1.9M drwxrwxrwx 305 pi pi 28K Jun 19 10:15 ./ drwxr-xr-x 13 pi pi 4.0K Jun 19 10:12 ../ drwxrwxrwx 2 pi pi 4.0K Jun 16 20:54 3 Skulls of the Toltecs (CD DOS)/ drwxrwxrwx 2 pi pi 4.0K Jun 16 20:54 Amazon - Guardians of Eden (DOS)/ drwxrwxrwx 2 pi pi 4.0K Jun 16 20:54 Astro Chicken (Floppy DOS)/ [** snipped for brevity **] -rwxr--r-- 1 pi pi 381 Jun 19 10:30 +Start ScummVM.sh* [** more snipping **] drwxrwxrwx 6 pi pi 4.0K Jun 16 23:05 Zork - Grand Inquisitor (DVD Windows)/ drwxrwxrwx 7 pi pi 4.0K Jun 16 23:09 Zork Nemesis - The Forbidden Lands (DVD DOS)/ pi@raspberrypi:~/RetroPie/roms/scummvm$ echo Creating a file > a_file pi@raspberrypi:~/RetroPie/roms/scummvm$ ll a_file -rw-r--r-- 1 pi pi 16 Jun 19 10:43 a_file pi@raspberrypi:~/RetroPie/roms/scummvm$
So, the failure with NFS is slightly different. I'm still getting the same ultimate error, but the ScummVM GUI can't see the files in the share at all, whereas via SMB it can see the files and folders, but still fails to open them.
Again, this problem only happens within the ScummVM GUI itself, and only on a network share - I tried copying a game to roms/scummvm as a local folder and was able to add it fine.
With the samba share mounted with the noserverino option, I'm now successfully adding games. I'm not gonna lie, I would never have figured that out on my own. I don't understand why it matters just to ScummVM, but it's working, so I'll call it a win. Thanks for your help!
-
@wintersdark said in Trouble accessing ScummVM data files on a samba share *within ScummVM*:
192.168.0.4/system 113G 18G 96G 16% /mnt/syste
maybe this guide will help: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=24&t=2448
-
@wintersdark The option is documented in the Running games from Samba shares, it seems to deal with the way a x86_64 server sends inode info to a 32bit client.
-
@mitu Not sure I'd call that "documented" as it's not noted as an important mount option, but indeed it is there with a "...mine looks like..."; pretty easy to miss when you're already very familiar with mounting network shares in ubuntu/debian via fstab. I've never used either noserverino nor nounix and never had that cause any issues at all... but then again, all my other hardware is 64 bit.
@chipsnblip said in Trouble accessing ScummVM data files on a samba share *within ScummVM*:
maybe this guide will help: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=24&t=2448
Interesting that he recommends using a symlink - I wasn't able to get the ScummVM GUI to follow symlinks at all, it just showed them as grey. That was my first stumbling block, as I've used that method with every other emulator (symlinks pointing to the mount point).
I wonder if my symlinks weren't working there because of the lack noserverino and/or nounix issue? I'll check up on that. I'd prefer to keep things consistent for ease of maintainability, so I'd rather go back to a symlink there too.
Thanks again everyone!
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.