Problem:
Games launch correctly when copied to a local filesystem. The same game fails when executed directly from an NFS-mounted share. This was reproduced consistently across multiple titles.
Some Observations:
During debugging I instrumented the launcher and compared behaviour between local storage and NFS.
- stat() returns significantly larger inode values on the NFS filesystem than on the local filesystem.
- The launcher behaves differently despite the files existing and being executable.
- Copying the directory locally immediately resolves the issue.
- The problem appears independent of the individual game.
Potential Fix:
I built the project from source and experimented with a few changes. One change that appears promising was enabling large-file support during compilation:
- -D_FILE_OFFSET_BITS=64
- -D_LARGEFILE_SOURCE
On my system this appears to eliminate the problem when accessing the same NFS share. I'm not claiming this is the definitive fix, only that it seems related and may help identify the underlying cause. If there are assumptions in the code about inode size, stat structures, or filesystem metadata, this may be worth investigating further.
My Environment:
- Batocera v44
- x86_64
- ROMs stored on an NFSv4 share
- Unraid server
- Loader built from current master
Problem:
Games launch correctly when copied to a local filesystem. The same game fails when executed directly from an NFS-mounted share. This was reproduced consistently across multiple titles.
Some Observations:
During debugging I instrumented the launcher and compared behaviour between local storage and NFS.
Potential Fix:
I built the project from source and experimented with a few changes. One change that appears promising was enabling large-file support during compilation:
On my system this appears to eliminate the problem when accessing the same NFS share. I'm not claiming this is the definitive fix, only that it seems related and may help identify the underlying cause. If there are assumptions in the code about inode size, stat structures, or filesystem metadata, this may be worth investigating further.
My Environment: