Linux Games HOWTO
I wrote this as a total beginners guide for another forum. Not sure anyone here will find it useful but I post it on the off chance. Enjoy.
There are many native games for Linux.
The majority of these games were from Loki. Some are from Linux Game Publishing. The rest were usually made by indie developers.
The problem with these older games are the dependencies which I will break down in order of commonality.
Modern distributions tend to use pulse audio as it is a far superior sound server. However pulse audio does not emulate Alsa/OSS.
It does however provide a wrapper program called "padsp" which attempts to allow old programs to use pulse audio instead of Alsa/OSS. Eg:
Unfortunatly long ago Alsa was used to emulate OSS. Most old games either used Alsa or OSS but some relied upon the way Alsa emulated OSS. This code is still part of the Linux kernel but to prevent conflicts with pulse audio many distributions remove it.
If your game relies on this code then although I recommend against it you can compile your own kernel with the code included. Pulse audio also started a project to modify old software to use pulse audio instead but success rate is low. pulseaudio.org/wiki/PerfectSetup
Often a game ships with a library that is out of date on your system. If you experience problems a good place to start is sifting through the provided libraries (.so) and see if there is a more recent version in your /usr/lib. The most common culprit is libstdc++.
What can be worse is when a game requires a library that your system doesn't have. Your Linux distributor may provide repositories where you can find the libraries you need. If not then pkgs.org is a very good resource. My final suggestion will be an old distribution ISO.
If a game simply fails you can normally say with some certainty that it was libraries. Thankfully there is an easy way to find the libraries a program depends on using ldd.
Older games tend to be 32bit. In order to run 32bit games on a 64bit system you need the ia32 libraries which installs 32bit libs (.so) into /lib32 and /usr/lib32. Executables with an ELF32 class are then told to retrieve their dependant libraries from /lib32 and /usr/lib32. If you are running a 64bit OS but need to provide a 32bit library for a 32bit prgram then be sure to put it in /usr/lib32.
Some older games can't handle running with compiz. To disable compiz add the following lines to /etc/X11/xorg.conf
It is very difficult to tell if there is a conflict with compiz so best just try the following and see if it helps
Option "Composite" "Disable"
You can remove the lines from xorg.conf to restore compiz at any time.
You will need root access to edit xorg.conf
Some self contained installers (particularly older ones on new systems) cough up an error like "tail: cannot open +NUM" because the enviroment is too new.
This will set the way back machine to old school and make your installer happy to run.
Most recent games for linux tend to come from Id. The rest tend to be indie games ported by icculus.
The problem with these newer games is that they tend to need s3tc texture compression and some shading. This is a massive problem for open source drivers but I am going to show you how to enable these features.
DriConf allows you to turn on and off features for your graphics card using open source drivers.
In order to use s3tc you need the txc-dxtn library.
The wine project:
Currently the main way to install and use windows software. Note that at this time you can only install wine or wine64. One is for 32bit apps. One is for 64bit apps. There is no package that supports both.
The wine project is not an emulator, it is an API translator. As such it runs at almost the same speed as native software. I will now overview wine and its forks.
This is the main project. If software is rated at either platinum or gold it's a safe bet you can run it no problem. You can find ratings here: http//appdb.winehq.org/objectManager.php?sClass=application&sTitle=Browse %20Applications&sOrderBy=appName&bAscending=true and also any additional tweaks needed to get a game running.
A paid version of Wine. They help fund the Wine project and add some proprietary components that improves game compatability.
GameTreeLinux - formerly cedega and winex before that.
It was forked into winex when wine was still alpha and made little improvement since. Since the wine project focused more on the directx API this project has slowly lost popularity and development.
If you remember DOS or have heard about some of these awesome games then be happy because you can run it on Linux.
There are a number of different DOS emulators but there is only one that dominates games... DOSBOX!
Don't forget that GUI front end:
Some great places to get DOS games:
If you were a kid once (or probably still are) then you will remember gaming consoles when they were good. I will list some consoles and corresponding emulators. This is not a list of every emulator ever made, just a list of the emulators I thought worked best.
Sega - Genesis
Commodore - Amiga 500
Atari - Atari 2600
Sony - Playstation1
Nintendo - SNES
Nintendo - GameBoy Advance
Nintendo - N64
Nintendo - Gamecube/Wii
A great place to download roms:
###Tips, Tricks & Tools###
Finally this is the section for all the cool non specific stuff to help you out.
Remember that not all programs come with gui. padsp for example. These must be run from either a script or terminal.
Playing games alone in X:
This has many advantages other than just running games faster.
For this to work you must make startx available to run for all users. Open
Create personal boot file for startx
add launcher for game and hash out other launchers because startx will only boot one.
then save it.
Enter root user mode:
sudo telinit 1
(skip next command if your not doing any networking)
replace eth0 with your networking interface
(replace "username" with yours)
when done move .xinitrc
mv ~/.xinitrc ~/xinitrc
and exit until out of root user mode
A tool to help you with your games in wine:
A place to purchase Linux Games:
Winetricks allows you to install windows components that may be required:
Sometimes you will need executable permissions for a file to make it run:
sudo chmod a+rx ./binary
Sometimes root will own game files you need access to:
sudo chown -R user folder
sudo chown user file
Here is a good FAQ for specific games:
Some times an executable requires you to execute from within its current directory:
but using this script will allow you to run your executable from where ever you like
just save it in the same directory as the executable and give yourself executable permissions to it.
A fantastic client to get games:
Back to top
All times are GMT - 8 Hours