For long, the words “gaming” and “linux” were not found on the same sentence. In fact, Linux-based operating systems were counter-intuitive for gaming. However, times have changed, and so has the state of gaming on Linux.
It has been over a year since I have moved to Linux. In today’s article, we shall discuss the history of Linux gaming , the present state of it and my experience with the same.
A Brief History of Linux Gaming
Similar to Linux itself, Linux gaming owes much of its legacy to Unix. In fact, the inception of came as an extension of the Unix gaming scene back during the late 1960s to the early 1970s. These were mostly arcade titles.
However, Linux gaming truly began to flourish in the era of the ‘90s. This decade saw many of the popular video games to be ported on Linux. In fact, Linux became a viable choice for gaming to many during this period of time. The trend began with the steps taken by DUX Software to port SimCity to Unix. They contacted Don Hopkins to port it to Unix. Later, he ported the game to Linux as well. However, during those days, it was rare to find a Linux gamer with working sound. This was one of the most common issues in an ocean of problems in the world of Linux gaming.
Particularly, the contribution of iD Software has to be mentioned. iD Software is the original developer of blockbuster titles such as DOOM and Quake. Dave D. Taylor is a name written in golden letters in the history of Linux gaming. He worked for iD Software from 1993 to 1996. He ported DOOM and Quake to Linux during his free time. The following is an extract from the linuxdoom README dating back to December 1994:
“I did this ’cause Linux gives me a woody. It doesn’t generate revenue. Please don’t call or write us with bug reports. They cost us money, and I get sorta ragged on for wasting my time on UNIX ports anyway.”
During the late 1990s, Loki Software took the wheel. In 1991, they released their first port of a major commercial video game, Civilization: Call to Power. It was followed by 18 more blockbuster titles from the same publisher. However, they declared bankruptcy in 2001. This put a halt to their operations and Linux gaming faced a blow. In 1998, a site known as LinuxGames emerged. This site covered the news regarding Linux gaming. However, it went down in 2015 following the downing of its host.
Wine
Wine is originally an acronym for Wine Is Not an Emulator. Essentially, it is a compatibility layer which allows us to run software applications from other operating systems on Linux. Wine is not exclusive for Linux. Instead, it also works on macOS and BSD. In 1993, Bob Amstadt started Wine alongside Alexandre Julliard as a way to run Windows 3.1 programs on Linux. Later on, its development was passed over to Alexandre after Bob left the team in 1994. He has managed the project’s development ever since. The project received commercial support from CodeWeavers. The first stable version of wine was released in 2008 with v1.0.
Wine was not a pleasant project to work on. The developers faced recurring problems with the Windows documentation. They were incorrect or incomplete in many cases. Some portions of the OS were confidential, meaning they had no documentation to begin with. The Wine development team had to reverse-engineer various function calls and file formats. In fact, they had to duplicate bugs to get the software running.
While it was originally released under the MIT License, it was changed to LGPL in March 2002. This was done to prevent third party developers from using the codebase to create their own programs without contributing to the original.
Installing Wine
So, for the Linux users like me, I will note down the steps to install Wine.
Firstly, you have to open up the terminal obviously.
Then, the commands will vary based on the distro you are using
-
Ubuntu-based Distros:
sudo apt-get install wine winetricks -y -
Fedora-based Distros:
sudo dnf config-manager –add-repo https://dl.winehq.org/wine-builds/fedora/36/winehq.repo
sudo dnf install winehq-stable -y
#Fedora requires manual installation of Winetricks
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo mv winetricks /usr/local/bin/ -
Arch Linux
sudo pacman -S wine winetricks
- Debian-based Distros
sudo apt install wine wine64 wine32
Finally, run the Winetricks app to automatically create the required directories.
Using Wine
Now comes the fun part. Using Wine is as simple as it gets.
-
Open up the folder containing the .exe file. Let’s say, we are opening xyz.exe
-
Then type in the following:
If all goes fine, you’ll be running the desired Windows app in no time. This is essentially how we run Windows games on Linux. But there are third-party modifications available for Wine.
Proton
Proton is yet another compatibility layer. It is essentially a fork of Wine itself. Proton is a relatively new addition to the world of Linux gaming. Valve, in cooperation with developers from CodeWeavers, released it on August 21, 2018.
Proton is essentially Wine with Valve’s touch. They added DXVK and some Wine patches. These help users solve some issues including resolution and upscaling.
The installation of Proton is as easy as installing Steam. In fact, you have to use it via steam itself.
Using Proton
To use Proton, you have to open up a game in your Steam Library first. Then to the top right, you will find a Settings icon. Select Properties under the drop-down.
Head over to Compatibility and tick out Force the use of a specific Steam Play compatibility tool. Then select the version.
There we go, it’s as easy as that.
GE Proton
GE stands for Glorious Eggroll. Essentially, it provides Proton and Wine builds containing the latest or experimental fixes for the latest titles. When regular proton can’t run a game correctly, the next step is often times to use GE Proton.
ProtonDB
ProtonDB is a community-run statistic of video game compatibility on Linux. Essentially, it collects user reviews and ranks non-native games from Borked to Platinum. Besides, it also displays it if a game runs natively.
Checking ProtonDB is basically the first step when trying to run a game on Linux. The games that are ranked Gold or Platinum work fine almost all the time. Gold rated games sometimes have trouble with muliplayer. Silver and Bronze rated titles almost always suffer from performance issues and crashes. On the other hand, Borked titles, more often than never, don’t run at all.
The Present State of Linux Gaming
As of writing, Linux is at a better state for gaming than it has ever been. While native games exist, they are more of the exception instead of the rule. However, that does not stop gaming on Linux by any means, thanks to compatibility layers like Wine and Proton. The games that are native to Linux include Ark: Survival Evolved, Left 4 Dead 2, Civilization VI, Garry’s Mod, Stardew Valley, Firewatch et cetera.
If you take a look at ProtonDB, native games are very much uncommon. But a game does not have to be native to Linux to run on the platform. The Platinum and Gold rated titles are very common to find. Most Platinum-rated titles work as well as Native ones with more or less no performance drop.
There are a plethora of Platinum-rated titles as of now. The Witcher 3: Wild Hunt, Team Fortress 2, Dying Light, NieR Automata, Doom, Portal 2, Outlast et cetera are some of the Platinum-rated titles. The list however, goes on and on. Generally, Platinum-rated titles tend to be older as they go through tons of tweaking by users before receiving the rating. But what about games which are newer?
Very few newly released titles come out as Borked. Most typically have a rating of Gold or Silver. The games which are Gold-rated often run as good as the ones rated Platinum, but lack multiplayer support or have minor performance issues. However, the performance issues are easily fixed after some tinkering.
For instance, when I first tried Hogwarts Legacy on Arch Linux last year, it ran fine initially. I was having some trouble with RTX features, so I had to put in a launch argument on Steam. Later, Ray Tracing worked fine but DLSS caused severe lag so I had to use FSR.
As of recent, I have completed Firewatch and Call of Duty: World at War on Arch Linux. They ran just fine with no issues at all. I have also played Ground Branch multiplayer. According to my peers, Squad also runs fine after some tweaking.
Often times, the problem that newer Plinko game face is the multiplayer. This often limits many multiplayer titles from running on Linux. The game runs fine, but the anti-cheat that comes attached does not. It flags the player as a hacker when running on Linux. However, single-player games run just fine for the most part.
Some multiplayer titles work well, for instance Counter Strike. But the same is not applicable to many others. This turns users away from Linux gaming in many cases when their favorite games don’t run Linux.
Steam Deck
The Steam Deck is the newest blessing to Linux gaming. The operating system used by the Deck is Linux-based. That means, there is some focus on Linux compatibility from the developers themselves. In fact, getting a game to be Steam Deck Compatible seems to be a priority these days. If you can’t find any guidelines for running a game on Linux, you can simply follow one for Steam Deck these days.
Conclusion
Linux gaming is at a better state than it has ever been in. However, that doesn’t mean it’s ready to overtake Windows. It can certainly perform better than Windows provided the right circumstances. Many of the games popular in the competitive genre don’t work on Linux. Again, lots of titles with niche audiences or hardcore simulators might not work well on Linux.
But there are people who want to use Linux for other stuff like cyber security or just enjoy the nature of Linux itself. In those cases, if gaming is not a huge priority, it is absolutely doable. With that said, I’ll end the article here hoping that Linux gaming will grow large and there will be a greater presence of gamers in the crowd of Linux users.