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!