Closed InklingGirl closed 1 year ago
Ahh, this is interesting. It seems that we're only syncing stuff that has compatdata AND shadercache, instead of treating them individually. This is a VERY good catch, thank you!
Out of curiosity, have you run the games listed in the shaders section above, or just installed them?
have you run the games listed in the shaders section above, or just installed them?
I've run Freddi Fish, but I haven't gotten around to the rest yet.
Would you mind running SUPERHOT and trying to do the sync afterwards? I'm curious if the issue is that compatdata simple hasn't been generated yet.
Can confirm that after running SUPERHOT, Sync Game Data can in fact find & move the game's data.
Ah yeah that makes sense. So I only move the data if both the compatdata AND shadercache exists on that drive. Without doing that you could synchronize the shaders and the compatdata would still be on the wrong drive until you ran a sync again.
As a user, would you prefer the current behavior that "guarantees" that all the data is moved, or a more incremental approach that might be a little misleading?
a more incremental approach that might be a little misleading
This may give users a false sense of security & leave them w/ only half their game's data synced knowing none the wiser 'til they revisit the utility, unless of course you included some sort of disclaimer.
Here's an idea though, how about you write Sync Game Data so it will preemptively create & symlink shader cache directories for games that don't already have one? That way, they'll just be used at a later date on a per need basis. Assuming – once the game is actually run – that Steam will just honour & use the symlinks already there w/o overwriting them w/ real directories of its own making (I'm uncertain of what its behaviour would actually be in that instance). What do you think @CryoByte33?
how about you write Sync Game Data so it will preemptively create & symlink shader cache directories for games that don't already have one?
This is a really good idea in theory, and I actually already tried it. The problem is that if I pre-create the compatdata folder (the one likely to be missing) then Steam thinks that the prefix is all set up and ready to go. It seems to "dumb" to realize whether there's a valid prefix inside or not, and games will just fail to launch with that empty folder present 😓
That's a shame. In that case, I think you should add an explanation/disclaimer & perhaps an option, but at least the former, to avoid any potential confusion cases like mine. I guess another idea could be, running it as (an opt-in) automated service?
Well I guess that's all that needs to be said for now, so I'll close this issue. Thanks for the info @CryoByte33.
When using Sync Game Data to move Proton prefixes & shader caches over to the microSD & symlink them back to their respective directories in
×/steamapps/
, there are – not all, but – multiple prefixes & caches that didn't make the move at all & are still sitting (not symlinks, the originals) in their respective×/steamapps/
directories rather than the respective equivalents in×/cryoutilities_steam_data/
on microSD. Despite this, on successive sync/check attempts Sync Game Data always insists: 'None! Everything is synced in this direction.', which is incorrect. I'll list the stragglers below.×/steamapps/compatdata/
:/0/
GE-Proton7-43/1493710/
— Proton Experimental/1887720/
— Proton 7.0×/steamapps/shaders/
:/283940/
— Freddi Fish and the Case of the Missing Kelp Seeds/322500/
— SUPERHOT/469790/
— Linelight/568040/
— Macbat 64/1049890/
— Little Witch Nobeta/1289310/
— Helltaker/1554840/
— Toree 3D/1695830/
— Baldur's Gate: Dark Alliance/1722620/
— Toree 2/1949960/
— Super Kiwi 64/2207670/
— Super Beast Hunt/2615276786/
— I don't know what this isNotes:
May not be important, but exactly half of these shaders are for native GNU/Linux games, which is disproportionate as that's almost all the native games I have installed (bar one, whose data did make the move).
For some additional background, many months ago I did manually move
/compatdata/
&/shaders/
whole to the root of my microSD & symlink them back to×/steamapps/
, only recently did I move them back to×/steamapps/
to use CryoUtilities' solution instead.Log file: cryoutilities.log