|Linux||September 17, 1991|
- Wide variety of distributions (distros) available, allowing unparalleled user choice and customizability.
- Some native Linux games may perform better or worse when compared to other operating systems.
- Many Windows games can be played on Linux using Proton or Wine.
- DistroWatch - page dedicated to Linux distributions
- Linux Journey - a beginner-friendly page about learning Linux in general
- ProtonDB - crowdsourced database of Proton (Steam Play) games performance
- Phoronix - website dedicated to hardware and benchmarking in Linux
- OpenBenchmarking - a list of user-made benchmarks in Linux
- FlightlessMango - a list of user-made benchmarks in Linux
- ARM - info on Linux ARM distros, devices, and software support
- ArchWiki - wiki intended for Arch but is useful for other distros
- Gentoo Wiki - wiki intended for Gentoo but is useful for other distros
- Gaming On Linux - a large community dedicated for gaming on Linux
- /r/linux_gaming - Linux gaming subreddit
- /r/linux4noobs - subreddit dedicated for Linux newbies
- /r/linuxquestions - subreddit dedicated to Linux-related questions
- /r/linuxhardware - subreddit dedicated to Linux hardware
- 1 General
- 2 Distributions
- 3 Desktop environments
- 4 Kernel
- 5 Hardware
- 6 Other
- 7 Wine
- 8 Stores and clients
- 9 Improvements
- 10 Common fixes
- 11 References
- The strength and weakness of Linux is its freedom of user choice.
- There are no best distros; it all depends on the user's need. It is common to switch between distros ("distro hopping") until settling on one.
- Always refer to the documentation of the chosen distro in case there is a problem. It's advisable to check the ArchWiki regardless of the distro as it is broadly and succinctly written. In addition, reaching out to the distro's community for support is always an option.
- Use virtual machines to test distros.
There are two types of release models for Linux distros.
- Offers stable packages.
- Most distros are beginner-friendly.
- Very little maintenance.
- Package versions are usually tied to distro version, so the OS needs to be updated to get the latest packages.
- Stable packages typically don't have the newest features. This is especially important in the case of GPU drivers.
- Manual intervention is required to add user-made repositories in some distros.
- Updating a distro to the latest version doesn't normally require a fresh install, but can take up to several hours.
- Many Debian-based distros offer "backports" and/or "testing" modes that provide newer versions of some packages than what the stable version does.
|Distribution||Based on||Desktop(s) [fr note 1]||Release cycle||Supported by[fr note 2]||Description|
|Ubuntu and Ubuntu flavours||Debian||GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI||6 months, 2 years for LTS||Steam, GOG, many commercial developers||The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. Ubuntu non-LTS is updated more often and contains newer packages and functionality. Ubuntu flavours offer different desktop environments with the same compatibility of Ubuntu.|
|Pop! OS||Ubuntu||GNOME||6 months||same as Ubuntu[fr note 3]||An Ubuntu-based distro created and maintained by System76 which utilizes its own repository. Unlike Ubuntu, it includes much more recent drivers for graphics cards and it's generally more recommended for beginners.|
|Linux Mint||Ubuntu LTS||Cinnamon, MATE, XFCE||Up to 2 years||same as Ubuntu[fr note 3]||The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Packages may be much older compared to Ubuntu LTS releases. The main advantage of Linux Mint is the built-in kernel upgrader.|
|KDE Neon||Ubuntu LTS||KDE Plasma||Up to a year||same as Ubuntu[fr note 3]||A distro created by the KDE community. Compared to Kubuntu (A KDE Plasma-flavoured Ubuntu), it provides the latest version of the KDE Plasma desktop environment, while simultaneously being able to use packages from Ubuntu.|
|openSUSE Leap||Independent||GNOME, KDE Plasma, XFCE||1 year for each new release||Leap uses source from SUSE Linux Enterprise (SLE), which gives it a great level of stability. openSUSE has YaST, which is a user-friendly GUI to install packages, manage the system, and install Nvidia proprietary drivers in a simple way.|
|SteamOS||Arch Linux(starting with version 3.0) Debian(old versions)||KDE Plasma||Varies||Steam||Linux distribution made by Valve Corporation specifically for the Steam Machine or couch gaming. It currently provides the latest stable Linux kernel along with newer GPU drivers and an option to act as a desktop system. It may be behind in terms of packages updates.|
- Default options are marked in bold
- look at Official Support TODO: add it
- Support is not official, but the distros are similar enough that everything which works for Ubuntu will work in Pop! OS.
- Provides the latest version of packages once made available.
- No distro upgrade procedure is required, as most distros have only one version.
- A package update may cause stability issues.
- No currently-listed rolling release distribution has official support from any digital distribution store, due to the distros' reliance on
.rpmbinaries instead of
- Some distros offer a semi-rolling release, meaning that packages will be tested before releases.
|Distribution||Based On||Desktop(s)[rr note 1]||Description|
|Arch Linux||Independent||GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, Budgie, UKUI||Arch Linux is a distribution designed for advanced users looking to customize every aspect of their system, building from the ground up rather than the top down. There are a huge amount of packages available through the AUR (Arch User Repository). Arch Linux does not have a graphical installer and requires research on the user's part in order to properly install.|
|Fedora and Fedora Spins||Independent||GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR||Fedora is a very stable, independent rolling release distribution sponsored by Red Hat Enterprise. GNOME is its default desktop environment but has many alternatives. It is nearly as user-friendly as Ubuntu, but with the advantage of more up-to-date packages and better upgrades between versions. Spins offer different desktop environments, but when it comes to compatibility, they are virtually the same as Fedora.|
|Manjaro||Arch Linux||GNOME, KDE Plasma, Xfce||Manjaro is based on Arch Linux and offers a user-friendly experience out of the box. By default it comes with Nvidia's proprietary drivers which makes it very easy to install. It uses the Pamac app to install native, AUR, Flatpak, and Snap packages in a simple way.|
|openSUSE Tumbleweed||Independent||GNOME, KDE Plasma, XFCE||A rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on a root partition, snapshots are taken before and after updates, allowing easy restores if there is an update breakage.|
|Solus||Independent||Budgie, GNOME, MATE, KDE Plasma||Despite following the rolling release model, it provides stable packages and features great hardware compatibility with any GPU. It includes a special tool called Linux Steam Integration (LSI) which allows users to easily customize Steam, ranging from using the libraries from the system (native mode) or a forced 32-bit mode. Only stable releases of library and software are added with very few exceptions—such as Nvidia's Vulkan beta drivers.|
- Default options are marked in bold
By default, Linux is a text/command-line based operating system. However, the Linux community has created varieties of desktop environments to offer a user-friendly GUI experience. Most include their own basic software for common use cases such as a file explorer or word processor.
As a rule of thumb, environments with heavy RAM use typically add an additional 500 MB to the operating system's RAM requirements (which usually range from 1 GB to 4 GB), compared to environments with light RAM use.
One of the oldest desktop environments that is still continuously updated. However, it is very limited in customization, forcing the user to install a third-party tweaking tool to change things such as the color theme and icon set.
The first desktop environment which sees regular maintenance and feature updates. It is a familiar GUI experience as on Windows, but allows nearly complete customization.
Created by a Solus developer and currently maintained by Solus Team. It serves as an alternative for GNOME with a much more desktop-like interface, which bears similarities to modern Windows.
Created by Linux Mint Team, Cinnamon brings an appearance similar to GNOME 2 with a modern twist by using some of the features present in GNOME 3, including its compositor's integration with Nvidia GPU. Cinnamon allows you to run in Hardware mode (Default) and Software mode (No Composition).
Starting off as a clone of a Unix-like desktop environment called CDE, it became its own with a Windows XP-like appearance and light memory usage. XFCE is well-suited for low-end hardware.
MATE spawned as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. It is recommended for Windows and Mac users while providing its own featureset such as mouse hover audio previewing.
LXDE (Lightweight X11 Desktop Environment) is a lightweight and fast feature-rich desktop environment. It is designed to be user friendly and slim, while keeping resource usage low. LXDE strives to be modular, so each component can be used independently with few dependencies.
Despite its limited features and customization along with the lack of compositor, it is perfectly suited for the lowest end hardware.
- Wikipedia page
- It is important to update the Linux kernel as new versions provide security updates, bugfixes, better performance, and support for hardware. A distro's repository contains all the supported versions for that distro.
There are two main releases of the official Linux kernel:
- Long Term Support (LTS) is slightly behind in terms of hardware support and features, but offers better stability and has longer support.
- Stable release (sometimes called the current release) offers the best hardware support and the newest features. It should be the default choice for a gaming machine and be avoided only if it causes issues.
Despite these differences, both releases offer the same security updates.
- This section is meant for advanced users, you can easily break your OS, if you don't know what you are doing!
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones which add features and improvements. These kernels may or may not improve one's gaming experience and may require DKMS (dynamic kernel module support) versions of drivers and headers to make hardware usable with multiple kernels.
The most notable releases:
- For help with installing different kernels on a distro, consult the kernel's official website or the distro's knowledgebase.
- It is advised to keep the current official kernel in case of issues.
- UKUU is an useful utility for swapping kernels.
It is very important to install the microcode for the CPU as the manufacturer provides security and stability updates.
Most distributions use either package manager or some kind of firmware/drivers manager to update the microcode.
- ArchWiki's ATI and Catalyst Article
- ArchWiki's AMDGPU/AMDGPU Pro Article
- ArchWiki's Nvidia and Nouveau Article
- ArchWiki's Intel Graphics Article
|Brand||Driver type||Kernel driver||Library||Supported GPU||Vulkan support|
|AMD/ATI||Open Source||Radeon||Mesa (GLX and DRI)||GCN 2 and older architecture||No|
|AMDGPU||GCN and newer architecture1||Yes (RadV, AMDVLK)|
|Proprietary||AMDGPU Pro||GCN and newer architecture||Yes|
|Fglrx||Catalyst GL Library||GCN 3 and older architecture||No|
|Nvidia||Open Source||Nouveau||Mesa (GLX and DRI)||Any Nvidia GPU|
|Proprietary||Nvidia||Nvidia GLX||From Kepler based GPUs to recent||Yes|
|Nvidia 390||Nvidia 390 GLX||From Fermi based GPUs to recent|
|Nvidia 340||Nvidia 340 GLX||For Tesla based GPUs||No|
|Nvidia 304||Nvidia 304 GLX||From GeForce 6 series to Tesla based GPUs|
|Nvidia 173||Nvidia 173 GLX||GeForce 5 FX series (NV30 to NV36)|
|Nvidia 96||Nvidia 96 GLX||From GeForce 2/3/4 MX/Ti|
|Intel||Open Source||Xorg Intel2||Mesa (GLX and DRI)||Any Intel HD Graphics GPU||Yes (ANV)|
1 - GCN 1 and 2 architecture support in AMDGPU is experimental.
2 - Do not use it on Intel HD 4000 series and newer GPU.
Generally, AMD/ATI users should use the open source driver as it provides the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. There are some things to remember:
- Try not to install drivers from the GPU manufacturer's website unless forced to, as distro maintainers package the driver to be offered from the package manager.
- If forced to use Catalyst, Nvidia 173, or Nvidia 96 drivers, one must downgrade Xorg to the last supported version.
- Before using the open source driver one must install LLVM and Linux Firmware packages.
- When using a 64-bit system, it is recommended to install the 32-bit version of the drivers if possible.
Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)
sudo add-apt-repository <PPA repository> to add one. Make sure to run
sudo apt update in order to update the repository list after adding one.
|ppa:paulo-miguel-dias/pkppa||Padoka Stable Mesa. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.|
|ppa:paulo-miguel-dias/mesa||Padoka Unstable Mesa. Same as the previous, however it is the developer version. Mind the issues you may encounter.|
|ppa:graphics-drivers/ppa||"Graphics Drivers" Teams' PPA. Contains the recent proprietary Nvidia drivers and the Vulkan drivers for that GPU.|
|ppa:ubuntu-x-swat/updates||Ubuntu X Team's Stable Mesa. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.|
To install support for Vulkan API (will be functional only if you have a Vulkan capable GPU and driver), execute the following command
sudo dnf install vulkan-loader vulkan-loader.i686
- Nvidia Optimus Linux guide
- Optimus support in Nvidia GPUs is still considered to be troublesome.
In case of laptops which has Nvidia Optimus support, it is recommended to have PRIME enabled, which can be done by installing an additional package. Follow the distro’s documentation to set this up.
AMD users only require running the game with the
Linux has several sound systems available. The most common one is PulseAudio, but a new system called PipeWire is looking to supersede and consolidate all previous systems into one. For most games, PulseAudio will work.
In the case of MIDI, installing the Timidity or Fluidsynth package is required along with either a soundfont or the FreePats package. Depending on the distro, it will either be set up automatically or require manual intervention.
- Libinput ArchWiki article
- Touchpad ArchWiki article
- Keyboard Configuration in Xorg ArchWiki article
- Touchscreen ArchWiki article
Linux supports a vast array of input devices, including legacy hardware. Many programs exist for gaming peripherals in case further customization is needed.
- Piper - Configure gaming mice
There are some other ones made for products from specific companies:
- OpenRazer - Open-source driver for Razer peripherals
- Polychromatic - Frontend for OpenRazer
- RazerGenie - Configurator for Razer mice, keyboard, headsets, and more
- RazerCommander - Razer device manager
- RazerCFG - A much more simplified configurator for Razer products
- Roccat Configurator - An official configurator for Roccat products
All DirectInput and XInput controllers are supported. In case of issues with XInput controllers, it is recommended to install xboxdrv.
If dealing with a game that has a very limited or no controller support at all, the AntiMicroX program offers a solution. It allows the user to bind keyboard and mouse inputs to the controller. However, it currently only works with Xorg.
Additionally, a user can use Steam Input in the Steam app to configure their controller.
By default the most common format used in Linux is EXT4 which manages the files much more efficiently than Windows' NTFS. While NTFS is supported, it is generally not recommended to use it for running installed games from it as it may cause compatibility issues, depending on the software.
The most important aspect is the swap partition; it generally acts as RAM replacement. The absence of it will cause software to shut down due to low memory, and it's commonly used when putting the PC in Hibernation or Sleep mode. The size of the swap disk depends on how much RAM is available in the computer.
If less than 8 GB of RAM, increase the swap disk. If more than 8 GB of RAM, decrease the swap disk.
It is generally recommended to partition disks in this particular order: / (Root) Home Swap disk
The partition order also affects the performance of the HDD/SSD as the first partition has a higher priority than the subsequent ones. A user can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.
- Wayland is newer than Xorg and is considered to be technically superior.
- Wayland is not supported by older proprietary games.
While Wayland offers more a modern and secure backend, Xorg has legacy support and will generally be more compatible than Wayland. In addition, Wayland is still in active development and is missing features that would provide a gaming experience in parity with Xorg.
Benchmarking in Linux can be achieved with the Phoronix Test Suite. It is easy to use despite not offering a user-friendly GUI. The biggest advantage is it saves the information as a webpage, making comparing tests much easier.
Steam users can use Valve's voglpref, which requires Steam.
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard, or even other hardware into a virtual machine. The main advantage of it is having a native GPU working on Windows in a virtual machine, which allows you to play Windows games on it while using Linux.
There are some disadvantages:
- A second GPU for PCI passthrough is required
- GPU must support UEFI
- CPU must support hardware virtualization and IOMMU
- Motherboard must support IOMMU
- It is not an easy process for beginners
Wine (Wine Is Not an Emulator) is a compatibility layer which allows users to run Windows programs in Linux. Its main advantage is a wide support of Windows versions ranging from 3.11 to Windows 10, both 32-bit and 64-bit architectures. There are multiple versions of Wine each with their own differences:
- 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.
- Proton - A fork of Wine created by Valve and CodeWeavers which includes special patches and additional addons such as DXVK, FAudio, and ESync. It is intended for gaming and does not require Steam to use.
- Proton-GE - A fork of Proton by GloriousEggroll which has FFmpeg enabled for FAudio by default, and all of Proton's patches ported over to be applied to WINE, as well as Wine-Staging and VKD3D. Proton-GE will generally work better with games, and some specific games only work on GE. The ProtonDB will contain pertinent information.
- tkg - Considered to be a "Wine to rule them all!" it contains a large set of patches and features from other community projects to provide the best performance and compatibility for games. It can be easily customized. It was mainly made for Arch Linux and its derivatives, but it is possible to use it in other distributions.
- 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. So far only AMD and Nvidia graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.
There are many frontends to Wine, which improves the experience with using it:
Stores and clients
|Name||Client available||Registers Linux sales?||Notes|
|Game Jolt||Yes (Optional)||Unknown|
|Snap Store||Yes (Optional)||No|
Disable mitigations for transient execution CPU vulnerabilities
- Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, Zombieland etc. Use it with discretion.
- Outside of specific microbenchmarks, disabling the default mitigations should result into an average performance increase of 5-10%. The following parameter used in here is available only in 5.1.13 kernel or newer (or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119 and 4.19.43), for others see this parameters string.
|Edit the GRUB settings|
Open up the
Re-generate the grub.cfg using one of these commands as root:
grub-mkconfig -o /boot/grub/grub.cfg update-grub # Used by Ubuntu based distros, easy version of the 1st one.
Disable mouse acceleration in Xorg
- Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME and later on MATE)
|Create a new Xorg rule|
Create a config file in /etc/X11/xorg.conf.d/ as
Section "InputClass" Identifier "My Mouse" Driver "libinput" MatchIsPointer "yes" Option "AccelProfile" "flat" EndSection
Then restart the system or Xorg (In most distros its Ctrl+Alt+Backspace ←)
Improve shutdown time in systemd
|Edit the system.conf|
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.
Install watchdog package and enable/run the watchdog service.
Resolution scaling with xrandr
It is entirely possible to scale the resolution through multiplications (
--scale) or by resolution (
xrandr command. Provided that you input the monitor name and your current resolution, which can be learned by using
xrandr -q command (It will also list available resolutions).
Here are some examples:
xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5- this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.
xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900- This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.
Use Feral Game Mode to improve the performance
- Most distros includes the software in their repository, it is recommended to install both 64 and 32 bit versions to apply in every game, if not, the source code can be found in the GitHub page.
- Supports custom scripts
- Developers can use it to implement in their games.
Feral Game Mode is used by Feral Interactive to provide optimization in their games (From Rise Of The Tomb Raider) when being ran, it provides changes to these following processes:
- CPU governor
- Input/Output priority
- Process niceness
- Kernel scheduler
- Screensaver inhibiting
- GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)
Once the package is installed, you can activate it when running other games with
gamemoderun *game executable/launcher*, on Steam add
gamemoderun %command% into Launch Options.
Enable 32-bit support for your distro
|Enable 32-bit library support in Ubuntu/Debian based distros|
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use these following commands:
sudo dpkg --add-architecture i386 sudo apt update
List missing dependencies
|List the missing dependencies|
As GOG, Steam and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or a software.
ldd <binary file>
After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file.
The missing dependency checkup can be even easier with the inclusion of the
ldd <binary_file> | grep "Not found"
This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need.
|Improve compiling speed in AUR (Manjaro, Antergos, Arch Linux)|
Open makepkg.conf as root and under MAKEFLAGS add
Create a script which the game uses libraries from your system instead
|Make a native executable for your game|
#!/bin/sh LD_LIBRARY_PATH=/path/to/library /path/to/executable
4. Once done, save it and make it executable using either
|The Nvidia DKMS driver won't install after updating it|
|Set up a primary monitor in multi-monitor setup|
|No sound|
Open the Terminal and type as root
|Crackling sound/audio delay in PulseAudio|
Type in terminal this command to stop and then start PulseAudio at the same time:
pulseaudio -k && pulseaudio --start
Nvidia users can fix the screen tearing by enabling Force Composition Pipeline in Nvidia Settings, if it persists, enable Force Full Composition (Keep in mind that it reduces the performance in games even more).
AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension.
If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton etc.
- Debian releases - last accessed on 2021-06-26