CryoByte33 / steam-deck-utilities

A utility to improve performance and help manage storage on Steam Deck.
GNU General Public License v3.0
3.2k stars 79 forks source link

[feature request] Delete broken symlinks #177

Open Tschuuuls opened 6 months ago

Tschuuuls commented 6 months ago

Hi @CryoByte33

I recently had an oopsie with Gparted and corrupted my SD Card which I had a lot of games, shaders and Proton versions moved to. After formatting the card I couldn't launch most of my games, had issues reinstalling Proton because the Steam Client thought it was installed to the micro sd, but the folder didn't exist and the repair options didn't find any issues.

Long story short, I ran find . -xtype l and it found a bunch of broken symlinks. I then went ahead and just nuked all of them with find . -xtype l -exec rm {} \; (obviously dangerous, delete them one by one if you want to be safe), rebooted and the steam client fixed itself accordingly.

It would be cool if the cryo utilities had an option or check for those issues and fix them.

Thanks in advance!

CryoByte33 commented 6 months ago

Unfortunately there isn't a way to differentiate game data that's been "broken" versus data that just exists on an SD card that isn't inserted.

That said, you could use the existing "clean data" feature, selected the affected games and it would have been able to remove those symlinks. Does that solution meet your requirements, or would you like something more advanced?

Martan404 commented 9 hours ago

This problem was making me go mad. It broke my Red Dead Redemption 2 on Deck for months. I had a broken symlink laying in my compatdata after reinstalling the game and cleaning the proton prefix and it made the game instantly crash. One the symlink got removed everything just worked again.