Gaming on Linux

Photo by VanveenJF on Unsplash

Everyone agrees, gaming on Linux isn't easy. You are basically trying to use a translator to play something that hasn't been written for Linux, and hoping it all works perfectly. Not always an easy task.

Now, I have been using Linux as my daily driver since 2000, but until 2003 I had a Windows partition for gaming. Then I decided "fuck this," and moved over to WINE, and that was that.

I found my favourite games worked (after some tweaking) and that was all I needed. With that, I nuked my Windows partition, and devoted my life to Linux. I can honestly say I never looked back.

Running Games

Running games was not easy, back in those olden days when dinosaurs walked the Earth. You would have to spend endless hours in various fora, hoping someone had the same or similar problem you had, and had found a solution. Thank Eris for the detailed error messages that Wine and Linux gave us. We would never have managed without them. Later, came PlayOnLinux and Lutris which made gaming so much easier.

Then came Steam's Proton which made many of the games you bought on Steam Just Work™. That was just awesome.

But sometimes, they *still* don't work. Because various levels of Proton need support my hardware can't handle, and then you have to start figuring out where things went kaput.

Yes, I do miss being able to just install something and have it work out of the box, but no, I am not going back to Windows.

 

Hardware

I guess my biggest problem is the hardware I'm running.

It's a Lenovo ThinkPad T440p with many after-market mods.

It currently has the Intel i7-4600M, 16gb RAM, and (here's the kicker) switchable graphics between the Intel i915 chip and the NVIDIA GeForce GT730M.

And ay, there's the rub. The NVIDIA driver.

Problems

Let's face it. The hardware is outdated. Not as much the capability, because the games I want to play are pretty low end, but in the compatibility between it, and the latest requirements of Proton (as of this writing, version 8.x).

Games that used to work under previous versions of Proton don't do so any more, and it becomes a game of Whac-A-Mole between me, and the issues. Thankfully, there are lots of helping hands out there, and there is also the infinitely helpful ProtonDB, which has an extensive database of Proton-compatible games.

Setup

First we have to set up Linux properly, so that we can get the graphics cards working right.

To kick things off you need to enable the i386 architecture, because most of these games are optimised against it.

Install the Graphics drivers.

The T440p uses the NVIDIA GK208M [GeForce GT 730M] chipset, which can only use the 470.xx driver series. This is a legacy driver,

Under Debian you need the nvidia-tesla-470-driver.

I use glxinfo and glxgears -- REBOOT FIRST -- to ensure everything is working as it should.

It's no always necessary, but it helps to install and enable Winetricks and Protontricks.

Use __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command% in the Steam options to use the Nvidia card.

If you want logs of the game's launch and crash on proton, use PROTON_LOG=1

Games

My Steam games list is horrifyingly large. Some games I play often, most of them I haven't played (or even downloaded) at all. Oy vey! But the games I am listing here are the games I am currently playing, and whether they work or not, and what I have had to do to get them there. I am using this as a record for when I forget what I did to make them work.

Key

  • Just Works - Click it, it runs, and you can play it. No tweaks needed.
  • Works - Works with minor fixes. Proton version, command strings.
  • Needs Work - You need to work for this. Non-official versions of Proton, and sometimes modifications
  • Doesn't Work - Doesn't work, yet.

Dysmantle

Works

Pretty much works out of the box. Doesn't seem to need the Nvidia drivers. Just change the Proton to 7.x.x and it works immediately.

LEGO® The Hobbit

Works

I used the Nvidia Prime offload code with the 7.x.x Proton driver, and it worked.

LEGO® The Lord of the Rings™

Works

This took some doing. It would start up, go through the opening screen, but then crash on the opening animation, which was annoying, because it used to work, and it was annoying to have it not work.

It took a lot of work, and lots of Googling, but I got it to work. The steps were:

  1. Enable Winetricks and Protontricks
  2. Enable Proton version 7 or 6. (7 works, but 6 works better)
  3. Add `PROTON_USE_WINED3D=1` to the launch options.
  4. Use Protontricks to add DirectX9.41

Stardew Valley

Just Works

Stardew Valley is an awesome game with direct Linux compatibility. No need of anything special. But if you are using the SMAPI plugin system to expand Stardew Valley on Arch Linux, you must remember to install xterm.

Conclusion

This list will probably never be complete. There will always be more games (damn you, Steam Sales!!), and there will always be issues. I will try to keep this up to date.

Add new comment