From Valve Developer Community
Jump to: navigation, search

This should become a comprehensive guide to install and use Steam under a GNU/Linux environment.

Please note: Games run with these methods will be slower than running them on Windows because the games are not native executable files. To get the best performance we will need to wait for Valve to release a native Steam client.

How to install Steam and run Steam games on GNU/Linux

Step 1: Install Wine

To learn how to install Wine for your specific distribution, search for it on this page from the unofficial Wine Wiki. Most distributions have a prebuilt version of Wine in their repository.

If your distro is not listed, however, you will either need to use the standard tarball or compile it from source.

Step 2: Install Winetricks

Winetricks is a neat program written by the Wine community that automatically downloads and installs specific programs into your Wine prefix (if you don't know, it's likely going to be ~/.wine).

To install it, enter these commands:

sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks

And there you go!

Step 3: Install Steam

Now that we have Winetricks installed, all we need to enter is this:

winetricks steam

It should download and install Steam automatically, shortcut included! All you should have to do is click the shortcut and Steam will run. Most games should not have a problem installing/running either.

Other Libraries

Because of the nature of Windows games, odds are they're going to need a lot of the little Microsoft redistributable packages (the most common/annoying one is MS Visual C++ Redistributable 200-whatever). Steam will try to install these, but oftentimes it will fail. Luckily, Winetricks can take care of this too:

winetricks vcrun2005 vcrun2008 vcrun2010 dotnet35

That line, for example, will install the 2005, 2008, and 2010 Visual C++ Redistributable packages and all of the .NET packages up to version 3.5.

Optional Step 4: Save space on dual-boot machines

If you are dual-booting your machine, it is possible to symlink your steamapps folder from your Wine installation of Steam to the Windows installation. This will allow you to maintain only one copy of the game downloads.

Example (stop Steam first!):

cd ~/.wine/drive_c/Program\ Files/Steam/
mv steamapps steamapps.bak
ln -s <ABSOLUTE-WINDOWS-DRIVE-MOUNT-POINT>/Program\ Files/Steam/steamapps steamapps

If you symlink your steamapps folder, make sure you have your Windows drive mounted before launching Steam or it will fail to login and present a network related error message. If you use 64-bit Windows, the Program Files directory will need an (x86) suffix.

Other fixes for Steam on GNU/Linux

steam:// Protocol Links

A fix for using steam:// protocol links with Firefox can be found here. The author says it will work under Ubuntu, but it may work under other distributions as well.

Known Issues

Wine, Steam & ntfs-3g

ntfs-3g is a powerful user-mode driver for Linux which is capable of almost all file operations on NTFS partitions. Sadly, ntfs-3g and/or Wine are currently unable to work with a NTFS-based installation of Steam. Steam will crash with the following error:
Steam.exe (main exception): Cannot open blob archive file: CMultiFieldBlob(mem-mapped file): Failed to MapViewOfFile
Creating a Symlink to SteamApps on a NTFS partition doesn't work either. Steam will start up, but your GCFs will get corrupted or - if you're lucky - Steam only assumes they are corrupted. So you won't get around having duplicate GCFs for Linux and Windows if you plan on using Steam with both operating systems and having NTFS partitions for Windows, unless you install onto a linux partition from Windows, using something like Ext2 IFS for Windows (in which case you can use the same files in both operating systems).
  • Update: It seems linking gcfs instead of the folder works*
  • Note: This is not an issue with ntfs-3g specifically, but with FUSE, the userspace filesystem toolkit that ntfs-3g is built on. Any FUSE based filesystem driver will cause these same issues (ex: encfs).*

Steam and Compositing

Users may experience severe slowdown and lag if they attempt to use Steam under Wine with Compiz running on their machine. The best way to fix this is to run the command:

metacity --replace

and then to re-enable:

compiz --replace

It is a good idea to make a launcher for each one, and then run it before you start Steam.

KWin has less issues with compositing, but games may run slower if it's turned on. Under KDE, you can toggle KWin compositing with Ctrl-Shift-F12.

External Links