EmuDeck icon indicating copy to clipboard operation
EmuDeck copied to clipboard

Not all saves are stored in the Emulation/saves folder

Open jcotton42 opened this issue 3 years ago • 15 comments

Running find . -type l from Emulation/saves on my SD card shows the following are symlinks

./Cemu/saves
./citra/saves
./citra/states
./dolphin/Wii
./dolphin/StateSaves
./dolphin/GC
./primehack/Wii
./primehack/StateSaves
./primehack/GC
./yuzu/saves
./rpcs3/saves
./retroarch/saves
./retroarch/states
./ppsspp/saves
./ppsspp/states

piping that to xargs readlink shows where they point to

/run/media/mmcblk0p1/Emulation/roms/wiiu/mlc01/usr/save
/home/deck/.var/app/org.citra_emu.citra/data/citra-emu/sdmc
/home/deck/.var/app/org.citra_emu.citra/data/citra-emu/states
/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Wii
/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/StateSaves
/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC
/home/deck/.var/app/io.github.shiiion.primehack/data/dolphin-emu/Wii
/home/deck/.var/app/io.github.shiiion.primehack/data/dolphin-emu/StateSaves/
/home/deck/.var/app/io.github.shiiion.primehack/data/dolphin-emu/GC
/run/media/mmcblk0p1/Emulation/storage/yuzu/nand/user/save/
/run/media/mmcblk0p1/Emulation/storage/rpcs3/dev_hdd0/home/00000001/savedata
/home/deck/.var/app/org.libretro.RetroArch/config/retroarch/saves
/home/deck/.var/app/org.libretro.RetroArch/config/retroarch/states
/home/deck/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SAVEDATA
/home/deck/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/PPSSPP_STATE

Are there any plans to adjust these paths so all the save data is truly under Emulation/saves? Doing so would make syncing emulator saves with tools like SyncThing much easier.

And if I were to manually "flip" these symlinks for some of the emulators (say Dolphin), would EmuDeck break that change on its next update?

┆Issue is synchronized with this Trello card by Unito

jcotton42 avatar Oct 26 '22 00:10 jcotton42

We include a tool to back these up now. ( Rclone) which can follow symlinks without an issue.

Godsbane avatar Oct 26 '22 01:10 Godsbane

@Godsbane While true, I had been planning to set up sync between my Windows rig and my Deck. SyncThing doesn't follow symlinks (and from what I can tell has no plans to), syncing them "as is."

There's also the issue that people backing up their saves by just copying the save folder will be missing data without realizing it.

jcotton42 avatar Oct 26 '22 01:10 jcotton42

It is something I want to do. Moving people's saves is scary.

It was on the list of things to do anyways though.

Godsbane avatar Oct 26 '22 17:10 Godsbane

It is something I want to do. Moving people's saves is scary.

It was on the list of things to do anyways though.

Ah ok, was there another issue already tracking this? Because if so then I missed it.

jcotton42 avatar Oct 26 '22 17:10 jcotton42

No there's no issue tracking it. For new emus we make sure they are moved if possible.

Godsbane avatar Oct 26 '22 19:10 Godsbane

I'd be willing to do some PRs. Is there already a setup for doing "migrations" on EmuDeck updates? Or does it not touch existing saves and such at all during an update?

jcotton42 avatar Oct 26 '22 19:10 jcotton42

Just peeked and at least for Dolphin the setup saves function is called on update. I guess you could check if it's a symlink and do the swap then.

Actually it looks like moveSaveFolder just does that?

jcotton42 avatar Oct 26 '22 19:10 jcotton42

yes - i wrote moveSaveFolder a while ago for this very purpose.

Godsbane avatar Oct 27 '22 05:10 Godsbane

It really does not matter where saves are. Some emulators do not allow saves/states/memcards to be moved, some like PCSX2 have been moved and folder title renamed, so I made a tutorial: This is for the 1.x version of emudeck, so if things were moved yet again, then I should update. I have yet to run the new 2.0 emudeck script. An addition I do want to make is to share saves between Yuzu and Ryujinx if that seems wise (needs testing) https://github.com/dragoonDorise/EmuDeck/wiki/community-creations#how-to-set-up-syncthing

Personally I would not have moved things around from default but rather just made symlinks to default location for consistency.

saildot4k avatar Nov 19 '22 15:11 saildot4k

one of the most common and biggest requests we get is to move saves to the emulation folder in general.

People want them on the sd card, not as links. Over time they will all be moved if we can. It's not uncommon for someone to NOT check and do something like wipe their deck or change their ssd and then delete their saves.

Yes in general we try to make the folder title is consistent as saves or states

Godsbane avatar Nov 19 '22 17:11 Godsbane

Just adding my two cents. I recently removed Retroarch from Discover (and deleted the app's config) because I had got the config into a near unrecoverable state. I figured the saves/roms were under Emulation so it'd be fine. Unfortunately I didn't realize the saves were just a symlink.

Would love to see this fixed. IMO saves should never be tied to the emulator's config path, storing them under the app is just a recipe for data loss.

burdenc avatar Dec 28 '22 20:12 burdenc

Sorry to hear that. :(

To mitigate such things for the future, there's a save backup tool you should look into. Will upload your saves to the cloud.

Also, there's a reconfigure button in Emudeck to correct issues without deleting non config things in Tools--> emu guides. It would reset your config for you, in case you get into such a state again.

Godsbane avatar Dec 28 '22 21:12 Godsbane

Not a huge loss since I only recently setup EmuDeck =) but it has motivated me to setup save backups as you suggest.

Little off topic, but it would be nice to have a quick and easy local save backup. I originally tried with GDrive, but looks like the default oauth client ID used by rclone is being rate limited by Google. Having a no config, one click backup method probably would have saved me here. (I'll file a separate issue for the GDrive oauth failure)

burdenc avatar Dec 29 '22 03:12 burdenc

We can't do anything about rclones GDrive issue, so I wouldn't open an issue here on that.

Godsbane avatar Dec 29 '22 03:12 Godsbane

+1 for me

dvonessen avatar Jan 19 '23 21:01 dvonessen