Lutris in Linux Explained!
Lutris is a software that makes gaming on Linux a pleasure! In this article let us learn about what Lutris is, what does it do, how it works, and what we can do with Lutris to make our Linux gaming experience better!
Need for Lutris
Before we can understand the need for Lutris, we must first explore the type of games that can be installed on a Linux Machine.
Types of games that can be installed on Linux
Depending on the sources from where you get your games, Linux games can be classified into the following types.
- Steam games (A place on the internet where you can video games)
- GOG.com (Good Old Games) games (Another place, similar to steam but focussing on older games)
- Native Linux Games (Games build for Linux OS)
- Games installed through WINE (Games build for Windows OS)
- Browser games (The ones you play on your Chrome/Firefox)
Coming back to the Need for Lutris
Before Lutris came into the picture, the management of games on Linux was not a very pleasant experience. For example, if you need to play Steam games, then you need to open the steam app, similarly, for GOG games you would need the GOG app, etc.
Especially the configuration and setting up of WINE games was a Herculean task for beginners to the Linux Gaming world. For those of you who do not understand what WINE is let us take a quick detour and learn about WINE.
What is WINE?
If you are a windows user, moving to Linux can be hard since you will not be able to use your favorite Windows apps any longer. Even though there are equivalent apps in the Linux world, users tend to get back to Windows. This is usually due to one of the following 2 reasons
- Coming to the Linux ecosystem for the first time and changing their entire workday around the Linux OS was already a lot for the beginner level user to handle and learning to work with new apps that they aren’t familiar with can make the entire process too much for them to handle.
- They could not find any worthy alternatives for the important applications that the users have used in Windows. Let’s face it, Linux does not come with support for productivity apps like MS Office, Adobe Suite of tools, and a bunch of other tools!
The Linux developers noticed this trend of users jumping back to their old OSes and not giving Linux more time to get used to and wanted to do something about it. Hence they came up with something called WINE which will help you run your favorite Windows apps on Linux.
How WINE works: An Analogy!
WINE stands for WINdows Emulator. WINE creates a virtual environment for the windows app to run in so that these windows apps actually think they are running on a Windows machine. In the background WINE is translating all of their Operating System communication from the language understood by the Windows Operating System to the language that is understood by the Linux Operating System. By “language” here I don’t mean computer languages like C or Java, but rather the API specifications and system calls.
For example consider this simple analogy. Say an app wants to use the WiFi hardware functionality. To use WiFi in the Windows scenario let’s assume that the apps need to say
“Windows, please give me permission to use WiFi”
and on Linux, the apps should use the phrase below instead.
“Linux, Can I use WiFi please!”
I hope you can see that the 2 phrases have the same meaning even though they use a slightly different language!
So WINE is basically a compatibility layer that sits between the Windows app and the Linux Operating System and translates all the communication meant for the Windows OS to the ones that can be understood by Linux OS. (This analogy is only designed to give the users an introduction to the idea behind how WINE works as the actual API calls won’t look anything like the sentences I have used!)
Problems with WINE
For games that run on top of WINE, you need to manually configure the settings to get optimal performance on your games. And this configuration varies wildly between games. So before you can start playing a WINE game on Linux you need to
- do some research on the internet,
- get the correct settings files,
- configure your WINE with that file and
- see your game crash, because you made a mistake while doing the above process!
- redo the entire process and then play the game!
You can do all this if someone has already made a Windows games work on Linux and managed to share the settings in some corner of the internet!
As you can see this process is cumbersome and will certainly drive away the novice!
Hence Lutris was made to fulfill the need to make the setup and management process of Games on Linux an easier process!
What is Lutris?
Lutris is an open-source software that can be used to manage and configure games on Linux machines.
According to the Lutris Official Website
Lutris is a gaming client for Linux. It gives you access to all your video games with the exception of the current console generation. You can, in a single interface, run any game from your childhood memories to the current multiplayer games. Integrations with stores like GOG and Steam allow you to import your existing game library and community maintained install scripts give you a completely automated setup.https://lutris.net/about/
In other words, Lutris gives us a unified graphical application, from which you can launch all your games installed on your Linux machine. Be it a Steam Game, GOG, Native Linux Games, and even browser games!
Lutris especially makes the management of WINE based games easier. Lutris gives us a GUI frontend for the management of Windows compatibility software. The user can select from a range of software to use as a Windows compatibility layer For e.g. we can use WINE, DOSBox, Retrotech, or Proton to do the translations for us!
How Lutris works?
Lutris runs your games by using a special software called a “runner” custom made for your specific game.
What is a runner?
A “runner” is a program that provides the environment for our games to run in Lutris.
According to the Lutris Official Website,
A “runner” is the term we use to refer to programs that can run games, it can be Linux itself, Wine, DOSBox, MAME, gzdoom, … Runners are recognized as such in Lutris itself, not all programs that run games are considered runners. For example Darkplaces, the open source engine for Quake, is not a runner but gzdoom is. Usually, programs become runners if they can run a variety of games, not just one or two.https://lutris.net/faq
To put this in simpler words, say you have 2 games Game-A and Game-B. Game-A works best with a particular version of WINE, lets call this WINE-VersionX and Game-B works best with WINE-VersionY.
Let us say on your Linux system you have WINE-VersionZ which is not recommended for either of these 2 games
Then when installing the 2 games, Lutris will automatically download WINE-VersionX and WINE-VersionY and configure the runners so that Game-A will run inside an environment with WINE-VersionX and Game-B will run inside an environment with WINE-VersionY!
The options for runners are not just limited to WINE versions, you can see the latest list of available runners at this link
While WINE is for Windows games, some of these other runners are for other gaming platforms.
How to use the configuration options on Lutrix?
If you are a tinkerer you will be more than satisfied with all the available configuration options in Lutrix. This is especially true when it comes to the huge list of custom WINE configurations that you get to choose from which will work best with your particular game!
Most games should just work, if your game doesn’t then Lutris provides you with options for changing some options like changing the WINE version, using some other compatibility-layer, etc, to make your game run fine. All you need to do is some online research to find the best settings for your game. Perhaps someone else have already figured it out and shared the confs online!
I recommend watching this video on YouTube by Chris Titus where he explains in good detail on how to use Lutris for Gaming on Linux!
And with that, I will conclude this article!
I hope you guys enjoyed this article and learned something useful.
If you liked the post, feel free to share this post with your friends and colleagues!
Here are some of my other articles that might interest you!