Difference between revisions of "Gaming"

From ArchWiki
Jump to navigation Jump to search
m (LIRC was the only non-gaming thing in cat and I changed it to A/V)
Line 1: Line 1:
[[Category:Games and entertainment (English)]]
==Running games in Arch==
==Running games in Arch==
Line 62: Line 61:
* [[Xorg]]
* [[Xorg]]
* [[NVIDIA#Gaming_using_Twinview]]
* [[NVIDIA#Gaming_using_Twinview]]
[[Category:Gaming (English)]]

Revision as of 00:44, 7 September 2011

Running games in Arch

For the most part, games will work right out of the box in Arch Linux with possibly better performance than on other distributions due to compile time optimizations. However, some special setups may require a bit of configuration or scripting to make games run as smoothly as desired. For instance, running a multi-screen setup may lead to problems with fullscreen games. In such a case, running a second X server is one possible solution. Another solution may be found in the NVIDIA article (may also apply to non-NVIDIA users).

Keyboard Grabbing

Some games grab the keyboard, noticeably preventing you from switching windows (also known as alt-tabbing). Download sdl-nokeyboardgrab to gain the ability to use keyboard commands while in SDL games. If you wish to turn it up to 11, you can disable keyboard grabbing at X11 level using libx11-nokeyboardgrab.

Note: SDL is known to sometimes not be able to grab the input system. In such a case, it may succeed in grabbing it after a few seconds of waiting.

Getting games

While a lot of games can currently be found in the official repositories, not all current Linux games are packaged there. Some of them can only be found on AUR. However, there is a dedicated Arch Linux gaming repositoryTemplate:Linkrot that addresses this by providing pre-compiled packages from AUR.

Arch Linux gaming repository

To make use of the gaming repository, add these to your pacman.conf:

Server = http://pseudoform.org/arch-games/games/$arch
Server = http://repo.exigen.org/arch/games/$arch
Server = ftp://mirror.selfnet.de/arch-games/$arch

Executing Games

Certain games or game types may need special configuration to run or to run as expected.

Starting games in a separate X server

In some cases like those mentioned above, it may be necessary or desired to run a second X server. Running a second X server has multiple advantages such as better performance, the ability to "tab" our of your game by using CTRL-ALT-F7 / CTRL-ALT-F8, no crashing your primary X session (which may have open work) in case a game conflicts with the graphics driver. To start a second X server (using Nexuiz as an example) you can simply do:

xinit /usr/bin/nexuiz-glx -- :1

This can further be spiced up by using a seperate X configuration file:

xinit /usr/bin/nexuiz-glx -- :1 -xf86config xorg-game.conf 

A good reason to provide an alternative xorg.conf here may be that your primary configuration makes use of NVIDIA's Twinview which would render your 3D games like Nexuiz in the middle of your multiscreen setup, spanned across all screens. This is undesirable, thus starting a second X with an alternative config where the second screen is disabled is advised.

A game starting script making use of Openbox for your home directory or /usr/local/bin may look like this:

$ cat ~/game.sh
if [ $# -ge 1 ]; then
  game="`which $1`"
  openbox="`which openbox`"
  echo -e "${openbox} &\n${game}" > ${tmpgame}
  echo "starting ${game}"
  xinit ${tmpgame} -- :1 -xf86config xorg-game.conf || exit 1
  echo "not a valid argument"

So after a chmod +x you would be able to use this script like:

$ ~/game.sh nexuiz-glx

Adjusting mouse detections

For games that require exceptional amount of mouse skill, adjusting the response rate can help improve accuracy. Read more here.

See also