14. Gaming With Linux
Okay, you've got your word processor and spreadsheet set up under Linux,
plus a web browser, an email client and a million other boring
programs. But what about the important stuff? Where are the games?
Most people probably wouldn't think of Linux as being a gamer's
platform, and it's true that the real hard-core gamer might need to
stick with a dual boot system for the time being at least. But for the
rest of us, Linux can offer a great environment for playing games. There
are plenty of good ones on offer, and accelerated 3D is no longer a pain
to set up for many common cards. And now that lots of Windows games are
playable using emulators like WineX, we've never had so much choice.
14.1 Where to Get Them
Most distros come with a variety of games, and you probably have some
already installed. Look in your GNOME or KDE menus under "Games" or
"Amusements". If you don't have any installed, check your installation
CDs for packages named "kdegames" and "gnome-games". These packages
include a wide variety of games ranging from Arcade style games (Tetris
and Jezzball clones, Snakerace etc.), board games (Chess, Mahjongg,
Reversi and so on), to card games, plus games to test your strategic
skills and much more. As well as the ones in the KDE and GNOME packages,
some distros include others like Maelstrom, Bzflag (a popular tank
game), FrozenBubble (one of my favourites), and even 3D games such as
Tuxracer and Chromium. Browse the package directory of your distro CDs
to see what's available. There are also lots of games freely available
from the internet, plus some commercially produced/ported titles for
sale.
14.2 Commercial Games
A few companies make or have made games available to Linux
users. Perhaps the best known of these was Loki, who are sadly no longer
in business. Loki ported quite a few popular titles to linux, (QuakeIII
Arena, HeavyGearII, Descent III etc), and you might even find some of
them still available for sale. Probably the best way to find out what's
available is to check out online stores like
TuxGames.
14.3 Hardware and Software Requirements
Broadly speaking, games can be split into two groups; those that require
accelerated 3D support, and those that don't. The first group would
include 3D games such as QuakeIII, UnrealTournament, Tuxracer and so on,
while the second group includes the 2D style of games such as those
found in the GNOME and KDE game packages (and of course the old style
text games would be in this group too). Games in the 2D group don't need
anything special to run them; if you can run GNOME or KDE you'll have no
problems. The 3D games however are much more fussy about what they'll
run on; as well as having enough RAM and CPU power, you'll also need a
Linux-supported 3D graphics card (or on-board chip). Individual game
requirements vary widely, but as rough guide, the recommended minimum
for QuakeIII is a 233Mhz CPU with an 8meg graphics card and 64 meg. of
RAM. Keep in mind that this is the bare minimum required just to run the game;
you'd probably need to double those figures to get reasonable performance.
Setting up 3D graphics with Linux used to be a bit tricky, but now many modern distros will set
up the appropriate drivers during installation, giving accelerated 3D
out of the box. When you are setting up your machine, keep in mind that
it isn't the brand of graphics card you have that is important, but
rather the brand of chipset it uses. In other words, you would use ATI
drivers for a card with an ATI chipset, regardless of its
brand. Currently, most Linux gamers seem to prefer nVidia based cards,
and with good reason. NVidia write their own (closed source) drivers for
Linux; these are easy to install and set up and their performance is
generally on a par with their Windows counterparts. ATI based cards are
also popular, and ATI have recently released unified drivers for Linux
users with their higher end cards. Check out
this site to see
what cards are supported. As well as suitable hardware, you'll also want
to use a recent version (>4.0) of XFree86. Later versions have much
better 3D support, so if you are having problems an XFree86 upgrade
should be one of your first steps.
14.4 Setting up NVidia Based Graphics Cards
As I mentioned earlier, nVidia based cards have become a favourite
amongst Linux gamers. While these cards will usually work perfectly out
of the box for normal 2D work, you'll probably have to install nVidia's
drivers to get accelerated 3D. Some recent distros will install these
for you during installation of Linux; even so, you might want to read on
so you can update to the current drivers. These drivers are "unified",
ie. the same drivers are used for all versions of nVidia based
cards. Before you start, you should check that you are running a
reasonably recent version of XFree86. There are two drivers that will
need to be installed, the NVIDIA_kernel package and the NVIDIA_GLX
package. The kernel package is available in several versions to suit
most common distros; if there isn't one to suit your distro you can also
get tarballs. And if you aren't sure which package to get there is a
script you can download from nVidia that will advise you of the best
package to use.
Once you've downloaded the packages, you should exit X
(not strictly necessary, but it makes recovery easier if things go
wrong..) and install the kernel package and then the GLX package. If you
are upgrading rather than installing, nVidia recommend removing the old
GLX package first instead of upgrading over it. Now all you need to do
is edit a couple of lines in your XF86 configuration file (usually this
will be /etc/X11/XF86Config-4). Assuming you already have an XF86Config
file working with a different driver (such as the 'nv' or 'vesa' driver
that is installed by default), then all you need to do is find the
relevant Device section and replace the line:
Driver "nv" (or Driver "vesa")
with
Driver "nvidia".
In the Module section, make sure you have:
Load "glx"
You should also remove the following lines:
Load "dri"
Load "GLcore"
if they exist. Now restart X to use
the new drivers. If you have any problems, check the `XF86' log
file (named ` /var/log/XFree86.0.log' or similar) for clues. Also
read the documentation on the nVidia website and in the README file
included in the NVIDIA_GLX package.
14.5 Playing Windows Games With Linux
Some well known games produced for windows have Linux binaries available
(Return To Castle Wolfenstein etc). The Linux binaries allow you to install
the data files from your Windows game CD, and then run the game directly from
Linux. Some games include the Linux binaries on the CD (rare, but
hopefully this will become commonplace), or you may have to download them.
Another way to run Windows games is to use an emulator like Wine, or WineX.
The list of programs that will run well under Wine is growing steadily, though for gaming
you'll probably be more interested in WineX by Transgaming. WineX is a
commercial offshoot of the Wine project, and while Wine aims to enable
Windows programs in general to be run under Linux, WineX focusses
exclusively on games. Many Windows games install and play perfectly with
WineX, including Max Payne, Warcraft III, Diablo II, The Sims etc. There
is a list of games at the TransGaming
website, however I have found that there are some games not listed that
will still play under WineX. Try searching
Google for name of game + winex for help on unlisted
games. You can download the WineX source from the CVS tree for free, but
compiling and configuring can be confusing for a newbie. Much better is
the precompiled packages that are available to
subscribers. Subscriptions cost US$5 per month, with a 3 month
minimum. There are some other benefits to subscribers, though I think
the binaries alone are worth the price.
14.6 Links
Obviously this has been no more than a very brief overview of Linux gaming;
see the sites listed below for more info.
The Linux Gamers
HOWTO - I can't recommend this one highly enough; if you are serious about
gaming with Linux, read this doc!
Linux for Kids - This site has lots
of links and info about games and educational apps. You don't have to be
a kid to enjoy this stuff - adults will probably find some good stuff
here too.
The Linux Game FAQ - A
comprehensive list of Frequently Asked Questions about Linux gaming.
The Linux Game Tome - Definitely
worth a look!
New Breed Software - Bill
Kendrick and co. have written some good games, mainly for kids.
Racer - is a promising race car game with
extremely good graphics and physics. Not finished yet, but still
playable, and makes a nice change from the shooters.
Transgamings Winex Homepage
LinuxGamers is another interesting game site.
This document was generated
on March, 5 2003
using texi2html