3

I have Steam libraries on two different disk drives. When attempting to move a game from one to the other, the operation fails with "not enough free disk space" error even though there is plenty of room on the destination drive. I tried this with three different games. They use 1.7, 7, and 14GB; the destination drive has 41GB free, both according to the command line and to Steam (as displayed in Preferences->Downloads->STEAM LIBRARY FOLDERS).

In what may be a related issue, uninstalling a game in Steam did not result in its game files being removed from the disk drive (under $LIBRARY/steamapps/common).

Apparently there's supposed to be some way to Repair Library Folders but this option doesn't show up in the context ("right-click") menu for me. Maybe it's a Windows-only thing. Oh, yeah: I'm running under OSX 10.10.

2 Answers 2

3

I discovered a workaround that involves copying the game files over manually and "reinstalling":

  • Copy game directory under $LIBRARY_LOCATION/steamapps/common over to some other location on the destination drive (e.g. ~/tmp) using the command line or however you do such things
  • Use the Steam client to uninstall the game (i.e. right-click and select Uninstall...)
  • Exit the Steam client
  • Move the copy into the common directory in the Steam library on the destination volume (e.g. /Steam/steamapps/common/)
  • Restart Steam
  • The game will still appear as not installed. Tell Steam to install it the normal way in the destination library, i.e. the one you just moved the copy into
  • This should happen quite quickly, i.e. without the need for Steam to download anything. If the game is sizeable there will be a delay while Steam is "Discovering existing files".
  • Click Play and enjoy

I'd still like to know how to fix whatever issue is making it necessary to to this, so please contribute an answer if you have info.

3
  • The problem with this method is exactly that you need double the amount of space as the game itself - because Steam will think it's not installed, and even though it is there, it will block you from verifying it if there is not enough free space for another copy.
    – Dagelf
    Commented Feb 26, 2020 at 22:16
  • @Dagelf: If I remember correctly what I was saying, you shouldn't need any extra space on any particular volume. You'll have two copies of the game for a moment but they will be on different volumes. Basically you trick Steam into verifying the files you've already moved to where you want them by asking it to install the game there.
    – intuited
    Commented Feb 27, 2020 at 19:11
  • 1
    I'm saying from experience. If you've already got a 40GB title, and there's only 39GB left on your drive, even though you already have it, Steam refuses to verify it because you don't have enough space. It doesn't need the space, but it does a check, not taking into account the possibility of the game already being installed.
    – Dagelf
    Commented Mar 17, 2020 at 14:11
2

If you were using the client's own functionality to do this before you did so manually was there enough space for a full copy of the data on the source drive? The client doesn't do some things in the best ways, and could actually be creating a temporary copy while moving the data, though IDK and can't test as I don't have an external right now. The trick you found is one of the manual forms of moving installed Steam apps from before they finally added this feature to the client itself.

The files not being removed on uninstall is very strange, but could theoretically be caused by having two separate appmanifest files for one app in two different Steam Library Folders. The appmanifests tell Steam that a game is installed in a Steam Library's /steamapps/common folder, and without them it doesn't recognize that the game is installed but with one it will act as if the game is installed right up until it gives you a "missing executable" error. It's not possible to install a game that's already installed to a different Steam Library Folder of the same client though, so I'm guessing it was caused by manually copying or an installation from another machine which was put on the external drive. I suspect that Steam would consider the last loaded version to be the valid one as the Steam Library Folders are indexed internally with 0 being the default and 1 or higher being custom ones. If you remember whether it was the default or a custom folder can you please share which it was? :P

"Verify Game Cache" is only meant to check your local installation of a game and ensure it's not corrupted and has no power over the Steam client. If you believe the client is corrupted the best way to fix that is to uninstall and reinstall Steam, but you could try a Steam client clean up: Windows, Mac (based on Windows directions). This is like a soft-reinstall of Steam and will not destroy installed games, plus will only lose some Steam client settings; it can leave some corrupt data behind though. A hard uninstall/reinstall of Steam following the official directions is far more likely to fix issues, but will lose most of your settings including non-Steam shortcuts and save data which failed to be synched with the Steam Cloud.

Finally, that manual moving method can fail if the game has an update newer than the version that you have installed, or for other reasons that seem to basically be "because Steam felt like it". The easiest way around this is to also copy or move the appmanifest_#.acf (where # is the unique appid of an app on Steam) file(s) from the steamapps folder when you're manually moving installed Steam apps as this keeps the current installed version data. Sometimes though this also has a problem, so it's best to know about and try both methods. Moving or deleting an appmanifest will also have the benefit of "uninstall"-ing the game (as far as Steam is concerned) as mentioned above.

I tried experimenting to get around the problems moving some games (most are fine) by playing with the appmanifest files values, but from what I remember of my tests when it did have an issue it was persistent. This lead me to believe it's caused by encrypted data such as part of Steam's DRM known as Custom Executable Generation which encrypts a games executable based on the owner who installed the game, and I think can also go further but I'm no Steam dev/expert.

If you try any of the above make sure to completely close the Steam client before saving any changes to it's files. Not only will it overwrite most changes using it's known data anyways when it closes, but it could also cause problems.

3
  • "was there enough space for a full copy of the data on the source drive?" As I mentioned in the question, the error occurred when I tried to move a game with 1.7GB of data onto a volume with 41GB free.
    – intuited
    Commented Aug 6, 2018 at 18:21
  • Yes, but I'm talking about the source drive where the file was coming from. If the Steam client's implementation of moving games between library folders is like the backup/restore feature then it's probably compressing the data or making a copy on the source drive rather than the external while doing the move. And based on the fact it did work by doing it manually vs when using the client it failed it does seem to imply that Steam really thought it was out of space somewhere which lead me to consider the source drive being full.
    – l3l_aze
    Commented Aug 6, 2018 at 18:40
  • Ahhhh right okay. Sorry, I didn't actually read that. But yeah, there was definitely more than a couple of GB free on the source drive.
    – intuited
    Commented Aug 6, 2018 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.