Proton games without cloud save support lose data when uninstalled

Created on 24 Aug 2018  路  12Comments  路  Source: ValveSoftware/Proton

Issue transferred from https://github.com/ValveSoftware/steam-for-linux/issues/5668.
@Steveice10 posted on 2018-08-24T18:13:35:

Your system information

  • Steam client version (build number or date): Aug 23 2018, at 19:47:27
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Games running through Proton that store save data within their prefix (e.g. in Application Data) and don't support cloud save end up having their save data deleted when uninstalled, as their prefix is also deleted. On Windows, this would not happen; the save data would still be present on the system and usable after reinstalling later.

The game I personally used to test this was LEGO Harry Potter: Years 5-7.

Steps for reproducing this issue:

  1. Save in a Proton game without cloud save support.
  2. Uninstall the game.

Most helpful comment

I ended up creating a small bash script that creates a common user directory and symlinks the game specific user directories from any proton prefixes there https://github.com/ritalat/proton-shared-user-directory
This prevents Steam from deleting your saves when uninstalling a game and also makes it easier to find any save of config files. You however have to run the script every time you install a new game.

Maybe something similar could be integrated into Proton itself in a more elegant way?

All 12 comments

Can it be it saves the data in a Wine Prefix that it than deletes when you uninstall the game?

I don't know if it's related but I'm loosing saves also for non uninstalled games. I.e. 'Banished' and 'RollerCoaster Tycoon庐 3: Platinum'. Both don't have cloud save support. But saves work for 'Craft The World' and 'Another Brick in the Mall' which have it.
'Banished' "saves" a game but I don't see it when I'm trying to Load saved game. 'RollerCoaster Tycoon庐 3: Platinum' says something about 'read only disk or disk is full'.

Update:
I think my problem is related to https://github.com/ValveSoftware/steam-for-linux/issues/5640

Related to #231

This also seems to happen when you change which proton version you're using (Endless Legend, my saves were gone after changing to Proton 3.7-4 beta).

A few games I've used save their data in the "Documents" folder, not sure how they have the prefixes set up and if they are on a per-game basis, but for example, Tomb Raider: Legend saves end up (for me) in "~/.local/share/Steam/steamapps/compatdata/7000/pfx/drive_c/users/steamuser/My Documents/Tomb Raider - Legend". This might be something that is hard to find a good solution for with games that don't already have SteamCloud support. You'd either have to know where each and every game puts it's save data and, at the very least, not delete it if the game is uninstalled. Or, I suppose you could theoretically index the Wine Prefix directory between game install and launch, and backup any changed files to the cloud, but that could get nightmarish very fast.

I noticed this as well. The games are saved inside the prefix. What I did was symlink the save folders somewhere in my ~/ directory.

pcgamingwiki keeps track of save game locations:

https://pcgamingwiki.com/wiki/Lego_Harry_Potter:_Years_5-7#Game_data

@kisak-valve This is also an issue when upgrading from a windows-only demo to the full game (e.g. Supraland. I just lost all my progress without user error. It's not like I uninstalled the game which one could at least consider the possibly of losing saves and thus contemplate backing up.

I ended up creating a small bash script that creates a common user directory and symlinks the game specific user directories from any proton prefixes there https://github.com/ritalat/proton-shared-user-directory
This prevents Steam from deleting your saves when uninstalling a game and also makes it easier to find any save of config files. You however have to run the script every time you install a new game.

Maybe something similar could be integrated into Proton itself in a more elegant way?

This also happens upon launching a mod with an older proton version than the main game is using. Would be a good idea to show a warning before deleting the prefix in all cases, as this behavior isn't really obvious until it's too late.

The simple fix for this is, under the folder "steamapps/compatdata", sync the contents of "drive_c/users/steamuser".

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Elkasitu picture Elkasitu  路  3Comments

matou68 picture matou68  路  3Comments

AwesamLinux picture AwesamLinux  路  3Comments

leifmetcalf picture leifmetcalf  路  3Comments

Dakunier picture Dakunier  路  3Comments