From PCGamingWiki, the wiki about fixing PC games
Tux Linux Mascot.svg

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 this can be significantly more challenging than on Windows. Linux store
GOG FAQ and troubleshooting thread for Linux


Steam Linux store
Steam Linux community
GitHub bug reporting
Ubuntu Wiki - guide to Steam.


List of Steam games with Linux native ports


Gaming on Linux - a large community.
r/linux_gaming - subreddit.
Linux game database - resource of games and tools.
#steamlug - IRC chat room.
Linux Game Cast - pod/videocast.
Holarse - German language.


Many different distributions of Linux exist. A great family is based on Debian, such as Ubuntu. Another family is the RPM-based distributions (Fedora, Mageia, PCLinuxOS, Opensuse). There are also some other smaller families, such as Gentoo (e.g. Sabayon), Slackware (e.g. Salix) and Arch Linux (e.g. Manjaro)


Ubuntu is the most popular Linux distribution for personal computers and is recommended for users who are making the switch from another OS to Linux.

The Ubuntu Software Centre is a distribution centre exclusive to this specific family of Linux distributions, which can be easier to use in difference to command-line programs.

There are many Ubuntu-based distributions, such as Linux Mint, which are also recommended for inexperienced users.


SteamOS is a Debian-based operating system in development by Valve Corporation designed to be the primary operating system for the Steam Machine game consoles. It was initially released on December 13, 2013, alongside the start of end-user beta testing of Steam Machines.

While SteamOS is targeted for the Steam Machines, the operating system itself can be installed on any compatible computer system.


Arch Linux is one of the most popular minimalist distribution. It is only recommended for intermediate to advanced Linux users and requires a good understanding of command-line interactions, directory hierarchy, etc. For new and old users alike, patience is highly valued.

One of the benefits of its minimal software approach is the user gets what software they want, the latest version of it, and performance unmatched by other, heavy-weight distributions, such as Ubuntu. However, this all depends on you, and what software you install.

Alike Debian, some distributions have derived from Arch Linux. Two examples are Manjaro and Antergos. While both are based on Arch, they are both easier to install and manage for non-intermediate users.

Useful Programs[edit]


Wine is a compatibility layer that allows one to run Windows applications and games on Linux. Wine is one of the easiest and most popular way for Linux users to run programs written for Microsoft Windows. It also provides a software library that can help developers port Windows games to Linux.

Tools like PlayOnLinux and Crossover make Wine much easier to manage. PlayOnLinux is free of cost, whereas Crossover charges a fee for 1 year of updates and support from the Crossover support team. While both solutions use much of the same technology, the communities and support differ. By using Crossover however, you will directly support Wine development.[1]

The Shell[edit]

The Unix Shell "bash" 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, then it is heavily recommended that you learn how to use it as much more software is available when you do not restrict it to GUI-only.

This wiki focuses mostly on how to do things with the shell as it is much more easier to provide instructions on a text-basis instead of a GUI-usage-description.

In order to access the shell you will want to use a terminal emulator. Almost all distributions will ship with one by default. Examples of terminal emulators are Termite, Terminator, and Urxvt.


The Steam client for Linux only officially supports Ubuntu 12.04 LTS or later, but is compatible with most distributions. You can download it by using your distribution's package manager or from the Steam about page.

Some window managers, such as I3wm and bspwm, may have trouble managing the Steam client, both in tiled and floating mode.


Laptop graphics[edit]

Nvidia Optimus[edit]

The Bumblebee project provides support for discrete/integrated combos of graphic cards. After installing Bumblebee, games can be run on the nVidia card by running primusrun '/YOURGAMEPATH' or by adding 'primusrun %command%' to the command launch parameter in Steam.

On some less-than-recent distributions, optirun is used in place of primusrun. The above works just as well with optirun.

Alternatively, only the nVidia driver can be used. This, however, requires some changes in the xorg-config-files. For a complete documentation to achieve this see here: ArchLinux Wiki: nVidia Optimus#Using nVidia


Refer to Unofficial Wiki for the AMD Linux Driver.


Enabling threading optimizations
  1. Add __GL_THREADED_OPTIMIZATIONS=1 before the command of the game. For example in Steam, define the command launch paramteres as:


For some games, threading optimizations cause a huge improvement to the frame rate of the game.

Common Fixes[edit]

Mouse issues on multi-monitor systems[edit]

Some games requires the primary monitor to be set to function correctly.
  1. Install xrandr using your linux distribution's package manager.
  2. Run xrandr from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0").
  3. Run xrandr --output <name> --primary.


To automate this when the system starts, prepend the command to your ~/.xinitrc-file, or your desktop environment's equivalent.

Graphics Drivers[edit]

On Ubuntu the drivers can be installed using a graphical utility. Ubuntu will automatically notify you if there are proprietary drivers available for your graphics card to install.

Most Linux distributions will have both propriety and community-driven drivers available. It is important to note that not all games will be playable—either at all, or nor as well—with community drivers. On the other hand, not all propriety drivers are compatible with the most recent and stable version of X.

Disable Desktop Compositing in Fullscreen[edit]


Press Alt+ Shift+F12 (by default) - This will toggle the feature on and off.

Alternatively, you can enable it/disable it by:

  1. Open System Settings
  2. Open the Desktop Effects section
  3. Uncheck the box that says: "Enable Desktop Effects at Startup"

Running Games on a Separate x Server[edit]

Running games on a different X server from ones main desktop can dramatically improve performance and generally reduces the amount of problems within a game especially when using an advanced compositing window manager like Compiz. To launch a separate X server with a game create a new .sh file and paste in the following code:

#! /bin/bash 
xinit $cd '/YOURGAMEPATH' $* -- :1

Save and allow the file to be executable. Running this script in the terminal will make it much easier end the server when you are finished with it. Alternatively you can set the path to a terminal emulator like Xterm /usr/bin/uxterm and launch the game from a terminal in the new server. You could even launch a file browser like nautilus /usr/bin/nautilus Press Ctrl+Alt+F7 to return to the main desktop and Ctrl+Alt+F8 to go back to the newly created one.

X server Permission error Debian/Ubuntu
  1. run
    # dpkg-reconfigure x11-common
  2. Set: Move down and select "Anybody"
X server Permission error Any
  1. open
  2. Set
    allowed_users=root or console
No sound
  1. Open the following file as root in a text editor
  2. Find the following line
  3. Add a comma and your username ex:
Fullscreen problems/cursor won't disappear

Running a very light window manager may fix some problems with fullscreen games not going fullscreen and will make the mouse courser hide when in front of a full screen window. Openbox is a very light manager that is available for many distributions.

  1. Install openbox "sudo apt-get install openbox" or the equivalent for your distribution
  2. change
    $cd 'openbox'


  1. CodeWeavers: Proud Supporters of The Wine Project, Crossover and Wine developement