Steam for Windows on GNU/Linux - how I do it
UPDATE: Another post that was made before Proton existed. So much has changed!
But wait! Why do you want to mess with Windows' version of Steam when there's a native client for GNU/Linux systems?
The fact is that although the number of games for Steam on Linux is pretty large and growing fast, there is a massive number of games that aren't currently slated for release outside of Windows - or they have a FOSS implementation that isn't loudly advertised (if at all) on whatever store you happen to find a game on. In some cases, it is an easy way to gain access to game files that you want to use with a particular reimplementation of a particular game.
Steam has a gold rating on the WineAppDB, and tools like winetricks make installation and usage a breeze. There's nothing really special about the process, but seeing as there are so many ways to do this I thought I should lay out what works really well for me.
$WINEPREFIX
Before we get rolling with installing things, it's important to understand what setting a $WINEPREFFIX
can do for you. The official docs put it best, but in a nutshell it allows you to create a new windows install. This is useful if you don't want to install a bunch of different applications into ~/.wine
or if it gets too messy. It can also be useful if you want to test something out but don't want to mess with an existing, clean wine prefix.
winetricks
Installing winetricks is easy, just git clone the source and run winetricks/src/winetricks
. There's a Makefile for system installation, but I find it easier to make a symlink to some local directory that's in my $PATH
- YMMV.
Steam
Installing Steam is simple, just run winetricks
with your desired $WINEPREFIX
set. For example:
WINEPREFIX=${HOME}/games/WineSteam winetricks
A couple dialog boxes will be displayed, winetricks will inform you about a few workarounds it will apply to make steam more usable, and that's pretty much it. Within a few minutes Steam should be up and running.
I use a small shell script to handle launching Windows Steam, something like this:
#!/bin/sh
export WINEPREFIX=${HOME}/games/WineSteam
cd ${WINEPREFIX}/drive_c/Program\ Files/Steam
wine 'C:\Program Files\Steam\Steam.exe'
A decent number of "Windows-only" Steam games work quite well via this method - I've managed to play bits of various Bethesda games (Skyrim, Fallout 3/NV, etc) but you'll need a decent video card (preferrably Nvidia) if you want to get that crazy. One game I frequently play on wine is Age of Empires II HD Edition; it's a really slick update to a great classic and isn't grahpically demanding yet still looks great.
Anyways, that's about it for now I suppose. Enjoy!