Can I transfer Steam Games from Win7 to Linux?

Does the Linux version of Steam use the same .vpk files as the Windows version? And if so where is the Steam install located by default on a *nix system? /usr/share/ or /home/user/.steam or somewhere else?

To expound on my question: What I'm trying to accomplish is taking the majority of Steam's files, and moving the compatible bits to Linux. It is my understanding that when Steam is presented with partial/incomplete data, it will download only what it needs, leaving the usable pieces intact, thus saving bandwidth.

So what I'm wondering is: am I able to copy the Steam folder from a Windows install to a Linux install and nothing break? Will Steam download the proper Linux binary version of the game? Do I need to delete the Windows binaries? Do I need to delete file associated with Windows-only games? Et cetaera.


Solution 1:

Yes, you can for many of the files.

I've migrated most of my Couter-Strike:Source files to Linux.

You should pick the biggest files, such as textures, sounds, models and maps to copy. Then, under your Steam directory in Linux (~/.local/share/Steam/SteamApps) create the directory structures that will hold these files, following the structure on your Windows partition.

Then when you go to install the game on Linux, after saying "Preparing to install game..." it will say "Discovering existing files...".

Solution 2:

The default steam game install directory on Linux (Not *nix, because there's no non-Linux *nix Steam binary) is /home/user/.local/share/Steam/SteamApps/common.

The default location for the .gcf files is /home/user/.local/share/steam/SteamApps/.

There's no way to just move games from Windows to Linux and expect them to run. Even if the game is Linux compatible, the Windows-binary version won't run in Linux. You must download the Linux version of that game from Steam on Linux.

However, the .gcf files themselves may migrate over without problems. The Valve Developer Wiki article for GCF has an interesting line:

GCF files cannot be altered, and if they could Steam would correct them when it next ran, but their contents can be viewed.

This seems to imply that Steam will fix anything that looks wrong with a .gcf file. However, I don't know if that means it will replace the binaries.

As far as games that don't have an associated .gcf file: You can copy much of the data and assets over. Depending on the game and its install method, Your Results May Vary.

Solution 3:

Yes it's possible if the game supports both platforms. Personally I did it the opposite way but I saw someone on a reddit post who did it your way.

You just need to make steam create a backup of the game then "restore" that backup on your windows machine. Steam will download the missing libraries automatically. This guide has a detailed example.