📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText
Next Previous Contents

9. Other

9.1 Nvidia

Nvidia's drivers for all of their modern video cards are not open source. Because of this many distributions do not include them. If your Nvidia card is running slowly this is probably the cause and you should visit http://www.nvidia.com to download the Linux installer. In the author's experience these drivers are great, but not all versions work 100% with all cards and kernels. If you have a misbehaving Nvidia video card, try a different driver.

XOrg AGP Issues

With Nvidia's proprietry drivers installed, Linux can use either AGPGART or Nvidia's AGP drivers for AGP access. This option is set by "NvAGP" in your /etc/X11/xorg.conf file.

From Nvidia's README:


Option "NvAGP" "integer"

    Configure AGP support. Integer argument can be one of:

        Value             Behavior
        --------------    ---------------------------------------------------
        0                 disable AGP
        1                 use NVIDIA's internal AGP support, if possible
        2                 use AGPGART, if possible
        3                 use any AGP support (try AGPGART, then NVIDIA's

    Please note that NVIDIA's internal AGP support cannot work if AGPGART is
    either statically compiled into your kernel or is built as a module and
    loaded into your kernel.

In the author's experience, Nvidia's AGP is necessary in order to get the linux kernel's .:: morguefile.com ::. suspend to ram working properly, and is also slightly faster. Users with kernels with built-in AGPGART need to add agp=off to their boot loader in order to use the NvAGP driver.

Tweaks

These tweaks are for users with a GeForce video card (or better) and Nvidia's proprietary drivers. They are accessed using the bash command export {variable}={value} and then starting the Quake engine from the same command line. Alternatively, recent drivers have a nvidia-settings command which starts up a user-friendly control panel.

Full details of these tweaks are in the Nvidia README, normally installed at "/usr/share/doc/NVIDIA_GLX-1.0/README.txt"

Full Screen Antialiasing

export __GL_FSAA_MODE={value}

video card              effect                  value
=====================================================
all                     disable                 0
-----------------------------------------------------
GeForce, GeForce2       1.5x1.5 Supersampling   3
                        2x2 Supersampling       4
-----------------------------------------------------
GeForce4                2x Bilinear             1
                        2x2 Supersampling       4
-----------------------------------------------------
GeForce3, GeForce4 Ti,  2x Bilinear             1
GeForce FX              4x Bilinear             4
-----------------------------------------------------
Synchronize Picture Redraw

export __GL_SYNC_TO_VBLANK=1

Synchronizes GL output with your monitor's vertical refresh, giving a more stable image especially on slower video cards.

9.2 3Dfx

While new versions of XFree and XOrg have great support for Voodoo 3, 4 and 5, early 3Dfx hardware such as Voodoo1, Voodoo2 and Rush are no longer hardware accelerated. To get OpenGL working for these cards, you'll need to download, install and/or compile the software libraries called Glide and Mesa, though this is not trivial. The author does have precompiled libGL for the Voodoo2, and his patched TyrQuake includes proper 3Dfx brightness control. Here is a README for old 3Dfx cards.

9.3 FreeBSD

The author has limited experience with this OS and has tested projects on FreeBSD 5.3 with Nvidia's proprietary drivers. .:: groups.google.com ::. Darkplaces, QuakeSpasm, TyrQuake and Hammer of Thyrion work well with this system.

QuDos has recently ported several engines to Linux and has recently started work on FreeBSD compatibility. His great .:: www3.uwsp.edu ::. Quake II project is also now BSD friendly.

For basic GLQuake support, you can find a hacked FreeBSD binary and source tarball here.

QuakeForge is a comprehensive Quake project, but may have installation issues with newer FreeBSD releases. The memory allocator routine "alloca" is not correctly detected on FreeBSD 5.3. The fix is, after running "configure", to add "#define C_ALLOCA 1" to "include/config.h" and undefine other ALLOCA variables. Another issue is the opening of plugins. If the project builds, but you can't get the console or menus, you may have to enable static plugins using configure LDFLAGS=-lpthread --with-static-plugins.

9.4 QNX

QNX is a commercial real-time operating system, probably most notable to hobbyists as being a successful microkernel OS. SDL Quake-1.0.9 compiles and runs on QNX-NC-6.2.1 after running .:: kemono.im ::. configure --host=QNX and then making these changes:

Makefile:
    -LIBS =  -L/usr/local/lib -lSDL -lm -lph -lasound
    +LIBS =  -L/usr/local/lib -lSDL -lm -lph -lasound -lsocket
net.h:
    -extern unsigned long htonl (unsigned long hostlong);
    -extern unsigned long ntohl (unsigned long netlong);
sys_sdl.c:
    -#include <sys/shm.h>
    -int psize = getpagesize();
    +int psize = _SC_PAGESIZE;

9.5 Transparent Water and VisPatch

The game variable "r_wateralpha" allows for water transparency - but most maps don't have the necessary "vis" information. There are two ways to get this. After setting r_wateralpha < 1.0, issuing the console command r_novis 1 enables the game to calculate it's own vis information at the penalty of cpu cycles. Alternatively, vispatch is a utility that patches your Quake/QuakeWorld levels to support transparent water.

To do this you'll need the vispatch utility, as well as the vispatch data files for the game you are patching.

To patch the main data files in "id1" - from your Quake directory - type vispatch -dir id1 -data id1.vis

Vispatch Homepage

9.6 Quake Inspired XTerms

Quake's in-game console is a great feature and has been adopted by many other games. Now you can also use the 'tilda' key to access X terminal windows. Both Yakuake and Tilda are projects inspired by this idea.

Unfortunately neither are easy to install from source. Yakuake is a KDE application and needs the KDE development packages, and compiling Tilda is more complicated. It requires a couple of unusual libraries, and gave this author compilation errors, so perhaps looking for a RPM package is a better choice. The author can recommend Yakuake as a very handy X terminal. .:: luma.com ::. .:: sub4sub.net ::.

9.7 Launching maps and demos

http://www.quaddicted.com/?p=374

9.8 Interest

9.9 Quotes

9.10 Glossary

ALSA

Advanced Linux Sound Architecture.

API

Application Program Interface. The computer libraries which are used when programming, and link the game to the hardware.

Bot

A computer generated player with artificial intelligence (cough), in a multiplayer game. Used to play multiplayer when no-one's around or not connected to a network. [NPM Package: PostgreSQL]

Client

This word is used in two subtly different ways. In single player, the Quake game is known as a client, with different clients using their own graphics libraries (for example, the GL client "quake.glx" or the X11 client "quake.x11"). The usage is similar in multiplayer games, but also means the per-user program which connects to a single "server" program which lets all the players exist in the same world.

FPS

First Person Shooter. A shooting game viewed from the "first person" perspective.

Mod

Modification to the original Quake game - varying from a complete game overhaul (total conversion) to simple map/model reworks. Quake was designed to allow for ease of platform portability with it's own computer language "Quake C" giving mappers control over most every aspect of their Quake world.

Noob

Newbie. Someone new to a computer related topic.

Patch

A software patch (or diff) is a single file used to alter a source code tree before compilation. It is often used to fix bugs or add new features that the original author didn't include. .:: learndash.aula.edu.pe ::.

Usage of the GNU patch utility is of the form patch [--dry-run] -pNUM <FILE where NUM is the number (usually 0 or 1) of directories to strip from the patch file. This number is not obvious except to unix gurus, but using the "--dry-run" option will let you test run patch so you can find the correct NUM. ...Using the wrong number will make patch output all sorts of cryptic messages which can be terminated with a control-C character.

Of course you could always type man patch and learn for yourself how to use this powerful unix command. ;-/

SDL

Simple DirectMedia Layer cross platform hardware API widely used in Linux games.

Segfault

A broad term indicating a program is faulty and terminated abruptly. Depending on the bash shell's ulimit -c setting, a dump of the program's image (coredump) may be left behind for examination with the GNU debugger (GDB).

Server

A program central to multiplayer games to which every player connects.

Tarball

An archive file such as somefile.tar created by the "tar" program. It is often compressed using the programs "gzip" or "bzip2", in which case it will normally end in the letters .gz or .bz2. The extension .tar.gz is often shortened to .tgz.

9.11 Links

id Software

http://www.idsoftware.com

id Downloads

http://http://www.idsoftware.com/business/techdownloads

id Store

http://www.idsoftware.com/store/index.php?view=quake

Icculus

http://www.icculus.org

Icculus Gamers FAQ

http://www.icculus.org/lgfaq

Various Engine Links

http://icculus.org/~ravage/quake/

The Linux Game Tome

http://www.happypenguin.org

Func_Msgboard - Q1 message board from hell ... No, really

http://www.celephais.net/board/forum.php

Quaddicted

http://www.quaddicted.com/

Planetquake

http://www.planetquake.com/quake1

PlanetQuake3.net

http://www.planetquake3.net/index.php

Darkplaces Game Engine

http://www.icculus.org/twilight/darkplaces

Quake One

http://www.quakeone.com

Linux Gamers

http://www.linux-gamers.net

Quake Terminus

http://www.quaketerminus.com

Retro Quake

http://www.planetquake.com/retroquake/quake/index.html

Quake Basics

http://www.quaketerminus.com/quakebible/index.htm

Quake Wikipedias

http://wiki.quakesrc.org/index.php/HomePage, http://en.wikipedia.org/wiki/Quake

Jrgen's GLQuake Site

http://mfcn.ilo.de/glxquake

LinuxQuake.Org

http://www.linuxquake.org

Linux Hexen II project

http://uhexen2.sourceforge.net

SDL - Cross platform hardware API

http://www.libsdl.org/

ALSA - Linux sound project

http://www.alsa-project.org

Lowercase utility

http://filerenameutils.sourceforge.net


Next Previous Contents

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this