User:Flibitijibibo
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.
Contents
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:
wget http://winetricks.org/winetricks 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
- WineHQ, the official Wine homepage
- CodeWeavers Inc. Crossover Games
- The Big List of Steam Games on GNU/Linux, a list of Steam games categorized by Wine compatibility and a list of Steam games that are natively on GNU/Linux
- We Want Linux Client!, a Steam Community group for GNU/Linux users