Steam for Windows on GNU/Linux - how I do it

Posted: | Updated:

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.

A side note: GOG is sort of an exception here with their GOGmixes; the community can assemple lists and if a game has a reimplementation, chances are high it will be listed in a GOGmix. Pretty handy actually!

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!

This page was last modified on: 2020-07-26