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 Indie 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 (Ubuntu is Debian-based). An other family is rpm-based (Fedora, Mageia, PCLinuxOS, Opensuse). There are also some other smaller families as Gentoo (Sabayon is Gentoo-based), Slackware (Salix is Slackware-based) and Arch (Manjaro is Arch-based)


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 terminal commands and patience. However 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 distros like Ubuntu.

There are also Arch based distributions. Manjaro is based on Arch and is easier to install and use than Arch.


SteamOS is a Debian Linux-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. The full release of Steam Machines, Steam controller, and Steam Link, is due this November, 2015.


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 center exclusive to this specific family of Linux distributions.

There are many Ubuntu based distributions like Linux Mint also recommended for inexperienced users

Useful Programs[edit]


Wine is a compatibility layer that allows one to run Windows applications and games on Linux. 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. However the vast majority of daily-usage tasks can be accomplished with GUI-tools. 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 most likely want to use a so-called "terminal emulator" or just "terminal". In most cases one is shipped with your distributions and you can find it in the applications menu installed. Google Code University provides a good starting guide on learning bash.


The Steam client for Linux only officially supports Ubuntu 12.04 LTS or later but is compatible with most distributions. You can download it from the Steam about page.


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.

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

Alternatively the nVidia driver can be used only, 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



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 from your linux distribution's repositories.
  2. Run xrandr from a terminal emulator and find the name of the monitor you want to set as primary (i.e. "HDMI-0").
  3. Run xrandr --output <name> --primary.


To automate this, append the command to your ~/.xinitrc-file.

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.

As most Linux-distributions by default only provide open source, community-driven drivers, Linux cannot completely utilize the GPU. Proprietary drivers however are generally much faster and can be installed via jockey-text:

1) Install jockey-text on Ubuntu: sudo apt-get install jockey-text

2) List drivers: jockey-text --list

3) Enable the correct driver (whichever mentions being current) e.g.: jockey-text -e xorg:nvidia_current

Disable Desktop Compositing in Fullscreen[edit]

  1. Install CCSM(CompizConfig Settings Manager)
  2. Be careful! This tool can easily break your desktop!
  3. Enable unredirect fullscreen windows under general settings
This is unnecessary in Ubuntu 12.10 and later, as this setting is enabled by default
  1. 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