/ Linux Reviews / Games / The Linux Gamers HOWTO - en


The Linux Gamers' HOWTO

Peter Jay Salzman

Frédéric Delanoy

2004-11-13 v.1.0.6

Abstract

The same questions get asked repeatedly on Linux related mailing lists and news groups. Many of them arise because people don't know as much as they should about how things "work" on Linux, at least, as far as games go. Gaming can be a tough pursuit; it requires knowledge from an incredibly vast range of topics from compilers to libraries to system administration to networking to XFree86 administration ... you get the picture. Every aspect of your computer plays a role in gaming. It's a demanding topic, but this fact is shadowed by the primary goal of gaming: to have fun and blow off some steam.

This document is a stepping stone to get the most common problems resolved and to give people the knowledge to begin thinking intelligently about what is going on with their games. Just as with anything else on Linux, you need to know a little more about what's going on behind the scenes with your system to be able to keep your games healthy or to diagnose and fix them when they're not.


Table of Contents
1. Administra
1.1. Authorship and Copyright
1.2. Acknowledgements
1.3. Latest Versions and Translations
1.3.1. Russian
1.3.2. Hungarian
2. Definitions: Types Of Games
2.1. Arcade style
2.2. Card, logic and board games
2.3. Text Adventure (aka Interactive Fiction)
2.4. Graphical Adventures
2.5. Simulation (aka Sims)
2.6. Strategy (aka Strats)
2.7. First Person Shooter (aka FPS)
2.8. Side Scrollers
2.9. Third Person Shooters
2.10. Role Playing Game (aka RPG)
3. Libraries
3.1. What is Glide2?
3.2. What is Glide3?
3.3. What is OpenGL?
3.4. What is Mesa?
3.5. What is DRI?
3.6. What is GLX?
3.7. What is Utah GLX?
3.8. What is xlib?
3.9. What is a widget set?
3.10. What is SDL (Simple DirectMedia Layer)?
3.11. What is GGI?
3.12. What is SVGAlib? Frame buffer? Console?
3.13. What is OpenAL?
3.14. What is DirectX?
3.15. Clanlib
4. XFree86 and You
4.1. Getting information about your X system
4.1.1. Probeonly
4.1.2. Getting info about your setup: xvidtune
4.1.3. Getting info about your setup: xwininfo
4.1.4. Other sources of information
4.1.5. Getting information about your 3D system
4.2. Playing Games In X Without a Window Manager
5. Various Topics
5.1. Memory Type Range Registers
5.2. Milking performance from your system for all it's worth
5.3. About libraries on Linux
5.3.1. Dynamic libraries
5.3.2. Static libraries
5.3.3. How are library files found
5.3.4. Finding Out What Libraries a Game Depends On
6. When Bad Things Happen To Good People
6.1. RTFM!
6.2. Look For Updates and Patches
6.3. Newsgroups
6.4. Google Group Search
6.5. Debugging: call traces and core files
6.6. Saved Games
6.7. What to do when a file or library isn't being found (better living through strace)
6.8. Hosed consoles
6.9. Locked System
7. Video Cards
7.1. History
7.2. Current Status (1 March 2004)
7.2.1. SVGAlib Support
7.3. Which Video Card Should I Buy? (1 March 2004)
7.4. Definitions: Video Card and 3D Terminology
7.4.1. Textures
7.4.2. T&L: Transform and Lighting
7.4.3. AA: Anti Aliasing
7.4.4. FSAA: Full Screen Anti-Aliasing
7.4.5. Mip Mapping
7.4.6. Texture Filtering
7.4.7. Z Buffering
8. Sound
8.1. Which sound card is best?
8.2. Why isn't my sound working?
8.2.1. Shared interrupt
8.2.2. Misconfigured driver
8.2.3. Something is already accessing your sound card
8.2.4. You're using the wrong driver (or no driver)
8.2.5. Permissions Problem
9. Miscellaneous Problems
9.1. Hardware Acceleration Problems
9.1.1. Hardware acceleration isn't working at all
9.2. Hardware acceleration works only for the root user
9.2.1. XFree86 4.x
9.2.2. XFree86 3.x
10. Emulation and Virtual Machines
10.1. What is a virtual machine?
10.2. Apple 8-bit
10.2.1. KEGS
10.2.2. apple2 and xapple2
10.3. DOS
10.3.1. dosemu
10.4. Win16
10.4.1. Wabi
10.5. Win32
10.5.1. wine
10.5.2. rewind
10.5.3. winex
10.5.4. Win4Lin
10.5.5. VMWare
10.5.6. What should I choose?
11. Interpreters
11.1. SCUMM Engine (LucasArts)
11.2. AGI: Adventure Gaming Interface (Sierra)
11.3. SCI: SCript Interpreter or Sierra Creative Interpreter (Sierra)
11.4. Infocom Adventures (Infocom, Activision)
11.5. Scott Adams Adventures (Adventure International)
11.6. Ultima Underworld: The Stygian Abyss (Origin, Blue Sky Productions)
11.7. Ultima 7 (Origin, Electronic Arts)
11.8. System Shock (Electronic Arts, Origin)
12. Websites And Resources
12.1. Meta gaming websites
12.2. Commercial Linux Game Resources
12.2.1. Where to buy commercial games
12.2.2. Who Used To Release Games For Linux
12.3. Other Resources

1. Administra

If you have ideas, corrections or questions relating to this HOWTO, please email me. By receiving feedback on this howto (even if I don't have the time to answer), you make me feel like I'm doing something useful. In turn, it motivates me to write more and add to this document. You can reach me at . My web page is http://www.dirac.org/p and my Linux pages are at http://www.dirac.org/linux. Please do send comments and suggestions for this howto. Even if I don't take your suggestions, your input is graciously received.

I assume a working knowledge of Linux, so I use some topics like runlevels and modules without defining them. If there are enough questions (or even protests) I'll add more basic information to this document.

1.1. Authorship and Copyright

This document is copyright (c) 2001-2002 Peter Jay Salzman, ; 2003-2004 Peter Jay Salzman and Frédéric Delanoy. Permission is granted to copy, distribute and/or modify this document under the terms of the Open Software License, Version 1.1, except for the provisions I list in the next paragraph. I hate HOWTO's that include the license; it's a tree killer. You can read the OSL at http://opensource.org/licenses/osl-1.1.txt.

If you want to create a derivative work or publish this HOWTO for commercial purposes, I would appreciate it if you contact me first. This will give me a chance to give you the most recent version. I'd also appreciate either a copy of whatever it is you're doing or a spinach, garlic, mushroom, feta cheese and artichoke heart pizza.

1.2. Acknowledgements

Thanks goes out to these people for extensive comments, corrections, and diffs. Their effort is above and beyond the call of duty:

Frédéric Delanoy, Moritz Muehlenhoff , Mike Phillips, Ioan Rogers

I would also like to thank the following people for sending in comments and corrections. Without their help, there would be more typos and mistakes than you could shake a stick at:

Michael McDonnell

1.3. Latest Versions and Translations

The latest version can be found at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/lgh/LG-HOWTO or http://www.dirac.org/linux/writing, but this is my own personal working copy. The version at my personal web site might be broken if I'm working on the HOWTO. The version at sourceforge is bleeding edge but guaranteed to be not broken, however it may have glitches, like unfinished paragraphs. :)

The most recent stable version can be found at http://www.tldp.org.

1.3.1. Russian

Dmitry Samoyloff is the maintainer of the Russian translation. The most recent version can be found at http://www.dirac.org/linux/writing.

1.3.2. Hungarian

László Daczi , the Hungarian LDP coordinator, announced that a Hungarian translation was produced by Szilard Ivan, and is available at http://tldp.fsf.hu/HOWTO/Linux-Gamers-HOWTO-hu.


/ Linux Reviews / Games / The Linux Gamers HOWTO


Meet new people

Adult Dating