Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Linux

From PCGamingWiki, the wiki about fixing PC games
Linux
Linux cover

Key points

Native Linux version of Steam has been released.
The number of natively supported Linux games has dramatically increased with the introduction of the Humble Bundle.
Windows-only games can be run using Wine, but depending on the game it may be significantly more challenging than on Windows.

Resources

Phoronix - Website dedicated to hardware and benchmarking in Linux
Linux game database - resource of games and tools.
DistroWatch - page dedicated to Linux distros
OpenBenchmarking - a list of user-made benchmarks in Linux
/r/linuxhardware - Subreddit dedicated for Linux Hardware
/r/linuxquestions - Subreddit dedicated for Linux-related questions

Communities

Gaming on Linux - A large community dedicated for gaming on Linux.
/r/linux_gaming - Linux Gaming Subreddit
/r/linux4noobs - Subreddit dedicated for Linux newbies
Linux Game Cast - pod/videocast.

Release Models and their distributions

There are two types of release models which linux distros are using, each one of em have their advantages and disadvantages.

Fixed Release

Offers stable packages
Most distros which use it are beginner friendly
Package versions are usually tied to the distro version, meaning that upgrading your system is a must if you want to get the recent versions which are considered stable
The release of new version of the distro, depending on the developer, may take from 6 months up to 2 or more years
Manual intervention is required in order to add user-made repositories in some distros.
Updating the distro to the next version doesn't require a fresh install, often it all takes a simple command to perform it.
  • Ubuntu and it’s flavours (Such as Xubuntu, Kubuntu etc.) - The popular and most recognized distro created by Cannonical. Based on the Debian (Testing) it uses apt for package management , Ubuntu follows a 6 month release starting from April. Since the 17 version, Ubuntu has abandoned their own desktop environment Unity in favour of GNOME, while flavours stick to the desktop environment they use, such as Xubuntu using XFCE or Lubuntu using LXDE.
  • Linux Mint - The most popular and beginner friendly distro ever created. It includes multiple desktop environments to choose from such as KDE, MATE, Cinnamon and XFCE. The distro is based on Ubuntu, which means that all the packages that are present and supported in Ubuntu, are supported in this distro as well. It also has a Debian Edition, which is mainly based on the Debian. It’s release time for each version generally happens a few months after the release of the new version of Ubuntu. Due to it’s ties with Ubuntu, Steam or other digital stores with Linux support that system in case if there are issues.
  • Fedora - Developed by the community-supported Fedora Project and owned by Red Hat. It is an independent distro using the RPM (dnf) package management which concentrates on innovations and integrating new technologies early on while working upstreams with Linux community. It’s release time for each version are mostly 6 months or more. By default it uses GNOME desktop, but in Fedora Spins section you have a choice of KDE, XFCE, LXDE, Cinnamon, Soas and MATE (With Compiz). Be aware that some third-party packages such as FFMPEG may not be included and require manual installation.
  • Debian - The most stable and organized distro created by Debian Project. It is mostly used as a base of other distros, as it provides 3 release models such as fixed (Stable), semi-rolling (Testing), rolling (Unstable). It’s stable version has a rather very long release, as it takes 2+ years for the new version to come out. All these versions use GNOME desktop by default.
  • openSUSE - A Linux distro which is a part of the community program sponsored by SUSE Linux and other companies. It promotes the use of Linux everywhere with 3 goals in mind: making openSUSE the easiest Linux for anyone to obtain, being mostly widely used for new and experienced users in terms of Linux and it’s desktop environments and dramatically simplify and open development of packaging process to make it as a platform of choice for both developers and software vendors. It’s biggest strength is in it’s exclusive configuration program called YaSt which lets you configure and tweak most of the system settings along with the kernel while being simple to use, another one is the fact you can create packages for any distro you ever want. It uses KDE as a default desktop environment.
  • SteamOS - Created by Valve for their Steam Machine, it can be used on your PC as well. It is based on the Debian (Stable) , be aware that it doesn’t have enough basic programs pre-installed. It uses GNOME Desktop by default.

Rolling Release

Provides the latest version of the package once it’s available
No distro upgrade is required, as most distros have only one version.
Distros following the fixed release have an option to enable this type of release. Mostly under the name of Testing or Unstable
An update for the package may cause stability issues, so it is recommended organize an update by yourself in case a revision gets a release, which fixes stability issues.
In some cases, manual intervention is required.
Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.
  • Arch - An independent and most used distro which aims to be simple and lightweight. It provides a simple, but powerful package manager called pacman while it’s Arch Build System provides an easy way to create the package, or even modify the configuration of the package which can be shared. The biggest advantage is the Arch User Repository, which provides a library of packages created and managed by the community without requiring the manual add of package repository compared to Ubuntu or Debian, the package will be either compiled automatically or even extract the DEB/RPM file as an installation procedure, while automatically install required dependencies, if specified by the creator of the package. By default, the distro only has the terminal and some core files required to work, but with the help of it’s wiki page (While providing the tutorial for beginners) you can create your own system, it can be also used as a help file for other linux distributions due to it's simple explanation and troubleshooting, bear in mind that there may be some slight differences. By default it does not have any desktop environment, but text mode so manual intervention is required.
  • Manjaro - Often called “An Ubuntu of Arch”. This distro provides a graphical interface and is already configured for the beginners. Manjaro provides their own repository while including a great hardware detection while including a program which helps with installing the required package for it and a stable rolling release model (Each new version of the package are tested for a week or sometimes less than a month before the release to the public). The community is also very supportive and provides a great help for beginners.
  • Antergos - Based on Arch, it is aimed for those who wants to start with the Arch immediately with all required packages installed without using the text mode. It uses it’s own repo mixed with the official Arch ones but doesn’t have any special programs on it’s own. You can choose GNOME, Cinnamon, MATE, KDE, OpenBox, XFCE as your default desktop or choose the text mode to download and install your own chosen desktop.
  • Solus - A new, independent distro released in 2016 which despite it’s rolling release model, it is very stable and is the only one which supports NVIDIA Optimus out of the box. It uses it’s own package manager called EOPKG, which is a fork of PiSi. You can choose Budgie (Default desktop), GNOME or MATE.
  • OpenSUSE Tumbleweed - A rolling release version of openSUSE which is treated as it’s own system compared to other distros with fixed release, which are just additional packages. The packages are constantly being updated and tested in this version, sometimes even so far where Arch’s pacman won’t keep it up. Just like the fixed release version, it uses KDE as a default desktop.
  • Gentoo - Distro aimed only for advanced users who wants to have a total control over the system. Unlike packages in other distros which have it pre-compiled, Gentoo’s Portage relies on downloading and compiling the source code as an installation form, it’s wiki can be easy to use while being useful for choosing an appropriate compiling option in other distros while explaining them in an understandable word. it does not have a desktop environment, so manual installation is required.

Desktop Environments

Each desktop environment you are using or installing have an impact on your user experience and the performance on games. It is often recommended to run the game in fullscreen so the desktop compositor won’t affect the game’s performance, some DE have an option which lets you disable it such as Cinnamon or KDE Plasma (Automatic)Otherwise, XFCE,LXQT/LXDE and OpenBox are recommended to gain as much performance as possible. Due to the low or even absence of desktop compositor use.

GNOME

Supports Wayland
Provides innovative features and can be expanded
Simple to use
It’s less friendly in terms of customization
It’s GUI may take time to get used to, unless you are using GNOME Classic

KDE Plasma

Powerful in terms of customization
Provides features nearly similar to Windows
Supports Wayland (if Plasma Wayland Session is installed and selected)
Uses a lot of resources
May be buggy due to it’s huge reliance on it’s own dependencies made by the developers

XFCE

Uses less memory and resources
Very customizeable
More responsive
Friendly for beginners
No Wayland support
It’s desktop compositor’s vsync does not work
XFCE will use GTK3 upon the release of version 4.14. The progress can be seen here.

Cinnamon

Provides both hardware and software acceleration
Desktop compositor is not required (Hardware only)
Friendly for beginners
Balanced use of resources
No Wayland support (But it is planned)

MATE

Uses less resources than Cinnamon
Friendly for beginners
Good customization
No Wayland support
MATE Tweak is required to change the desktop composition type.

LXQT and LXDE

Very low resource and memory usage
Very simple to use
Qt based instead of GTK
Some elements are not customizeable
No desktop compositor is present

OpenBox

Very low resource and memory usage
Extremely customizeable
Not beginner friendly
Requires you to set up a desktop on your own using parts of other desktop environments.
Can be used as an alternative window manager for other desktop environments such as KDE or XFCE

Budgie

More simple to use than GNOME
Uses GNOME applications
GNOME updates may cause issues with Budgie
Upon the 11 version, Budgie will use Qt as a default graphical interface instead of GTK.

Graphics

AMD

ArchLinux wiki article (ATI/Catalyst)
AMDGPU/AMDGPU ArchLinux wiki article (AMDGPU/AMDGPU Pro)

It is generally recommended to install open source drivers as they provide the much larger performance and are better optimized to the kernel than the proprietary ones. Here is a list of drivers and required libraries:

  • AMDGPU - Open source kernel driver for AMD, it is required for 2D support.
  • MESA - Open source graphics library for 2D and 3D acceleration. Must be installed for 3D support.
  • AMDGPU Pro - Closed source kernel driver for AMD.
  • Catalyst - Closed source kernel driver for older AMD GPU
  • ATI - Open source kernel driver for older AMD GPU.

It is recommended to install the open source version of drivers for a longer support and better performance than the proprietary/closed source ones. Due to the reliance on MESA for 3D acceleration, it’s best to keep it updated once a new version is released. Sometimes the AMDGPU Pro may have a better performance in some games or 3D model editors like Blender, as the driver contains special features which may not be present in the open source counterpart.

Be aware that the Catalyst is no longer supported and if you are forced to use it, you must downgrade your Xorg/X11 server where it was last supported!

NVIDIA

ArchLinux wiki article (NVIDIA)
ArchLinux wiki article (Nouveau)

Compared to AMD, NVIDIA offers only the proprietary drivers, however there are versions to choose from:

  • nvidia - Supports from GT300 series and newer
  • nvidia 340.xx - Supports up to GT200 series (Legacy)
  • nvidia 304.xx - Supports up to GT200 series (Binary)
  • nouveau - Unofficial NVIDIA driver by FreeDesktop.org

It is not recommended to download the drivers from NVIDIA’s website! Always install them from your repository!

Despite the fact that nouveau works with almost all of the NVIDIA GPUs, their performance is rather worse, but can be somewhat improved by tuning it while updating MESA, which relies on it. Compared to official ones which uses their own library, however MESA is still required to perform 2D acceleration.

Intel

ArchLinux wiki article

There’s only one driver that is available for all of the integrated GPU present in Intel’s Core series and it also relies on MESA for both 2D and 3D acceleration.

Vulkan support

If your graphics card supports Vulkan API, you need to install additional driver package in order to enable the support, with the exception of Nvidia ones as they are already included and then install the Vulkan ICD Loader to let your GPU to use it on an application which supports it.

NVIDIA Optimus

In case of laptops which contains NVIDIA Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be optirun/primusrun or even Bumblebee (Not recommended as it is no longer in development), but then the manual intervention is required.

Xorg

Main Page

Xorg/X11 is the 1st display server released in 1986 which became a standard of creating Graphical user interface (GUI) for Linux. It received a major change during the popularity of Linux in 2000s. Despite the long support and being commonly used it has major issues which are still present today such as focus stealing, client and server separation which may lead to delays depending on the application it was made, tearing issues or even security ones which other user may capture key inputs from the keyboard. Depending on the desktop environment it also has accessibility issue for disabled users. Despite the release of it's successor, Wayland, it is still maintained by Xorg Foundation and Free-Desktop.org.

Wayland

Main Page

Wayland is a successor to the Xorg/X11 server which allows to simplify the whole graphics stack without creating a Client while using a 3rd party compositor. It is only available for GPUs which have a Kernel Mode Setting support. Intel, ATI, AMDGPU, Nouveau have KMS enabled automatically by default, however in case of NVIDIA drivers the support started since 364.12 version and a manual intervention is required to enable KMS and gain the advantage of using Wayland.

The main benefit of the Wayland is a much faster response to programs compared to Xorg/X11 due to the simple communication between APIs. Keep in mind that you may need to add a command to inform you are running in that session to avoid using XWayland, which may affect the performance even if it has a support implemented. Such as games based on SDL2 like Team Fortress 2.

Be aware that Wayland’s support with NVIDIA isn’t so good, due to the different API which their graphic cards use compared to competition.

Microcode

ArchLinux Wiki Article

It is extremely important to install the microcode for your CPU! As the manufacturer provides security and stability updates for your processor which without it, you will expect a lot of issues using your system.

AMD users only need to install the Linux Firmware package, however in case of Intel, you need the Intel Ucode package and then set up the bootloader to use it as a 1st thing to load. GRUB can automatically set it up if it’s used as your default bootloader by updating the configuration.

Kernel

Main Linux Kernel page It is important to update your linux kernel if it’s available as they provide security updates, bugfixes, better support for the hardware, new modules and a better performance. There are two main versions of the official Linux kernel which they differ each other. The Long Term Support kernel are slightly behind in terms of hardware and features than it’s counterpart, but offers the same security updates while being more stable with a longer support for the distro compared to the normal one.

Other users can actually edit the main kernel’s source code to create it’s own for different purpose. While both normal and LTS can be used for gaming, there are also community-made ones which may even improve it even further.

The most notable ones are (Bold ones are kernels which have additional options to enhance the performance):

Notes

  • Some repos already provide a pre-compiled kernel
  • Be sure to keep the current kernel you have in case if things go wrong.

Benchmarking

ArchLinux Wiki Article

It is entirely possible to benchmark native Linux games in this system by using the Phoronix Test Suite. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.

Audio

ArchLinux Wiki Page Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself.

In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.

There are also other things to know, if your sound card has issues with playing the sound, make sure you have ALSA Firmware package installed, as for bluetooth headsets, check if PulseAudio Bluetooth package is installed and your output is set to A2D in the Sound settings.

There is also the OSS (Open Sound System) as a third option for audio, however it's been succeeded by ALSA.

Controller Support

All the controllers such as DualShock 4,DirectInput gamepads and XInput ones (Such as Xbox 360) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.

The most interesting thing is the Steam Controller, as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so far to use it on Wine, if it’s set properly.

Wine

Main Page
/r/wine_gaming
Application Database

WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, it’s main advantage is a wide support of Windows versions ranging from 3.11 to Windows 7 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:

  • Normal
  • Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.
  • Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.

AMD and Intel GPU benefits a lot from Gallium Nine version, due to the fact that Gallium3D is a part of MESA, which both of these cards rely on. NVIDIA is not affected by this, as it uses it’s own driver for performing 3D acceleration in it’s own utility package, unless you are on nouveau.

If WINE itself is hard to use there are also front-ends which may improve your experience with it:

PlayOnLinux

Easy and free to use
Beginner friendly
Includes precompiled scripts for automatic installation
Very slow development
Additional libraries available to install may be outdated

Crossover

Often superior in terms of compatibility than PlayOnLinux
Contains patches which later on (mostly a few months) are added to Wine Staging
Commercial product only, however buying the program will support the developers of WINE.

Q4Wine

Free and moderately easy to use
Additional libraries are up to date, thanks to the winetricks implementation (Manual update is required)
Implemented AppDB for the compatibility check
Manual compiling/installing other Wine version is required if you want to use other version besides the one used in the system by default.

Stores and Clients

Steam

List of Steam games with Linux native ports
Steam Linux community
GitHub bug reporting
#steamlug - IRC chat room.

Steam is currently the biggest store which offers games that are compatible with Linux however it’s client is 32-bit only and support ranges only from Ubuntu 12.04 and most likely distros based on it. Outside of it Steam can run on other distros as well as it uses it’s own library to work.

It’s even possible to force Steam to use the library used in your system which makes it more responsive and generally work better. Some distros such as the ones based on ArchLinux have a Steam Native package available in their repo which can be easily installed without manual intervention.

Humble Bundle

Despite not having the client. Humble Bundle is the 1st store which has games supporting Linux and it is currently the 2nd biggest store for games with Linux compatibility.

GOG.com

GOG FAQ and troubleshooting thread for Linux

While the Galaxy for Linux is still development. GOG offers Linux games as a MojoSetup installer script. Keep in mind that after downloading the installer, you must label it as a executable file before running it. The store page of the game which supports Linux will display required packages in order to make it work properly in case if there are issues.

Itch.io

An open store which offers indie games whenether is it free or not. It’s client does support Linux and it is still in experimental phase.

Lutris

While it doesn’t have a store, it is an open source client dedicated to installing and managing your games in Wine, native, Steam Wine or even available emulators in your system. The main page offers scripts which will automatically install the game you have for you, while giving an option to install it by yourself. Sometimes a script may even offer a different version of Wine made specifically for one game you wish to install. One prime example of it is Overwatch, as it uses a special Wine version dedicated only for this game.

The Bash Shell and Terminal

The Unix Shell "bash" and Terminal are available on most Linux-distributions by default is a very useful tool for doing system tasks. If you use Linux as your main operating system, it may be unnecessary to use, but it is recommended to learn some of the important commands and terminal hotkeys to make your job easier such as creating a script binary to perform simple tasks or even create aliases to turn complicated commands into a much simple version. Each desktop environment includes their own terminal and can be changed anytime you want, especially the third-party ones such as Terminator,XTerm/UXTerm or Tilix (Recommended).

All user-made settings are always saved in .bashrc file in your Home directory.

It is recommended to learn commands related to file manipulation, text editing, finding specific words, hardware-related stuff and learn how it works.

Other Informations to know

  • There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.
  • Always ask the forum or refer to the documentation of the distro in case you have a problem
  • In some distros, such as ArchLinux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.
  • You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.
  • Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance.
  • Sometimes it’s best to divide partitions of your HDD/SDD for other main folders such as /boot, /var, /home etc. and giving them a limited storage.
  • There are loads of partition formats to choose from, but the most commonly used one is ext4.
  • Some keys on your keyboard are labeled differently in Linux world. Meta4/Super key are actually Windows key, while "^X" in text mode is actually Ctrl+X.
  • Almost all of the desktop environments have their own Terminal, you can install a 3rd party ones which generally are more feature rich.
  • If you are confused with using the package manager in Terminal for each distro, this page will help you.
  • Swap partitions are only required if you have less or equal to 4 GB of RAM. The less RAM you have, the bigger size of your swap is required.
  • Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.
  • While /etc folder stores all the settings for the programs, it's recommended to save and hide them into your Home directory to make things much more simple. The program will look for the settings in your Home directory 1st, if not found, it will load the one from /etc.
  • Files and folders can be hidden by adding "." at the beginning of the name.
  • If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!
  • Most of the time you don't have to compile a program as they are mostly pre-compiled in distro's repo. If required, there are always instructions how to do it.

Improvements

Instructions
Instructions
Instructions


Instructions

Common Fixes

Mouse issues on multi-monitor systems

Some games requires the primary monitor to be set to function correctly.
Instructions


Instructions
Instructions
Instructions

Fullscreen problems/cursor won't disappear

Instructions


References