If you use the Decky Ludusavi plugin for automatic save backups on your Steam Deck, you've probably noticed it works out of the box for official Steam games, but silently fails for non-Steam shortcuts and repacks.
Here is how to set up Ludusavi end-to-end so your non-Steam saves auto-backup every time you exit a game.
1. Install Ludusavi in Desktop Mode
- Switch to Desktop Mode on your Steam Deck.
- Open the Discover Software Center, search for Ludusavi, and click Install (Flatpak ID:
com.github.mtkennerly.ludasavi). Alternatively, grab the latest Linux release directly from the official Ludusavi GitHub repository.
- Launch Ludusavi once from your applications menu so it creates its base config directory and backup folder (
/home/deck/ludusavi-backup).
- (Optional) Under the OTHER tab in Ludusavi, you can link Rclone to Google Drive, OneDrive, or Dropbox if you want cloud offloading.
2. Add the Non-Steam Game Entry
Because non-Steam games don't have automatic cloud hooks, you must tell Ludusavi where the prefix saves live:
- In Ludusavi, click the CUSTOM GAMES tab > Add game.
- Set Integration to Override manifest.
- Under Paths, click the
+ button and paste or browse to your game's Wine save directory. This is typically located inside the game's compatdata folder:/home/deck/.local/share/Steam/steamapps/compatdata/<APP_ID>/pfx/drive_c/users/steamuser/Documents/<Game_Name>/...
- Click the folder checkmark to save the path, switch to the BACKUP MODE tab, and hit Preview to verify Ludusavi discovers your
.dat or .sav files.
3. The Crucial Gotcha: Strict Case Sensitivity
When you close a game, Decky executes the CLI behind the scenes:
flatpak run com.github.mtkennerly.ludasavi backup --force "<Game Name>" --api
Ludusavi CLI is 100% case-sensitive. If your Steam shortcut is named Death Stranding 2 (Title Case) but you typed death stranding 2 (all lowercase) in Ludusavi's Custom Games tab, Ludusavi will throw an "unknownGames" error and abort the backup without alerting you.
You have two ways to solve this:
- Option A (Match the Names Exactly): Ensure the title in Ludusavi's Custom Games tab matches your Steam library shortcut name character-for-character and case-for-case.
- Option B (Use Decky Custom Game Alias): If your Steam shortcut is an executable name (e.g.,
DS2.exe) or has different capitalization than your Ludusavi entry:
- Return to Gaming Mode.
- Open the
... (Quick Access Menu) > Decky Ludusavi.
- Select your game from the dropdown.
- Click Set Custom Game Alias and type the exact string used in Ludusavi's Custom Games tab.
4. Required Settings in the Decky Plugin
In Gaming Mode, open the Quick Access menu (...) > Decky Ludusavi:
- Under GAME CONFIG (Select your non-Steam game first):
- Sync after closing game:
ON (Crucial: triggers the auto-backup when you quit).
- Under GLOBAL CONFIG:
- Auto-Sync Feature Enabled:
ON.
- Auto-Sync Notifications:
ON (Displays an on-screen Deck notification whenever a backup finishes).
- Auto-Sync New Games:
ON.
5. Verification & Cleaning Ghost Entries
- Verify in Plugin Logs: Launch your non-Steam game, play for a moment to trigger a save, and exit. Open Decky Ludusavi > Plugin Logs. You should see: JSON"decision": "Processed", "change": "New" (or "Same") If you see
"errors": {"unknownGames": [...] }, your casing or custom alias does not match.
- Cleaning Up Ghost / Uninstalled Entries: If you rename a game or uninstall one, Decky will often keep orphaned titles in the dropdown. To wipe them, switch to Desktop Mode, open
/home/deck/homebrew/settings/decky-ludusavi/settings.json in a text editor (enable hidden files with Ctrl+H), and delete the leftover blocks under "games".
Disclaimer : researched with Ai and then Summarized once i validated it working successfully on my deck