Linux Gaming FAQ
What Linux distro is best for gaming?
Almost any current distribution is fine for gaming. If you're planning on using the official proprietary drivers from Nvidia, Ubuntu and Linux Mint in particular allow for relatively easy installation of these drivers, and are typically officially supported by game developers and online stores. AMD's new 'hybrid' Pro beta driver is currently only officially supported on Ubuntu 16.04 and Red Hat Enterprise. For open source drivers distributions with up to date versions of Mesa are recommended such as the latest version of Ubuntu, or rolling release distributions.
Hardware / Drivers
I want to buy a new GPU, what vendor is the best choice for performance?
AMD usually performs better than Nvidia, and also better than on Windows.
I want to buy a new GPU, what vendor is the best choice for open drivers?
AMD has several officially supported open source OpenGL drivers covering hardware from the last 10+ years that are part of the Mesa project. These drivers provide good framerates in most games, as well as OpenGL 4.5 support and Vulkan support for most applicable hardware. For users whose primary interest is staying up to date with the latest open source technology AMD is the best choice. Some games currently support AMD hardware only through the open source driver, be sure to check a games requirements.
What about AMD's new hybrid driver?
AMD's hybrid AMDGPU Pro driver provides performance on-par with their Windows driver, has OpenGL 4.6 and Vulkan support, and uses a open source kernel module with closed source OpenGL and Vulkan libraries.
Hardware compatibility with this driver is currently limited to:
- Second-generation GCN: R9 390X, R9 390, R9 290 X, R9 290, R9 360, R7 260 X, R7 260;
- Third-generation GCN: Fury X, Fury, R9 Nano, R9 380X, R9 380, R9 285;
- Fourth-generation GCN: RX 480, RX 470, RX 460;
AMD plans to support all GCN hardware in the future.
Can I use my old AMD card with Pre-GCN hardware for gaming on GNU/Linux?
Older AMD hardware is supported via the open source drivers from the Mesa project. These can provide up to OpenGL 4.4 support on certain GPUs, support modern distributions, and can provide playable framerates in many games.
Can I use Intel graphics for gaming on GNU/Linux?
Intel's open source Mesa driver can provide acceptable performance on recent chips with 4000 series GPUs or better. As of Mesa 13 (Fall 2016) the most recent Intel GPUs will provide OpenGL 4.5 support.
Can I use an Nvidia card for gaming on GNU/Linux with the open source drivers?
The open source Mesa driver can provide playable frame rates in many games if your GPU supports power management. As of Mesa 12 (Fall 2016) Nvidia GPUs supported by Mesa NVC0 will provide OpenGL 4.3 support and preliminary support for OpenGL 4.5.
There's a game I want to play but the brand of card I have or the open source drivers aren't listed. Does that mean I can't play it?
There are a number of reasons why a game won't list support for a particular brand of card or will only declare support on a certain driver other than the game not working.
One factor currently facing porting companies is they typically only officially support the long term support versions of Ubuntu which are frequently behind the latest version of Mesa. So even if a game works well on Mesa 13, it may not work well or at all on Mesa 11.2 which is provided out of the box by Ubuntu 16.04 based distibutions.
If you're unsure of whether a game will work on the open drivers a search for the name of the game plus the name of the open source drivers is a good first step.
More Driver Information
See the wiki page on Graphics drivers for a more thorough overview of the current driver situation in Linux.
I need help choosing parts for a Linux gaming PC
Check out /r/buildalinuxpc or /r/buildapc and say that you're building a Linux system.
Getting System Information
When asking for support, people need several key pieces of information to help troubleshoot your problems, as mentioned in the sidebar. You probably know things like your system specs and what distro you installed, but there are more details that are usually needed to pinpoint the cause of the issues you might be having. All you have to do is copy the outputs of the following command(s) from the terminal (select the text and copy using
Ctrl + Shift + C) into your post formatted as code. You could also use Pastebin to avoid having to indent text manually in Reddit :
All in one solution :
inxi -SPARM -GCDN -v1 -xGCRS to get pretty much everything you need. You might want to maximize the terminal so line breaks aren't inserted in the output when you copy. This should come pre-installed, but if it isn't, on Ubuntu, you can install it by running :
sudo apt-get install inxi. In the unlikely situation that this does not work or you are unable to install it, read on for other ways to get the info, otherwise you're done.
Distribution and kernel details :
lsb_release -ato get the current release of the distro (ex. Ubuntu 16.04.1)
uname -ato get the kernel version, architecture etc. (you might want to remove your username from its output if you don't want to disclose it)
Graphics hardware and drivers :
- In case you don't know what graphics chipset you are running, you can run
lspci | grep VGA. Sometimes, this doesn't give the exact model (this is the case with Intel integrated chipsets), so in that case, you can check the output of
grep -i chipset /var/log/Xorg.0.log
- To get OpenGL driver information, run
glxinfo | grep OpenGL. If the program
glxinfois not found, you can install it on Ubuntu by installing the package
sudo apt-get install mesa-utils
Other details :
Hardinfo is an excellent tool that enables you to see in a GUI pretty much everything to do with your computer, but unfortunately it does not let you copy only the relevant parts, and results in a lot of clutter, so it's not recommended to use it for getting the above details. However, you can use it to check anything you're unsure of, like your hardware and peripheral models, what desktop environment you're running etc. without having to type commands in a terminal.
You can install Hardinfo through its package :
sudo apt-get install hardinfo
Wine (recursive backronym for Wine Is Not an Emulator) is a free and open-source compatibility layer that aims to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems.
If you want to run Windows binaries (.exe, .dll etc.) on Linux without booting up a VM, you'll end up using a version of Wine.
Proton is valve's fork of wine + extras.
Steam Play is Valve's official proton integration within the steam client.
The Lutris client is similar to the steam client from a game library management stand point. It's the program you open that shows you your library of games. Lutris also provides versions of wine designed for use with lutris with a fork.
To play Windows games, should I use Crossover or Play on Linux?
Probably not. If you don't feel like using the command line to manage wine you should probably use lutris or steam.
Play on Linux and CrossOver
Both offer GUIs to manage installation of multiple Windows applications into separate "containers" (aka. wine prefixes or bottles as CrossOver calls them) so that they don't interfere with each other.
Both pieces of software offer "recipes" which allow users to install various games and other types of applications by following simple, guided steps. Installation of various other components like Visual C++ runtimes, DirectX 9 redistributable packages, fonts, registry modifications, etc. are handled automatically if applications are installed this way.
To determine which is best for you and your needs try them out. PlayOnLinux is free (libre) software and can be used free of charge. CrossOver is a subscription product. It has a 14 day trial period during which it will occasionally nag you to buy a sub but otherwise its functionality is not crippled. If something does not work with the trial version, it won't work with the registered one. Codeweavers, the company behind CrossOver is also a major contributor to the Wine project, employing many of the developers.
Both PlayOnLinux and CrossOver can be installed at the same time, on the same machine. Even if you installed Wine using the distribution's package manager they won't interfere with each other. PlayOnLinux can use the wine build provided this way but it can also use its own wine builds. The project tends to offer both vanilla wine and wine-staging builds. CrossOver also uses its own build of Wine.
Will I be able to play xxxx game with Wine, Crossover or Play on Linux?
First you will want to check what graphics API the game uses. Currently only windows games with openGL or DX9 and lower will work with Wine. WineHQ keeps track of windows games which can and can't work with Wine. It's a user submitted list with ratings of platinum, gold, silver, and garbage, as well, users can report any significant glitches or problems which may arise. The WineHQ FAQ is located here.
There is currently development of DX11 support, but it's in a very early stage, and it will be a while before we will get to play DX10 / DX11 games.
How do I know what games in my library are supported on Linux?
If you have steam installed on your PC, navigate to Library. In the search box in top left corner there's a filter. Select "STEAMOS + LINUX".
- (1) purchase the game on GNU/Linux and don't play it on another platform for the first seven days (feel free launching it on GNU/Linux)
- (2) if you can't purchase the game on GNU/Linux, play it on GNU/Linux and only GNU/Linux for the first seven days (or at least make sure your GNU/Linux gameplay time exceeds your windows one during that first week).
Either will credit the game as a GNU/Linux purchase. Purchasing the game on mobile is considered a Windows purchase at the time, yet the sale should be accounted as a GNU/Linux one if you follow (2).
I'm on a new install of Steam and it won't open. What can I do to make it work?
This is most commonly a problem for users on the open source drivers. This is caused by stale libraries included in Valve's Steam Platform. Usually you can correct this by removing the problem files.
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
On some rolling release distributions, you may need to fully disable the Steam runtime.
When will XXXX game be released for Linux? It was supposed to be here already.
Porting a game entails taking a windows game, written for windows, and changing the code in order for it to work in Linux. This takes time. It is also very important to know that sometimes problems can occur when doing this, and fixing those problems isn't always possible. It is also important to note that the people who do the porting, are usually a small group, and the hours it takes to do the work is shared by the small group. Delays porting games to Linux are common. You can also check the GamingOnLinux.com Release Calendar for dates.
Will XXXX game be released for Linux?
The only way to find out is to write a request to the game developers, telling them you would like their game on Linux.