FrodeSolheim / fs-uae-launcher

A frontend for the FS-UAE Amiga emulator with support for the OpenRetro online game database.
GNU General Public License v2.0
61 stars 14 forks source link

MacOS 'FS-UAE Launcher' cannot use relative paths using env variable FS_GAMESYS_RUN_DIR #152

Open ztronzo opened 1 year ago

ztronzo commented 1 year ago

This relatively new feature for 3.2.11 works great on Windows and Linux which allows to keep relative paths within save-states when using compressed archives as hard-drives, which allows the same saved states to be used across different paths, users and systems (except for MacOS). For MacOS ("Big Sur") this feature requires the full native path and cannot use relative paths, as it gives out an error during launch.

On attempt to use a relative path with System Environment Variable "FS_GAMESYS_RUN_DIR" = "FS-UAE/Cache/fs-uae-00000000" on MacOS (tested with "Big Sur") it gives the error message: Errno 30 Read-only file system: 'FS-UAE' bug in FS-UAE Launcher, FS_GAMESYS_RUN_DIR

Reason: "FS-UAE Launcher" attempts to search/create "FS-UAE" starting from the MacOS system root drive "/"

To reproduce: Set environment variable through terminal with export FS_GAMESYS_RUN_DIR=FS-UAE/Cache/fs-uae-00000000 load FS-UAE-Launcher 3.2.11 and launch any WHDload configuration using a .zip or .lha compressed file as a hard-drive.

image

ztronzo commented 1 year ago

Seems that this feature may not be respecting the MacOS system $TMPDIR, as that is the location where it should create the chain of folders for FS_GAMESYS_RUN_DIR instead of the root of the drive.

ztronzo commented 1 year ago

There was a mention in previous documentation that OS X now uses / as current directory when you launch an .app. http://fs-uae.net/devel/docs/options/relative-paths.html

Perhaps this has something to do with it.