Verder Terug Inhoud

5. Probleemoplossing/FAQs

5.1 Algemeen

OS verschillen overwegingen

Glibc, RedHat 5.x, Debian 2 overwegingen (alleen voor Quake 1)++

[Het volgende geldt alleen voor de binaire bestanden van Quake I (squake, glquake, en quake.x11). Met ingang van de versies 2.30 en 3.19 zijn respectievelijk QuakeWorld en Quake II in zowel libc5 als glibc versies beschikbaar.]

De uitvoerbare bestanden van Quake werden met libc5 gecompileerd. Nieuwere Linux distributies zoals RedHat 5.1 en Debian 2.0 gebruiken de niet compatibele libc6 (of glibc) als hun standaard C-library. Als je Quake op een glibc-systeem draait zijn er een aantal zaken om op te letten:

Mijn muis werkt niet of lijkt willekeurig te reageren. **

Mijn Microsoft Intellimouse of Logitech MouseMan+ werkt niet correct.

SVGAlib, die de muisinvoer voor SVGA en GL Quake/QW/Q2 afhandelt, ondersteunde de Intellimouse tot versie 1.3.0 niet direct. Als je een versie van SVGAlb van voor 1.3.0 hebt, zou je moeten upgraden, en vervolgens muistype IntelliMouse (voor een seriële muis) of IMPS2 (voor een PS/2 muiz) in bestand libvga.config gebruiken.

Mijn muis is "vertraagd" en het lijkt erop dat hij veel langzamer is danonder Windows.

Ik heb een Voodoo2, en als ik wil proberen het met de gl rendererte draaien, rapporteert het dat ik geen Voodoo kaart heb geïnstalleerd.

Er zijn voor de Voodoo en Voodoo 2 kaarten verschillende Glide versies. Wees er zeker van dat je de juiste voor je systeem download.

Als ik Quake-spellen onder SVGAlib of GL aan het spelen bent en op CTRL-C druk, wordt het spel beëindigt en laat mijn consolesoms in een onbruikbare toestand achter.Soms als Quake/Quake II abnormaal eindigt, laat het mijn consoleonbruikbaar achter.

Ja. Dit bijt. SVGAlib vangt de CTRL-C af en beslist wat ermee moet worden gedaan in plaats van het af te laten handelen door Quake. Ik weet zo gauw geen manier om te gaan met het hacken van SVGAlib.

Als je de Quake spelen vanuit een script opstart zoals dat hieronder, waarin het toetsenbord en de terminal worden gereset, loop je echter minder kans om te eindigen met een vastgelopen terminal.


#!/bin/sh
./quake2 $*
kbd_mode -a
reset

het opstarten van squake/quake2 mislukt en het geeft de melding "svgalib: cannot get I/O permissions"

De uitvoerbare bestanden van Quake moeten als root worden gedraaid als je de SVGAlib renderer gebruikt, dus je moet ze als root opstarten of ze setuid root instellen. Zie de installatie-instructies in dit document voor details.

Soms werkt de toetsenherhaling niet meer na het spelen van één van de Quake spellen onder X.

Om één of andere reden de-activeren de X11-versies van Quake de toetsenherhaling als ze worden uitgevoerd. Als het programma om bepaalde reden abnormaal eindigt, wordt de toetsenherhaling niet weer aangezet. Geef het commando

xset r on
om het weer te activeren.

Quake/Quake II geeft aan "/dev/dsp : device not configured"

Je geluidshardware is niet juist geconfigureerd. Het kan zijn dat je gewoon een insmod sound moet doen, of het kan nodig zijn om je kernel opnieuw te bouwen. Het zou kunnen dat RedHat gebruikers het sndconfig(8) utility aan moeten roepen. Zie de documentatie voor je Linux distributie en/of de LInux Sound HOWTO voor informatie over het configureren van de geluidshardware van je systeem.

GL Quake/Quake II draait langzamer onder Linux dan onder Windows. ++

De Windows 3Dfx GL miniport is zwaar geoptimaliseerd voor hetgeen Quake II doet. Mesa aan de andere kant, is algemener en minder geoptimaliseerd.i Als resultaat draait Linux Quake II langzamer dan onder Windows. Dit is geen beperking van Linux, maar een beperking van de huidige drivers.

Met de recentste releases van QuakeWorld en Quake II, is de hierboven genoemde 3Dfx miniport beschikbaar voor Linux. Ook werd in Quake II versie 3.20, de OpenGL-functie afhandelings code volledig herschreven, resulterend in een veelbetekenende snelheidswinst.

Bovendien zijn er een aantal fijnafstemmingen voor Pentium Pro en Pentium II mogelijk met memory buffering - de laatste /dev/3dfx devicedriver heeft ondersteuning om dit automatisch voor je in te stellen. Het activeren van MTRRs kan resulteren in een aanmerkelijke (10 fps op mijn systeem) GL Quake snelheidswinst. Zie http://glide.xxedgexx.com/MTRR.html voor meer gedetailleerde informatie hierover.

Op een PPro/PII systeem met een Voodoo2, is de performance onder Linux nu op z'n minst net zo snel als onder Windows.

Hoe kan ik een server starten en uitloggen en vervolgens er laternaar terugkeren?

screen(1) is hiervoor een geweldige utility. Het geeft je de mogelijkheid om veel virtuele schermen in één tty aan te maken en hiertussen te schakelen. Screen wordt met de meeste distributies meegeleverd. Je kunt het downloaden vanaf ftp://prep.ai.mit.edu/pub/gnu of iedere GNU mirror.

Start screen door het intikken van het commando screen, en maak vervolgens een nieuw screenvenster aan door CTRL-A CTRL-C in te drukken. Je zult niet veel zien als je dit doet, maar wees gerust, er gebeurt iets.

Start een Quakeworld server:

/usr/local/games/quake/qwsv 

Open nu een nieuw screen venster met CTRL-A CTRL-C en start een Quake II server op:

/usr/local/games/quake2/quake2 +set dedicated 1

Je kunt voor- en achteruit tussen je servers schakelen door het indrukkken van CTRL-A CTRL-N.

Druk op CTRL-A CTRL-D om het screenprogramma los te koppelen. Screen en je servers draaien nog steeds, maar ze zijn in je terminalvenster niet langer zichtbaar. Je kunt nu uitloggen en de uitvoering van je processen zullen normaal verdergaan.

Gebruik screen -r om het voorgaande screenproces opnieuw te koppelen en weer toegang tot je servers te krijgen.

Dat is alles. Zie de screen(1) man page voor meer gedetailleerde informatie.

Hoe kan ik ervoor zorgen dat de muis het venser in X niet verlaat? ++

Vanuit het Quake II readme.linux bestand (dit geldt voor alle versies van Quake):

Standaard zal de muis niet worden `vastgebonden' aan het Quake2 venster. Om te zorgen dat Quake2 de muis afvangt, selecteer je 'Windowed Mouse' vanuit het videomenu of typt `_windowed_mouse 0' in de console. Doe het omgekeerde om het vrij te geven. Je kunt als volgt het afvangen en vrijgeven van de muis in de console aan toetsen verbinden: bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" Dan zal "i" de muis afvangen en "o" zal het vrijgeven.

Als ik Quake/Quakeworld/Quake II onder X draai, neemt de afbeeldingslechts het halve venster in beslag en/of de kleuren zien er allemaal raaruit. ++

De X-clients ondersteunen alleen kleurdiepten van 8 en 16 bits per pixel. Je X server draait waarschijnlijk op 24 of 32 bpp. Wijzig de standaardkleurdiepte in 16 bpp en dit probleem is verholpen.

Waar kan ik de broncode krijgen van Quake/QuakeWorld/Quake II zodat ik het voor PPC/Alpha/Gameboy/etc kan compileren? ++

De broncode voor de Quake engines is het gepatenteerde eigendom van id Software. Ondanks dat er een goede kans is dat id de source van Quake eventueel zal vrijgeven zoals ze met Worfenstein 3-D en Doom deden, hebben ze dit nog niet gedaan. Ik heb de bron niet van Quake, hoe aardig je me dit ook vraagt.

5.2 Quake/QuakeWorld

Quake sterft tijdens het opstarten af met een segmentation fault.

Dit betekent gewoonlijk dat je netwerksetup niet goed is. Probeer quake met de optie -noudp op te starten en kijk of de fout dan weggaat. Als dat het herstelt, kijk dan je bestand /etc/hosts na en verifieer of daarin de gegevens voor je machine in staat. Gebruik 127.0.0.1 voor je IP-adres als je een dialup-account hebt die iedere keer als je een verbinding maakt, je verschillende adressen geeft.

Wat is het verschil tussen glqwcl, glqwcl.3dfxgl, en glqwcl.glx?

Als ik glqwcl.glx schermvullend vanuit X draai, kan ik mijnmuis of toetsenbord niet gebruiken.

Draai glqwcl.glx met de optie +_windowed_mouse 1 GLX Quakeworld draait in een venster, ook al lijkt het je gehele scherm in beslag te nemen. Als je de muis verplaatst terwijl je windowmanager zich in de focus-follows-mouse mode bevindt, is het zeer waarschijnlijk dat je de aanwijzer buiten dit venster verplaatst, en dan zal Quake niet meer reageren op muis- en toetsenbordinvoer. +_windowed_mouse 1 zorgt ervoor dat Quakeworld exclusief de muis naar zich toehaalt.

5.3 Quake II

Als ik Quake II met de GL-renderer probeer te draaien, mislukt dit engeeft het de melding "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"

Als onmiddellijk voorgaande aan "Unable to resolve symbol" regel je meldingen krijgt zoals "can't resolve symbol 'fxMesaCreateContext'", is er geen ondersteuning voor glide in de Mesa-library gecompileerd. Zie de De GL-renderer in de Quake II installatie-sectie voor informatie over het installeren van Mesa en glide.

Quake II mislukt met de melding LoadLibrary("ref_XXX.so") failed: No such file or directory

Als ik de helderheid bijwerk terwijl ik gebruik maak van de GL-renderer,en op "apply" klik, gebeurt er niets!

Tik in de console vid_restart om de wijzigingen te activeren.

Opmerking over de 3.17 distributie

Tijdens dit schrijven is de recentste Quake II versie 3.20. Als je om wat voor reden dan ook in plaats daarvan versie 3.17 draait, zou de volgende informatie behulpzaam voor je kunnen zijn.

Twee tekstbestanden (quake2.conf en fixperms.sh) in de 3.17 distributie werden onbewust in het MS-DOS CR/LF tekst-bestandsformaat opgeslagen, in plaats van in het unix LF formaat. Dit betekent dat er aan het einde van iedere regel een extra carriage return teken in deze bestanden staat en ze niet goed zullen functioneren totdat je het hersteld.

We zullen ze door tr(1) halen om ze te ontdoen van de CR's.

for i in fixperms.sh quake2.conf
do
mv $i $i.bak
tr -d '\r' < $i.bak > $i
done

Als ik Quake II met +set vid_ref glx schermvullend vanuit Xdraai, kan ik mijn muis of toetsenbord niet gebruiken.

Draai GLX quake2 met de +set _windowed_mouse 1 optie. GLX Quake2 draait in een venster, zelfs al lijkt het het hele scherm in beslag te nemen. Als je de muis beweegt op het moment dat de WM zich in de focus-follows-mouse mode bevindt, zul je de aanwijzer naar alle waarschijnlijkheid buiten dit venster verplaatsen en dan zal Quake II niet meer reageren op muis- en toetsenbordinvoer. +set _windowed_mouse 1 zorgt dat Quak II de muis exclusief afvangt.

Waarom kan ik niet naar een aantal van de SVGA modes overschakelendie in het Quake II Videomenu staan?

SVGAlib weet waarschijnlijk niet hoe het de modes op je kaart aan moet maken. Als Quake II opstart met de SVGA renderer (ref_soft.so), drukt het een lijst af van alle modes waarvan SVGAlib zegt dat ze beschikbaar zijn:

------- Loading ref_soft.so -------
Using RIVA 128 driver, 4096KB.
mode 320: 200 1075253220
mode 320: 240 1075253220
mode 320: 400 1075253220
mode 360: 480 1075253220
mode 640: 480 1075253220
mode 800: 600 1075253220
mode 1024: 768 1075253220
mode 1280: 1024 1075253220
Dit zijn de enige modes waarnaar je succesvol zult kunnen overschakelen vanuit het Videomenu. Als laten we zeggen, 512x384 niet in de lijst staat, zal het selecteren ervan vanuit het Videomenu niet werken.

SVGAlib laat je voor een aantal chipsets nieuwe video-modes definiëren in libvga.config, dus het kan zijn dat je je eigen video-modes op deze manier kunt aanmaken. Zie de SVGAlib-documentatie voor meer details over dit onderwerp.

Als ik verbinding probeer te maken met een Quake II server die eenaanpassing draait, crasht quake2 met de melding "Error: VID: Could not open display". **

Volgens Zoid komt dit probleem voor als het videosysteem herstart door een wijziging van de spellendir. Verscheidene libraries worden tijdens de herstart opnieuw geladen en dit veroorzaakt blijkbaar dat quake2 op vele systemen brokken maakt.

De werkbare oplossing is om de game CVAR op de commando-regel in te stellen, voordat je quake2 opstart. Dus als je een verbinding maakt met een CTF server, start je quake2 als volgt op:

./quake2 +set game ctf ...
Dit kan lastig lijken als je bent gewend om een verbinding tot stand te brengen met nieuwe servers zonder het quake2 programma te verlaten, maar helaas is het op dit moment de enige manier om met dit probleem om te gaan. Een front-end programma zoals XQF zal deze commando-regel zaken automatisch voor je doen, dus je zou eigenlijk moeten overwegen om er één te gebruiken als je dat op het moment nog niet doet.
Verder Terug Inhoud