DISCLAIMER: Garry’s Mod is a mess. It does not run good on any platform, including and especially Linux. Running Garry’s Mod through Wine will NOT be a near-Windows experience. In fact, it will run quite poorly. Blame Garry.
For those of you who run or prefer Linux, I’m proud to say I have found a way to make Garry’s Mod and Linux play nice. This has to be done through Wine, a compatibility layer that can execute Windows binaries on Linux. This is important, because GMT in the Linux port of Steam does not work at all.
In order to do this, you will need PlayOnLinux. PlayOnLinux (POL) is a manager for Wine that can handle different Wine versions and uses community-made install scripts to install programs more easily.
If you use Linux Mint or the current LTS version of Ubuntu, you’ll want to open Terminal and put in these commands:
wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux
Chances are there is an older version of POL in your distribution’s Software Center. While this may be better supported by your specific distro, I’m using the newest version direct from the POL team, so some things may be different if you choose to use the Software Center. You may also need different commands, which are available on the POL website.
Once you have it installed, click the “Install” button at the top of the window and search for Steam.
The install script is very straightforward and will create a Wine prefix for Steam and install some needed libraries. It will also download and install Steam itself. During the Steam installer, DO NOT CHANGE THE DEFAULT INSTALL PATH.
When the installer is done, uncheck “Start Steam” so Steam will not start automatically. Now, click on the “Steam” shortcut in your list and click “Configure”.
You should see a screen that will look like this. In the “Wine version” box, click the little plus on the right.
In this window, add the x86 version of 1.7.51-staging to the right pane. While you probably do have a 64 bit system, the x86 versions of Wine just work better. I also use Staging for a feature that can increase graphics performance. Once it’s done downloading, set the Wine version for Steam to 1.7.51-staging.
Next, click on the Wine tab and click “Configure Wine”.
In the “Windows Version” box, set it to Windows 7. Now, click the “Graphics” tab.
Make sure all four of the top boxes are checked and set the resolution to your default monitor resolution. It doesn’t matter if it’s lower, but just for simplicity’s sake. It should look something like this when done:
Now, click on the “Staging” tab and check the top box.
I know it says Experimental, but nearly every Wine tutorial I’ve seen uses Staging. If performance is better without it, let me know. This is just the installation I personally use.
Now that you’re done with that, run the shortcut from the main POL window. It will run Steam in a virtual desktop (which makes it not try to screw over Linux’s WM) which can be manipulated if it’s a lower resolution than your monitor, since it’s really in a window.
After logging into Steam, download and install Garry’s Mod, Team Fortress 2, and Counter-Strike: Source. To get all the GMT content, subscribe to this Workshop collection.
And now, the moment of truth. Once Garry’s Mod downloads all of the Workshop content, go to your settings > Video > Advanced.
Now, because Garry’s Mod is a broken mess, it’s really finnicky with graphics settings. I had to set it to the “recommended” settings in order to load GMT without crashing because of a D3D error. Granted,this makes the game look awful, but this is how I got it to work.
Note that the Steam Overlay will not work. It’s disabled by libraries, otherwise it will crash.
If anyone knows any better methods, let me know and I will update the guide accordingly.