Linux

From PCGamingWiki, the wiki about fixing PC games
Linux
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.

GOG.com

GOG.com Linux store
GOG FAQ and troubleshooting thread for Linux

Steam

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

Resources

List of Steam games with Linux native ports

Communities

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.

Distributions[edit]

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[edit]

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 and Antergos are based on Arch and are both easier to install and use than Arch.

SteamOS[edit]

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[edit]

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[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.

Steam[edit]

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 distro'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.

Graphics[edit]

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

ATi/AMD[edit]

http://wiki.cchtml.com/

Nvidia[edit]

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:
__GL_THREADED_OPTIMIZATIONS=1 %command%

Notes

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.
XRandr
  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.

Notes

To automate this when the system starts, append the command to your ~/.xinitrc-file (before the line starting with exec), 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.

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]

Compiz
  1. Install CCSM (CompizConfig Settings Manager) using your distro's package manager.
  2. Enable unredirect fullscreen windows under general settings

Notes

Be careful! This tool can easily break your desktop environment!
This is unnecessary in Ubuntu 12.10 and later, as this setting is enabled by default.
KDE

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 
DISPLAY=:1.0
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
    /etc/X11/Xwrapper.config
  2. Set
    allowed_users=root or console
    to
    allowed_users=anybody
No sound
  1. Open the following file as root in a text editor
    /etc/group
  2. Find the following line
    audio:x:29:pulse
  3. Add a comma and your username ex:
    audio:x:29:pulse,linus
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 '/YOURGAMEPATH'
    to
    $cd 'openbox'

References

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