Is there a way to import my Steam games from Windows 7 to Ubuntu?

I'm running Ubuntu 12.04 alongside Windows 7, and although Steam works just fine on Ubuntu, it says that I need to reinstall my games if I wish to play while on Ubuntu. Rather than download my games again, is there a command where I can transfer my home directory for Steam from Windows to Ubuntu? Is it even necessary (example, will it save me any disk space by doing this or will it just be as intensive as downloading it from scratch)?

Any and all help would be appreciated.


Solution 1:

No, the game files are not identical so you need to re-install the games. You can however copy over your configuration files and use those.


You might be able to use this trick: http://www.steamgamesonlinux.com/howto-copy-steam-games-from-windows-to-linux/ (as stated in the link: you need to change the directories to your Windows directory):

  1. Open Steam in Linux

  2. Select the game you want to install on Linux

  3. Start installing / downloading it

  4. Wait until the game gets to about 1%

  5. Stop the download

  6. Open the location of your Steam install

    WINE ONLY: /home/username/.wine/drive_c/Program Files/Steam/steamapps folder in your .wine installation folder WINETRICKS INSTALLED STEAM: /home/username/.local/share/wineprefixes/steam/drive_c/Program Files/Steam/steamapps/

    You should should see your game GCF and/or NCF files there. This is why we started the download: to preload the folders and config / download files. If you skipped steps 1-5 you will not see any game files…

  7. Open the /Program Files/Steam/steamapps/common folder on your Windows partition or wherever you have your game files backed up.

  8. Now on your Linux installation open the /steamapps/common Folder - you should see your game folder there…. IF NOT it will be in /Steam/steamapps/YOURUSERNAME - OR if you skipped steps 1-5 you will not see any game files…

  9. Find the /GAMENAME folder and copy the whole /GAMENAME folder from Windows to Linux - OVERWRITING EVERYTHING that may have already been downloaded to your Linux folder…

  10. Once you have finished the copying, go ahead and unpause the game download in the Steam Client. Steam will then start parsing the “downloaded” content – give it some time as it can take a few minutes for large games. You may also have to click unpause / resume a couple to times to fully scan the folder.

  11. Right click the game title – select Properties > Local Files > Verify Game Cache

You should now have a copy of the game ready to run on your Linux Box. :D

Solution 2:

I think it can be simpler. Some (most ?) games can share files between Windows and Ubuntu. The problem being that some games seem not to support correctly being shared... They want to redownload many files each times when switching from one OS to the other.

So I created 3 folder on a NTFS disk used both by Win & Linux. Those 3 folders are "Steam", "Steam_Linux_only" and "Steam_Windows_only". In Steam Linux --> Settings --> Download --> Steam Library folders, I add the 2 first folders. In Steam Windows --> Settings --> Download --> Steam Library folders, I add the "Steam" and the "Steam_Windows_only" folders.

Now, when I install a game, I put it in "Steam" when Steam asks the location. If experience shows that the games supports well the 2 OS, it's cool, leave it like this. If

  • the game redownload many files each time when switching OS then:
  • close steam
  • copy the game from Steam/SteamApps/common/[theGame] to Steam_Windows_only/SteamApps/common/[theGame] and to Steam_Linux_only/SteamApps/common/[theGame]
  • restart steam once in each OS and desinstall and reinstall the game (make sur to choose the correct location where you moved the files). Reinstallation should be REALLY fast as most of the files are already there (Steam won't download them again).

If you really want to save some disk space you can now try to symlink some files from one folder to the other ;)

One last tip: if you install a LARGE game specific to one OS, you can still reboot in the other OS and steam will continue to install it. I started installing Tomb Raider in windows, but rebooted to Linux and the game installed most of its files from Linux. Time saver !

Solution 3:

If your game has a Linux version it's probaby best to run it with the Linux client.

For games only available on Windows, you may be able to run it under Wine.

I was surprised how easy it was to run games. The main issue though is to get your game running flawlessly. It depends really on each particular game. You can search the game on WineHQ but honestly from what I have seen so far the reports are not reliable as people do limited testing and/or on different hardware. I've had some games run flawlessly, and I've had one game run with glitches, despite the solution suggested by WineHQ.

In regard to Rinzwind's copy/paste of the article suggesting a way to copy a game over, it didn't work for me. It seems the downloading mechanism has changed, the main game folder is not created, and the download is done in a temporary folder. I tried copying the files there too, "verify local game cache" etc to no avail.

In fact there is a much easier way:

  • Install Wine via Software Center in Ubuntu.
  • Install winetricks via Terminal:

    sudo apt-get install winetricks

    winetricks d3dx9_36 vcrun2008 gecko corefonts

    This gets you some basics. In WineHQ sometimes they will suggest to run that command to get a few extra packages.

  • Download Steam installer (Windows version), just double click the .msi file to install it! (when Wine is installed you can double click Windows executables straight from Nautilus and even game shortcuts on Ubuntu desktop)

  • Now here's the trick: simply backup your game in Windows, and use the restore function in the Steam client (the one running under Wine!).

    In more detail: create a backup via (Windows)Steam, copy the folder on an external drive or USB key, log in to Linux, and copy the files again to the Wine Windows, it is located in ~/.wine/c_drive/ That folder corresponds to your (virtual) C: drive, just copy the Steam game backup there. Then run (Wine)Steam and simply browse to C: to find the backup.

  • You will actually get a game shortcut on your desktop! From there on double click the icon and it should run.

So TLDR, you can have Steam under Wine to run Windows-only games, and use the native Steam Linux client to run Linux native games.

Just keep in mind there is no 100% guarantee the game will run. As an example I ran "Depths of Peril", "Tomb Raider: Underworld" and "Puzzle Quest 2" flawlessly without any prior Wine configuration. On the other hand, despite the "gold" rating on WineHQ I've had some glitches and crashes with King's Bounty Crossworlds running fullscreen at 2560x1440.