Steam Deck

Steam Deck

Neofalcon Jun 11, 2022 @ 7:34pm
3
3
3
1
"Compatdata" folder for SD Card games needs to be stored on the SD Card
I elected to buy the 64GB Steam Deck, figuring I would buy a large 512GB SD card, and could even swap between SD cards with multiple libraries.

However, a glaring issue with the Steam Deck causes huge problems for players trying to run libraries off of SD Cards - the "compatdata" folders generated for Windows games are always created on the internal storage, regardless of where that game is installed. This can be a HUGE problem as - depending on the game - this compatdata folder can swell up to HUGE filesizes. Not to mention, since this is space that you lose on the Steam Deck regardless of where the games are installed, having multiple SD cards does effectively nothing to give you extra storage space for games, if your limiting factor is "compatdata" folders.

How bad is this issue? Currently, my 512GB SD card is only half full, with 234GB free, according to my Deck. My Deck's internal storage, however, has only 12.9GB free, despite having not installed a single game onto its internal storage.

The solution to this is obvious. We need an option to store the "compatdata" folders generated for games on the SD Card, alongside the game, instead of the internal storage. This needs to be an option in the "properties" menu that we can configure on a per-game basis, so that it works with non-steam games, and it should be enabled by default for all games installed on an SD card.

This would solve the issue in a way that is completely invisible to users who don't want to muck around with linux shenanigans, without having to configure clunky symlink workarounds on a per-game basis.
< >
Showing 1-15 of 21 comments
schmidtskaetzle Jul 30, 2022 @ 2:45am 
I am facing the same issue. I got around this by copying/moving the compatdata folder to the sd-card and creating a sym link on the internal space to the sd-card folder (you will need to use the console in desktop mode to do this):


  1. cp -r /home/deck/.local/share/Steam/steamapps/compatdata/* /run/media/mmcblk0p1/steamapps/compatdata/
  2. mv /home/deck/.local/share/Steam/steamapps/compatdata /home/deck/.local/share/Steam/steamapps/compatdata_backup
  3. cd /home/deck/.local/share/Steam/steamapps
  4. ln -s /run/media/mmcblk0p1/steamapps/compatdata


I do not know yet whether this could cause some issues at some point in some circumstances. This also assumes that every SD-card will always be mounted to the same local folder. So do this on your own risk. Btw. as soon as you confirmed that this works -> you can delete the compatdata_backup folder. This only works - if you always have an SD-card inserted - eMMC installed games will also need the SD-card to store the compatdata.
Last edited by schmidtskaetzle; Jul 30, 2022 @ 2:47am
Neofalcon Jul 31, 2022 @ 4:43am 
I tried making symlinks on a per-game basis using drag-and-drop and then selecting "create symlink here", and everything worked fine.... at first.

Then, one day, following a restart (or maybe an update), every game I'd made a symlink for stopped booting, and I had to undo it all.

I dunno if using the console fixes that, or if using the entire folder fixes that, but... regardless, this is still a huge issue Valve needs to fix. Even if your method works, the fact that you can't swap around SD cards for huge game libraries is a HUGE downside. Like, what was the point of making SD cards hotswappable if you can't actually use more than one...??

Hopefully Valve is working on this - because if not, I think a lot of people with 64GB model are going to be VERY unhappy once their internal storage fills up after a few months...
Last edited by Neofalcon; Jul 31, 2022 @ 4:43am
Edigs the Cat Jul 31, 2022 @ 5:33am 
+1
cee Jul 31, 2022 @ 8:55am 
+1 for easily keeping compatdata and shader-cache on SD card. symlinking works, but would be nice to have an interface way to set this up.
Keeleon Jul 31, 2022 @ 1:23pm 
Just ran into this and it's crazy it doesn't already work this way. I had no idea why I was getting "can't download, out of space" errors when I still had like 100gb on SD. And I've worked IT for 20 years and am comfortable tinkering on Linux. I can only imagine the average console player dealing with this.
Guy_Manley Sep 4, 2022 @ 3:04pm 
Originally posted by schmidtskaetzle:
I am facing the same issue. I got around this by copying/moving the compatdata folder to the sd-card and creating a sym link on the internal space to the sd-card folder (you will need to use the console in desktop mode to do this):


  1. cp -r /home/deck/.local/share/Steam/steamapps/compatdata/* /run/media/mmcblk0p1/steamapps/compatdata/
  2. mv /home/deck/.local/share/Steam/steamapps/compatdata /home/deck/.local/share/Steam/steamapps/compatdata_backup
  3. cd /home/deck/.local/share/Steam/steamapps
  4. ln -s /run/media/mmcblk0p1/steamapps/compatdata


I do not know yet whether this could cause some issues at some point in some circumstances. This also assumes that every SD-card will always be mounted to the same local folder. So do this on your own risk. Btw. as soon as you confirmed that this works -> you can delete the compatdata_backup folder. This only works - if you always have an SD-card inserted - eMMC installed games will also need the SD-card to store the compatdata.

This ever give you any issues over time? Thinking about doing this.
optimusdag Sep 7, 2022 @ 8:40am 
Originally posted by schmidtskaetzle:
I am facing the same issue. I got around this by copying/moving the compatdata folder to the sd-card and creating a sym link on the internal space to the sd-card folder (you will need to use the console in desktop mode to do this):


  1. cp -r /home/deck/.local/share/Steam/steamapps/compatdata/* /run/media/mmcblk0p1/steamapps/compatdata/
  2. mv /home/deck/.local/share/Steam/steamapps/compatdata /home/deck/.local/share/Steam/steamapps/compatdata_backup
  3. cd /home/deck/.local/share/Steam/steamapps
  4. ln -s /run/media/mmcblk0p1/steamapps/compatdata


I do not know yet whether this could cause some issues at some point in some circumstances. This also assumes that every SD-card will always be mounted to the same local folder. So do this on your own risk. Btw. as soon as you confirmed that this works -> you can delete the compatdata_backup folder. This only works - if you always have an SD-card inserted - eMMC installed games will also need the SD-card to store the compatdata.

I was thinking about doing this, but I have multiple SD cards with games, so IDK how this is going to work with that
Guy_Manley Sep 7, 2022 @ 9:45am 
Originally posted by optimusdag:
I was thinking about doing this, but I have multiple SD cards with games, so IDK how this is going to work with that

Fair point, I had considered that but I only have one large SD card that I planned on using. So this works for my use case.
optimusdag Sep 7, 2022 @ 10:01am 
Originally posted by Guy_Manley:
Originally posted by optimusdag:
I was thinking about doing this, but I have multiple SD cards with games, so IDK how this is going to work with that

Fair point, I had considered that but I only have one large SD card that I planned on using. So this works for my use case.

I currently have 3 SD Cards. Two for games, and a third one with game development tools like Unity3D, Visual Studio Code and the game projects themselves.

I just went through the process of moving and linking the compatdata and shadercache to the SD card. And I'm currently installing new games to see how it all works out. I'll be posting my findings once I complete the tests
Guy_Manley Sep 7, 2022 @ 11:12am 
Originally posted by optimusdag:
Originally posted by Guy_Manley:

Fair point, I had considered that but I only have one large SD card that I planned on using. So this works for my use case.

I currently have 3 SD Cards. Two for games, and a third one with game development tools like Unity3D, Visual Studio Code and the game projects themselves.

I just went through the process of moving and linking the compatdata and shadercache to the SD card. And I'm currently installing new games to see how it all works out. I'll be posting my findings once I complete the tests

Shader cache is probably fine for easier to run games. But shader cache on SD card for triple A games is going to cause poor performance issues. https://youtu.be/mxyHGLRWV6A?t=245
This is why I only moved the compatdata directory myself.
optimusdag Sep 7, 2022 @ 12:55pm 
I come with results.
It does actually work really good. No performance loss, it might take a second or two more when launching, but nothing to be worried. It even works with several SD cards as long as you create both empty folders after formatting the card. Now, when you install a new game, it writes the compatdata and shadercache to the SD card.
You can reference this post for instructions.
https://www.reddit.com/r/SteamDeck/comments/tz9rza/is_shader_cache_and_compatdata_filling_your_64gb/
optimusdag Sep 7, 2022 @ 12:56pm 
Originally posted by Guy_Manley:
Originally posted by optimusdag:

I currently have 3 SD Cards. Two for games, and a third one with game development tools like Unity3D, Visual Studio Code and the game projects themselves.

I just went through the process of moving and linking the compatdata and shadercache to the SD card. And I'm currently installing new games to see how it all works out. I'll be posting my findings once I complete the tests

Shader cache is probably fine for easier to run games. But shader cache on SD card for triple A games is going to cause poor performance issues. https://youtu.be/mxyHGLRWV6A?t=245
This is why I only moved the compatdata directory myself.

I tested The Witcher III, Cyberpunk 2077, Mortal Kombat 11 and Mass Effect Legendary Collection with the shaders on the SD card and found no difference in performance.
Busted Sep 8, 2022 @ 8:57am 
I'm in for this being an option as well. The deck seems aimed to poach some of the console crowd over to the pc. This is only going to turn some of that crowd off.

For many of us, creating symlinks is no big deal.. Heck it's drag and drop on the deck.. But not everyone buys a game system to tinker.

It should "just work" for a consumer grade "gaming console". I know there will be elitists insisting that "no its a pc" but it's clearly aimed to provide the console experience out of the box.
Ludensius Sep 8, 2022 @ 11:31am 
This comment is awaiting analysis by our automated content check system. It will be temporarily hidden until we verify that it does not contain harmful content (e.g. links to websites that attempt to steal information).
killias2 Oct 21, 2022 @ 1:26pm 
Can this topic come back up for discussion? Some per-game option for Compatdata and Shader cache is a virtual necessity for folks with a 64gb internal storage system.
< >
Showing 1-15 of 21 comments
Per page: 1530 50

Date Posted: Jun 11, 2022 @ 7:34pm
Posts: 21