protonscr

"Steamworks Common Redistributables" is downloaded on SD hotswap

steamopen Steam clientDistro Family: SteamOS
ValveSoftware/steam-for-linux#9847 · opened 2023-07-13 by perroboc · updated 2024-03-29 · 8 comments · github
Pperroboc 2023-07-13 github

Your system information

  • Steam client version (build number or date): 1689034492
  • Distribution (e.g. Ubuntu): SteamOS Holo (Steam Deck)
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes
  • Steam Logs: [generate by running this command in a terminal tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs]
  • GPU: AMD

Please describe your issue in as much detail as possible:

When using the Steam Deck in game mode, supposedly you can hot swap an SD card. What should happen is that games in the SD card should dissapear from the "installed" sections when its ejected, and they should reappear when inserted back again, or swapped with another SD card.

The issue is that the package "Steamworks Common Redistributables" is redownloaded and reinstalled on every SD hotswap.

I've tried verifying the package without an SD card installed. Supposedly uses 360.47 MB on the Internal Drive. App ID 228980, Build ID 11255752.

But As soon as I plug back an SD card (even the same one), the package is marked to be updated, only now it downloads 615.4 MB (I don't know where), indicating 615.6 MB in disk. After doing this, the size is reported as 976.09 MB on the internal drive.

Repeating these steps, it downloads the package again, reporting the same sizes (615.4 MB download, 615.6 MB disk). Checking the size of the installation, the size stays at 976.09 MB.

Hotswapping an SD card should not require redownloading "Steamworks Common Redistributables", even more so when that is installed in the main drive.

Steps for reproducing this issue:

  1. install any game
  2. take out SD card
  3. plug back in
  4. redownload an already downloaded package
Pperroboc 2023-07-14 github

I'm currently testing this with other SD cards, too, and it doesn't download the package with every card.

2 recently formatted SD cards don't show this issue, so it seems to be with something with a specific game or kind of games.

I will backup the games, reformat with Steam, and try again.

  1. ❌ 512GB Samsung Evo Select (SDXC, Class U3)
  2. ✅ 16GB Maxell (SDHC, Class C10)
  3. ✅ 512GB Sandisk Extreme (SDXC, Class U3, A2)
Pperroboc 2023-07-14 github

It seems to be that some games trigger this behaviour. These are my findings:

Before formatting, I started deleting games on the ❌ SD Card one by one, and ejecting /inserting that same card after every removal. With each deleted game, sometimes the amount of data downloaded from the commons packages was reduced. So, I began registering these suspects, and then downloaded them again to see if the behaviour reappeared.

With this I detected some games are the culprits of triggering this behaviour in Steam:

  • Don't starve together -> 9.2 MB of common redistributables
  • Divinity Original Sin 2 -> 568 MB

Steam presents the following non expected behaviour when an SD Card has any of these games installed:

  • If just one of these games is in the SD Card when booting up Steam, then Steam will download shaders for ALL the games installed in both the SD card and the Internal drive.
  • Likewise, if any of these games is in the SD card when inserting said card into the Steam Deck, Steam will download the common redistributables package associated with the game, even though that package is installed in the internal drive.

There might be other games, but I have not tested all of my library.

Installing them in the Internal drive fixes this issue, as the games are no longer in the SD card, therefore no longer triggering this repeated installation.

Pperroboc 2023-07-14 github

Don't starve together uses 3 packages from the Steamworks common redistributables, and only one of those has a size of 9.2 MB: VC 2008 Redist (228982). The other ones seem to be installed in the main drive by other games (VC 2019 Redist 228988, and DirectX Jun 2010 Redist 228990)

That same depot (VC 2008 Redist) is used in other games, so I tested the same behaviour with one of those, like Broken Age. I uninstalled Don't starve together, checked for the bug (didn't appear as expected), and then installed Broken Age, which installs VC 2008 Redist and VC 2010 Redist.

Sure enough, it downloaded 9.2 MB of common redistributables! VC 2008 was missing!

So, the bug is as follows:

  1. Steam downloads a game and it's depots to the selected drive.
  2. If the game requires shared depots not present in Steamworks Common Redistributables, it downloads them.
  3. The problem seems to be that the check is done in the SD Card, while the download is done in the Internal drive, triggering a redownload with every insertion of the SD card.

@kisak-valve it would be awesome if you could confirm or ask for confirmation :)

Pperroboc 2023-08-17 github

Just updating this: Not fixed yet. IMHO this should behave more like proton installations that stay installed even after the game was uninstalled.

GGooby135 2023-10-30 github

Did the issue from https://github.com/ValveSoftware/steam-for-linux/issues/8823 ever come back for you? I was dealing with the same issue, I am on 3.5(preview) though.

Aadham3322 2023-10-30 github

Was hoping that we can get any update on this matter.

Kkgrabowski123 2023-11-23 github

Still appears on 3.5.5 stable which is >900 MB for me when i hotswap and when i do it while in sleep mode or turned off it redownloads the cashes for every game like in issue #8823
Which really makes the deck really annoying to use on the go, the only workaround i found was to leave the deck in offline mode when swaping so the check is skipped entierly even if you shut it down.
After the deck is booted/sd card loaded its safe to go online again it doesnt do that after that, but the deck has to be in offline mode when you perform the swap.
@perroboc It definitley seems to be something like you have described.
@kisak-valve It would be nice if we get some kind of update on this, at least some kind of note that this is worked on and not forgotten.

Dont get me wrong i apreciate very much what you guys do here, but i need to get my frustration out somewhere.
This definitley seems to be a client/server communication issue, but we are already far over a year with the deck
and something like that really shouldn't happen anymore, if the experience is supposed to be "seamless".

Its kind of frustrating, as well as the audio crackling issue which is even more present since 3.5.5 than it ever was, but there we at least allready know that the team is on to it.

Sry for my little "rant". ^^'

Zzer0exia 2024-03-29 github

With this I detected some games are the culprits of triggering this behaviour in Steam:

Don't starve together -> 9.2 MB of common redistributables
Divinity Original Sin 2 -> 568 MB

Just want to chime in and mention that I have the same issue with Steam on Desktop Linux running EndeavourOS (kernel 6.8.2, Steam installed natively using pacman). I have D:OS2 installed and every time I launch steam, it will re-download the redistributables files, around the same amount like this other user mentioned. Just to be clear, the game is installed on an internal SSD that are automatically mounted on a specific directory that I've set on fstab file.

So I think this problem isn't really specific to SteamDeck or removable external Steam drives, but the game/steam configuration itself.