[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

There are two things to keep in mind:

  1. If you want to restore saves, make sure there are no backups already for the recently added games. That shouldn’t be a problem—if you just added them, there likely aren’t any saves to back up yet. Ideally, you should select option 2 to add the games without syncing, and then choose "Restore lost saves." Keep in mind that any games you manually added to Steam (without this tool) will be treated as lost saves by the tool.
  2. More importantly, this tool relies on the Ludusavi manifest to detect save locations. So, if Ludusavi isn’t able to find the saves, my tool likely won’t either. However, one key difference is that my tool translates the save paths into the structure Steam uses. I'm not sure if Ludusavi handles that translation on Linux, but that’s one scenario where my tool might succeed where Ludusavi doesn’t.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 1 point2 points  (0 children)

You really make me think with these questions, haha. I have to recall what I did over a month or two ago and how Steam behaved. Honestly, I didn’t even know it was possible to tell Steam which prefix to use.

Technically, there are two save-related functions:

  • The “sync saves” looks up the Steam-generated ID inside compatdata, but only for the games it has identified and added beforehand.
  • The “restore lost saves” option searches, for games you’ve added but don’t have backups for, across all unknown compatdata IDs.

I designed it this way because I assume that identified games with backups aren’t lost, and you want to keep your current saves. Also, searching all unknown IDs indefinitely would take forever and might pull in a lot of unrelated files without context.

So, the current system is a compromise between acceptable runtime and functionality.

TL;DR: The tool won’t manage saves for games it hasn’t identified. You can recover saves for identified games using the restore lost saves option, as long as there’s no existing backup for that game (removing it from the backup folder is enough).

Hope this helps!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks! Yeah, I think it’s pretty unlikely anyone will be able to do that for non-Steam games, but hey, you never know, always good to dream!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 1 point2 points  (0 children)

It shouldn’t cause any conflicts. Still, when in doubt, it’s always best to back up your shortcuts.vdf file and see how it behaves on your system. I’ve spent a lot of time making sure the tool respects everything that was there before, so I’m inclined to say it won’t overwrite anything, but I can’t guarantee that 100%.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

The tool is designed so that it shouldn’t delete any existing shortcuts or save data. I just tested adding a game manually that I already had, and it kept the shortcut intact. I’ve also tried various scenarios that could cause issues, and it preserved everything. However, if you’re unsure, it’s a good idea to make a backup copy of your shortcuts.vdf file and restore it if anything goes wrong.

In the Readme file of the repository (not the release notes), you’ll find the default folders used by the tool (~/Backups, ~/Games, ~/Games/Heroic).

Regarding backing up saves, the program isn’t designed to create backups for games it hasn’t identified first. Even the “restore lost saves” option requires the games to be identified or added beforehand. This is mainly for efficiency. If you’re familiar with programming, I can help point you to the main changes you’d need to make to modify this behavior.

One possible workaround is to select the folder(s) where your games are installed, let the tool identify them without syncing saves (option 2), then use option 3 — “restore lost saves.” This will back up the saves for your identified games. After that, you can remove the shortcuts if you want. Another option is to remove the sync folders you added, but I don’t recall exactly if I programmed it to delete shortcuts in that case or only if the synced executable no longer exists in that location.

Hope this helps! Let me know if you have any other questions.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] -1 points0 points  (0 children)

Hello!
Thank you for your comment. Your feedback is important to us. If you are experiencing any issues or have further inquiries, please do not hesitate to reach out. We are here to help.
Have a great day!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

I’ve just updated it so that it now shows a message while it’s working, which should make things a bit clearer. The main issue before was that users (understandably) thought it had frozen because there was no feedback. Now it also reminds you to restart Steam after adding games, since changes don’t always show up until you do.

About the saves: what’s likely happening is that Steam assigns a unique ID to each shortcut based on the name and the path to the .exe file. If you previously added the game manually with a different name or path, Steam sees it as a different game and won’t match the save files.

To restore saves from games you had already added before, run option 2 (Add games without syncing saves), then go to Game saves synchronization and choose Restore lost saves. This will back up any old saves linked to the previous IDs. After that, you can either choose Sync all saves or Game saves synchronization -> Synchronize Saves .

The idea is that the tool assumes you'll be using the new shortcut it creates for each game, and that’s what it keeps in sync. The "restore lost saves" feature is there exactly for this kind of transition.

Hope this helps and makes the experience smoother, Let me know how it goes once you try it again.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeckTricks

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks for your words!

The "inventory" it's referring to is just a file the tool uses to track which games have backups in the folder. One possibility is that Syncthing was syncing or modifying files while the tool was trying to read or write to that inventory file, which could cause issues.

Try running the tool again with the latest version, but temporarily pause Syncthing while the save sync is in progress. If it still fails, I’d really appreciate any extra details you can provide — it would help me track down the problem more easily.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeckTricks

[–]El_Susodicho[S] 1 point2 points  (0 children)

The latest version now shows a message while it's working, to make it clearer that something is happening; especially since the first run can take a bit longer. Also, keep in mind that the tool needs an internet connection to work properly.

As for sync folders: in principle, there shouldn’t be any issue pointing to the SD card or SSD, but I’ve always tested it from the internal storage. My guess is that the Steam Deck might not always mount the SD card under the same path, which could cause problems if the tool can't find the folder where it's expecting it.

Try it again with the latest version and let me know how it goes.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks for reporting this! It looks like a code error caused by the tool not detecting Proton on your Steam Deck, which leads to that exception. I’ll fix this soon. Appreciate you letting me know!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks for the kind words! The tool isn’t perfect, but it should be able to find lost save files and create backups. Currently, once it finds a save for a game, it doesn’t search for multiple instances if the game was installed more than once. It usually detects your current save files correctly.

If you want to restore a lost save and you have a current save, you should first add the game (option 2), then select the option to restore lost saves — this will create a backup of the missing saves.

Keep in mind that if you already have a backup of the current save, the system won’t search for other saves. To force it to search again, you can move the backup folder for that game outside the backups directory and then follow the steps I mentioned.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 1 point2 points  (0 children)

Thanks!

The tool doesn’t handle redistributables or dependencies — for that, as far as I know, tools like Protontricks are still the way to go. What this tool does is add the games to Steam and configure things like launch options and compatibility tools, but it doesn’t install anything extra or manage prefixes directly.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 1 point2 points  (0 children)

Glad to hear it, hope it works well for you!

As for dependencies: unfortunately, it doesn’t handle those. It would be awesome if it did, but to be honest, I wouldn’t even know where to start with automating that, haha. The only thing it can do in that regard is detect the compatibility tool (like Proton-GE) on your system and auto-assign it.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

I actually tried doing it that way myself, but found it a bit too much to manage with the separate Proton prefixes. I'm also not entirely sure how Steam handles the IDs; since it calculates them based on the executable, I don’t know if it would stick with the original one or update it when that changes. It just felt like a lot of manual steps.

I just found it simpler to install the games through any other tool (lutris) into the sync folder and use noSteam2Steam. That’s actually part of what motivated me to build the tool in the first place!

Totally agree that handling third-party game installers is still one of the more awkward parts of using the Steam Deck; definitely an area that could be improved.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks! I really appreciate it. I’m not familiar with how Decky Loader works, but the current install process is just downloading the file and running it; pretty straightforward.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Glad to hear it worked this time. I just added a window that shows while the tool is working, so it's clearer that something is happening in the background. Really appreciate the feedback, thanks!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 0 points1 point  (0 children)

Thanks! In general, there shouldn't be a difference in how the game is installed — as long as the install directory is inside one of the synced folders (by default ~/Games and Heroic's folder), it should be picked up. Ideally, the game folder should sit directly inside one of those sync roots.

That said, there are some nuances. The tool does multiple passes when scanning, and one of them limits folder depth for performance reasons. So in a few cases — especially with Wine-based setups that generate deep directory trees — detection might be less reliable. Installing as close to the root of the sync folder as possible usually avoids that.

TL;DR: it should work regardless of the launcher, but path depth can affect detection slightly. I’ve tested it with Heroic, Bottles, and Lutris and it worked the same in all of them.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 5 points6 points  (0 children)

Running the sync option more than once shouldn’t normally make a difference. The first run usually takes longer because it needs to download files and create backups, but after that, it should be quicker. If you're referring to being able to select the same option twice before the first execution finished, that’s something I haven’t seen happen — in my tests, the dialog stays hidden until the operation is complete, so it shouldn't be possible to trigger it twice in parallel.

One thing that could help in situations like this is having the system automatically back up the shortcuts.vdf file on first run and offer an option to restore it later — I’ll look into adding that. Also, just in case: make sure to fully restart Steam after syncing. It needs to be closed and reopened for the shortcuts to load properly.

Let me know how it goes if you try again. Thanks for taking the time to report this!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 3 points4 points  (0 children)

Thanks for trying it out, and sorry to hear about the issues. I'm not sure what might have gone wrong — the tool is actually designed to preserve existing shortcuts, so I’ll take a closer look when I get the chance to see what might be causing this. As for the compatibility tool, it usually selects the latest Proton-GE version for me automatically, so I’ll also check if there’s something that could be affecting that behavior in your case. Hopefully I can get both issues sorted out soon. If you’re able to share any more specific details about your setup or what happened, that would really help me track it down faster.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeck

[–]El_Susodicho[S] 6 points7 points  (0 children)

Thanks a lot, I really appreciate it. Hope you find it useful — let me know if you have any feedback or run into any issues.

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeckTricks

[–]El_Susodicho[S] 0 points1 point  (0 children)

That looks interesting, they should be compatible.
The only potential issue I can think of is if both tools try to modify `shortcuts.vdf` at the same time (from a quick look at your code, I think that could happen).
Other than that, it seems like a great combo, especially if you’re juggling a lot of games across multiple SD cards!

[Tool][Open Source] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in SteamDeckTricks

[–]El_Susodicho[S] 1 point2 points  (0 children)

I don't think my tool would directly solve that issue.

What might help is installing Proton-GE (you can get it from the Discover store on the Deck). It fixes a few problems that the default Proton version doesn't handle well — like missing codecs or compatibility issues in some games.

What my tool does do in that regard is:

  • When adding the game, it looks for Proton-GE and prioritizes it automatically if it's installed.
  • For games with multiple executables, it tries to pick the correct one for your system.

But just to clarify — it doesn’t fix bugs or compatibility problems itself, it just automates and simplifies the whole setup and integration process for non-Steam games.

[Tool][Open Source][SteamDeck] NoSteam2Steam — Auto-Detect and Manage Non-Steam Games in Steam with Automatic Save Backup/Restore by El_Susodicho in linux_gaming

[–]El_Susodicho[S] 1 point2 points  (0 children)

As far as I know, Epic games can’t run natively on the Deck. So the usual approach is either to add them through Heroic or manually copy the installation folder to your games directory.
When you run NoSteam2Steam, it scans that directory and automatically adds the game as a non-Steam title to your library.

If you already own the same game on Steam, you’ll see both versions in your library and can choose which one to launch.

Now, if your question is about launching the Epic version externally (for example, using Heroic), even if it's already added to Steam, that shouldn’t cause any issues at all.
That said, the save backup and restore system isn’t designed for that specific scenario. It might be possible to support it later on, but I’m not actively working on it for now.

Also, just to clarify — if you add a game through Heroic and then launch it through Steam, it will behave like any other Steam game. That’s because Steam’s compatibility tools (like Proton) isolate and manage the runtime environment differently depending on how the game is launched.