Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syncing Doesn't Work Anymore on SteamOS 3.5.5. #164

Open
InklingGirl opened this issue Nov 20, 2023 · 38 comments
Open

Syncing Doesn't Work Anymore on SteamOS 3.5.5. #164

InklingGirl opened this issue Nov 20, 2023 · 38 comments

Comments

@InklingGirl
Copy link

Even when the game has been run, CyroUtilities thinks everything's already synced.

@arachnid101
Copy link

Yes, the same here. Perhaps the cache location has been moved or renamed? I am also worried about Cryoutilities mixing pre and post update shader caches... Or mixing shader caches of different SD cards? Synching to the wrong card may cause games stop working...

@CryoByte33
Copy link
Owner

Does this issue happen on games newly installed after 3.5.5 or just games that were installed previously?

@InklingGirl
Copy link
Author

Only after as far as I can tell, but everything installed before the update was already synced.

@Ultimate8GOD
Copy link

Hi, I have the same problem and from what I can tell, all games downloaded after the 3.5.5 update. are not capable of syncing, I noticed that in the tool the destination addressing changed from /run/media/mmcblk0p1 to /run/media/deck/cb356bdd-a1be-4fd6-a257-3b221033a588

@falco360
Copy link

Hi, I have the same problem and from what I can tell, all games downloaded after the 3.5.5 update. are not capable of syncing, I noticed that in the tool the destination addressing changed from /run/media/mmcblk0p1 to /run/media/deck/cb356bdd-a1be-4fd6-a257-3b221033a588

same here

@Eschguy
Copy link

Eschguy commented Nov 27, 2023

Screenshot_20231126_182102

@CryoByte33
Copy link
Owner

I just tried this myself and it seems to be working fine, I tried 3 separate microSD cards on my OLED running 3.5.7, then moved games back to the OS drive and synced again with no issues.

2 MicroSDs were formatted on 3.4.4, 1 for this test specifically in 3.5.7. 2 of them used the rename functionality in Game Mode to rule that out.

Are there any commonalities with the users affected here that we can tell, aside from the OS version? I'd love fix it but I need to reproduce it first 😅

@CryoByte33
Copy link
Owner

Hi, I have the same problem and from what I can tell, all games downloaded after the 3.5.5 update. are not capable of syncing, I noticed that in the tool the destination addressing changed from /run/media/mmcblk0p1 to /run/media/deck/cb356bdd-a1be-4fd6-a257-3b221033a588

The path change is correct, that's how SteamOS 3.5 changed them. That said, CU already accounts for that so it doesn't seem to be the issue here.

@CryoByte33
Copy link
Owner

Screenshot_20231126_182102

Is this the error everyone is getting?

@InklingGirl
Copy link
Author

I don't get any errors period, CryoUtilities simply insists everything is synced, before & after I launch the newly installed games, but of course they're not synced. Also, I'm on a 64GB LCD model.

@arachnid101
Copy link

I only get the message that everything is already synced or nothing has to be synced (64 GB model as well, where the sync is a true life saver).

As this happened for the first time after the last major Steam update (3.5.7?) maybe it has to do with moving or renaming folder to be synced?

Is there a way to sync or revert the synchronization manually? like copying files or perhaps creating a pointer/alias? As I am not very familiar with Linux every help, like fixing the sync or giving some tips for a (manual) workaround would be very much appreciated.

Thanks so much in advance.

Best

@falco360
Copy link

I don't get any errors period, CryoUtilities simply insists everything is synced, before & after I launch the newly installed games, but of course they're not synced. Also, I'm on a 64GB LCD model.

same problem/deck model here

@CryoByte33
Copy link
Owner

CryoByte33 commented Nov 29, 2023

Mine both sees that things need to be synced and can sync then just fine, I'm pretty confused as to why yours would be different 🤔

As for how to reverse it, there are 2 ways:

Easy way, if your games haven't been backed up to cloud then you might lose a bit of progress:

  • Open CU and use the “clean” option on each affected game

Hard way, guaranteed no loss of cloud data/configs

  • Go to /home/deck/.local/share/Steam/steamapps/compatdata and delete anything in italics
  • Go to /home/deck/.local/share/Steam/steamapps/shadercache and delete anything in italics
  • Go to /run/media/deck/UUID/cryoutilities_steam_data/compatdata and move all folders to /home/deck/.local/share/Steam/steamapps/compatdata
  • Go to /run/media/deck/UUID/cryoutilities_steam_data/shadercache and move all folders to /home/deck/.local/share/Steam/steamapps/shadercache

If some of you would like to try one of these options and see if you can then run the sync that would be very useful.

@Ultimate8GOD
Copy link

Well, I was testing it here on my deck, and apparently formatting it to the factory default resolved it in part, however, even when installed, some games say that they have no data to synchronize, but after opening the game a few times it appears in the synchronize function , and I also have the 64gb deck.

@CryoByte33
Copy link
Owner

Well, I was testing it here on my deck, and apparently formatting it to the factory default resolved it in part, however, even when installed, some games say that they have no data to synchronize, but after opening the game a few times it appears in the synchronize function , and I also have the 64gb deck.

That is correct, sometimes the shaders only get generated after running the game. That said, it should theoretically only take 1 game boot to show up again.

@CryoByte33
Copy link
Owner

Oh, here's a question, did everyone affected previously use the sync function on 3.4?

@Ultimate8GOD
Copy link

Ultimate8GOD commented Nov 29, 2023

Oh, here's a question, did everyone affected previously use the sync function on 3.4?

Yes, I used it on 3.4 without any problems

@Ultimate8GOD
Copy link

Ultimate8GOD commented Nov 29, 2023

Well, I was testing it here on my deck, and apparently formatting it to the factory default resolved it in part, however, even when installed, some games say that they have no data to synchronize, but after opening the game a few times it appears in the synchronize function , and I also have the 64gb deck.

That is correct, sometimes the shaders only get generated after running the game. That said, it should theoretically only take 1 game boot to show up again.

There was something that happened with just 2 games, but I don't know if it has to do with the problem, Yakuza 0 and Forager, even after launching it a few times and playing for a few hours, said that it had no data to synchronize and in the deleting game data showed it as not installed, it only appeared as installed after restarting the deck and you can't see if this happens in all the installations I've done

@falco360
Copy link

Oh, here's a question, did everyone affected previously use the sync function on 3.4?

Yes

@falco360
Copy link

And here are some pics of my issue
IMG_4741
IMG_4740
IMG_4739
As you can see,CU reports there is nothing to sync,but system memory shows almost 5 gigabytes of shaders present on the system memory…
No idea what the “other” data is😂

@InklingGirl
Copy link
Author

That said, it should theoretically only take 1 game boot to show up again.

I can say even after launching a game multiple times, it will not sync.

Oh, here's a question, did everyone affected previously use the sync function on 3.4?

Yeah it was working perfectly.

@InklingGirl
Copy link
Author

InklingGirl commented Dec 3, 2023

Hard way, guaranteed no loss of cloud data/configs

  • Go to /home/deck/.local/share/Steam/steamapps/compatdata and delete anything in italics
  • Go to /home/deck/.local/share/Steam/steamapps/shadercache and delete anything in italics
  • Go to /run/media/deck/UUID/cryoutilities_steam_data/compatdata and move all folders to /home/deck/.local/share/Steam/steamapps/compatdata
  • Go to /run/media/deck/UUID/cryoutilities_steam_data/shadercache and move all folders to /home/deck/.local/share/Steam/steamapps/shadercache

I tried doing this, but I don't have nearly enough free space on my internal 64 GB storage to move everything back … but now all the symlinks are deleted, some folders are moved back & others aren't (& only in 1 category at that, shadercache), & CyroUtilities – perhaps understandably now, w/ the mess – still doesn't see anything to sync..

So seeing as everything's basically broken on me now, the only way I can think to easily fix this mess of my own making is by just moving all of compatdata & shadercache to the root of my microSD & symlinking them back to /home/deck/.local/share/Steam/steamapps/ (like I used to do before using CyroUtilities, which also meant I didn't have to manually sync). Hopefully this issue gets fixed, as there's probably more wisdom to the way CyroUtilities does it, but yeah it's just not working for me right now & my limited internal storage space makes it difficult for me to manoeuvre in the way you had suggested.

@Eschguy
Copy link

Eschguy commented Dec 5, 2023

Working now on 3.5.8 Preview.

Edit: Spoke too soon, it just got further than normal before giving the same error.

@Eschguy
Copy link

Eschguy commented Dec 13, 2023

  • Go to /home/deck/.local/share/Steam/steamapps/compatdata and delete anything in italics

  • Go to /home/deck/.local/share/Steam/steamapps/shadercache and delete anything in italics

  • Go to /run/media/deck/UUID/cryoutilities_steam_data/compatdata and move all folders to /home/deck/.local/share/Steam/steamapps/compatdata

  • Go to /run/media/deck/UUID/cryoutilities_steam_data/shadercache and move all folders to /home/deck/.local/share/Steam/steamapps/shadercache

This process worked for me, was able to do a successful sync.

@VirtualMarten
Copy link

First time trying cryoutilities and on os version 3.5.7 and it reports no games to sync. Looking on the SD Card it seems the furthest it got was making the steam app, compatdata and shadercache folders

@fsworld009
Copy link

fsworld009 commented Dec 24, 2023

Hard way, guaranteed no loss of cloud data/configs

* Go to /home/deck/.local/share/Steam/steamapps/compatdata and delete anything in italics

* Go to /home/deck/.local/share/Steam/steamapps/shadercache and delete anything in italics

* Go to /run/media/deck/UUID/cryoutilities_steam_data/compatdata and move all folders to /home/deck/.local/share/Steam/steamapps/compatdata

* Go to /run/media/deck/UUID/cryoutilities_steam_data/shadercache and move all folders to /home/deck/.local/share/Steam/steamapps/shadercache

This still doesn't work for me, I've also tried deleting all stale files from uninstalled games but it still doesn't help.

If I delete cryoutilities_steam_data and try again, I can see the folders got recreated but the report shows nothing to sync.

@CryoByte33 Does the program generate any log file or is there anyway to capture logs?

Update: I went through all my installed games (40), and for every game that I'm not sure if I have opened once on Steam deck I just opened it once. After going through that process, now the program can succesfully detect that some folders need to be moved to SD card.

So it could be that the current code logic would return everything is synced if there's one (or more?) games not opened once on the steam deck. I guess it could be a result of trying to read non-existing compatdata or shadercache folder and causing file I/O error/exception.

It would be nice if the program can safely ignore games without corresponding folders (or showing warning messages for them) instead of returning everything is synced.

Update 2: just found that my Steam deck is still on SteamOS 3.4.11 so my post might not related, sorry about that.

Update 3: It says OS version is 3.4.11 but I can see new display settings and HDR from 3.5, also the SD card path has been renamed as mentioned in earlier post, so I suppose I'm actually on 3.5.

Update 4: Confirmed that I am on 3.5.7 ValveSoftware/SteamOS/issues/1323

@CryoByte33
Copy link
Owner

CryoByte33 commented Dec 24, 2023

There is a lot file at /home/deck/.cryo_utilities/cryoutilities.log.

I've been working on this when I can and it seems that there was a change around SteamOS 3.4.8 that causes the relevant folders to not be created until first game boot, so I believe that's what you're seeing here. Unfortunately that means that there's nothing I can do to sync them, other than just creating the folders and hoping they're used, but that would cause breakages if you swap SD cards, so I don't think that's the right move.

@fsworld009
Copy link

Thanks for response, looks like it doesn't keep the logs from previous runs, the current log content only has timestamps from the last successful run.

Will check the log if I run into the same issue again in the future.

@benjaberg
Copy link

Had the same issue. For some reason the path for the SD card in /home/deck/.local/share/Steam/steamapps/libraryfolders.vdf was still in the old format. Therefore the check for right wasn't successful and the library was skipped. Updating the path to the new format did help and seems to be persistent.

@bchiu3
Copy link

bchiu3 commented Feb 4, 2024

Had the same issue. For some reason the path for the SD card in /home/deck/.local/share/Steam/steamapps/libraryfolders.vdf was still in the old format. Therefore the check for right wasn't successful and the library was skipped. Updating the path to the new format did help and seems to be persistent.

Want to also add for people who are looking at this later that you should NOT add a trailing slash at the end of this.
IE, something like /run/media/deck/<sd_name>/ does not work and should be /run/media/deck/<sd_name>

@InklingGirl
Copy link
Author

InklingGirl commented Feb 4, 2024

I tried syncing again, it still doesn't find anything to sync.

EDIT: I see the author's update, that's quite an unfortunate change.

@bchiu3
Copy link

bchiu3 commented Feb 6, 2024

I tried syncing again, it still doesn't find anything to sync.

EDIT: I see the author's update, that's quite an unfortunate change.

If it still doesn't work, check out /home/deck/.steam/steam/steamapps/shadercache/. If there's folders there, it's probably a problem with the libraryfolders.vdf above. I had trouble with that until I changed the line in there.

@InklingGirl
Copy link
Author

InklingGirl commented Feb 6, 2024

Is the new path /run/media/deck where the old path was /run/media/mmcblk0p1? @bchiu3 @benjaberg

@benjaberg
Copy link

Yes, /run/media/mmcblk0p1 is the old path and /run/media/deck/<UUID> is the new one introduced with SteamOS 3.5.

If the log at /home/deck/.cryo_utilities/cryoutilities.log, after trying to sync your data, says something like

Library location not selected, skipping: /run/media/mmcblk0p1.

then you have to update the path in /home/deck/.local/share/Steam/steamapps/libraryfolders.vdf. If you copy the path don't forget to delete the trailing "/". If your log does not contain this message, providing the log file might help to fix your problem.

@EvilAaron
Copy link

Been wrestling with this behaviour for a couple months on my 500GB LCD and more problematically on my sons 64GB LCD.

Missed this when was searching for others experiencing same behaviour, glad I found this today. Will play around tonight after work and see if I can figure out how to change path.

@InklingGirl
Copy link
Author

Yes, /run/media/mmcblk0p1 is the old path and /run/media/deck/<UUID> is the new one introduced with SteamOS 3.5.

When I right-click on my mounted microSD to find it path, all I see is /run/media/deck, how can I find the generated UUID? Will the UUID be the name of a directory under /deck/? Thank you.

@bchiu3
Copy link

bchiu3 commented Feb 7, 2024

Yes, /run/media/mmcblk0p1 is the old path and /run/media/deck/<UUID> is the new one introduced with SteamOS 3.5.

When I right-click on my mounted microSD to find it path, all I see is /run/media/deck, how can I find the generated UUID? Will the UUID be the name of a directory under /deck/? Thank you.

The UUID is the one shown in dolphin as the path file whenever you go into your sd card. It'll also show in the sync game data menu in cryoutilities when you try to sync between the two devices (the other other than /home/deck/.local/share/Steam). @InklingGirl

I think the problem with trying to detect this in the actual code automatically is probably that the sd card might not even be the correct one, or there are two sd cards via some USB hub, or something about steamOS versions (?). Don't know the exact reasoning behind this, but otherwise it might be better to try to auto-detect this when doing the call to parse the vdf file.

@InklingGirl
Copy link
Author

Why not something like $(lsblk -n -o uuid /dev/sda1) to automate detection of the UUID?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests