RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.62k stars 1.92k forks source link

MacOS: RPCS3 saves application files on system drive even if the software is located on an external drive #13319

Open mavethee opened 1 year ago

mavethee commented 1 year ago

Quick summary

RPCS3 partially relies on files located on system drive after setting custom path in VFS.

Details

It gets quite confusing when I wanna store all my configs RPCS3 related, dumped games and logs just as on Windows in one place.

Attach a log file

RPCS3.log

System configuration

Megamouse commented 1 year ago

The VFS only affects emulation. There's no reason to add a VFS for the software itself

mavethee commented 1 year ago

Well, I probably named the issue wrong way, the case is i want to store GUI settings, logs and cache in the same place as whole emulator on external drive, even setting up custom path for $EmulatorDir makes still create and use cache on main drive not external where RPCS3 is located.

Megamouse commented 1 year ago

oh. it's an apple issue. i don't care then :)

Megamouse commented 1 year ago

it has nothing to do with vfs then

Megamouse commented 1 year ago

the title is misleading

mavethee commented 1 year ago

oh. it's an apple issue. i don't care then :)

Respect, just pointing it out, maybe someone will care at some point :)

MSuih commented 1 year ago

On mac these locations are determined by the HOME environment variable.

https://github.com/RPCS3/rpcs3/blob/c471120a80ec6f12cd4489e1a9be073d7d9c96f2/Utilities/File.cpp#L1798-L1799

Maybe it's possible to set up a script or something that redirects this env var only for rpcs3 and not for other applications.

mavethee commented 1 year ago

Okay so easiest workaround for now seems to be just a symlink, or setting up custom home env, which I use for most but in this case have a blackout or something in my mind, but yeah would be cool to see if someone will implement that.

qurious-pixel commented 1 year ago

setting the HOME env var will let you place your files on an external drive.

HOME=/Volumes/HDD/rpcs3 open /Volumes/HDD/rpcs3/RPCS3.app

This will create the Application Support and Caches folders on the external drive.

nastys commented 1 year ago

It's the same on Linux. Since you can't really store user data in the .appimage on Linux, and you shouldn't store it in the .app bundle on macOS, it is stored in the standard folder for each OS i.e. .config/rpcs3 on Linux and Application Support on macOS. The Windows version is distributed as a "portable" version, but if it were installable , user data would likely be stored in %appdata%.

githubuserpop commented 5 months ago

setting the HOME env var will let you place your files on an external drive.

HOME=/Volumes/HDD/rpcs3 open /Volumes/HDD/rpcs3/RPCS3.app

This will create the Application Support and Caches folders on the external drive.

Doesn't work unfortunately, when opening RPCS3, it simply just recreates the folder without the symlink and proceeds by ignoring the symlink which was created.