Nästa Föregående Innehållsförteckning

5. Felsökning/Vanliga Frågor

5.1 Allmänt

Skillnader mellan Operativ System

Glibc, RedHat 5.x, Debian 2 överväganden **

Följande gäller endast Quake I binärerna (squake, glquake och quake.x11). Från och med version 2.30 respektive 3.19, finns QuakeWorld och Quake II tillgängliga i både libc5 och glibc versioner.

Quake binärerna kompilerades med libc5. Nyare Linux distributioner som RedHat 5.x och Debian 2.0 använder det inkompatibla glibc som förvalt C bibliotek. Om du kör Quake på ett glibc system är det ett par saker du måste tänka på:

Min mus verkar inte fungera eller svarar slumpmässigt

Min Microsoft Intellimouse eller Logitech MouseMan+ fungerar inte korrekt.

SVGAlib, som hanterar mus input för SVGA och GL Quake/QW/Q2, hade inte stöd för Intellimouse förrän version 1.3.0. Om du har en äldre version av SVGAlib än 1.3.0, bör du uppgradera, använd sedan mustypen IntelliMouse (för seriella möss) eller IMPS2 (för PS/2 möss) i din libvga.config fil.

Min mus "laggar" och verkar mycket slöare än under Windows.

Jag har ett Voodoo2, när jag försöker köra gl redndreraren, rapporterar den att jag inte har något Voodoo kort installerat.

Det är olika versioner av Glide för Voodoo repektive Voodoo2 kort. Se till att du använder den korrekta för ditt system.

När jag spelar något av Quake spelen under SVGAlib eller GL och trycker CTRL-C, avslutas spelet och ibland lämnas min konsol oanvändbar.

Ibland när Quake/Quake II avslutas onaturligt, lämnas min konsol oanvändbar.

Jepp. Detta suger. SVGAlib fångar CTRL-C och avgör vad som ska göras istället för att låta Quake hatera det. Jag vet inte någon väg runt detta förutom att hacka SVGAlib.

Om du kör dina Quake spel från ett script som återställer ditt tangentbord och terminal, som skriptet nedan, är dock risken mindre att du får en oanvändbar terminal om Quake skulle krascha.


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

squake/quake2 startar inte och säger "svgalib: cannot get I/O permissions"

Quake måste köras som root, så du måste antingen starta det som root eller göra Quake binärerna setuid root. Se installations instruktionerna i detta dokument för detaljer.

Ibland slutar tangentrepetitionen i X att fungera efter att något av Quake spelen körts i X.

Av någon anledning, stänger X11 versionerna av Quake av tangentrepetition under tiden de körs. Om programmet av någon anledning avslutas abrupt, kommer tangentrepetitionen inte sättas på igen. Ge:

     xset r on
     
För att sätta på repetitionen.

Quake/Quake II säger "/dev/dsp : device not configured"

Din ljudhårvara är inte korrekt konfigurerad. Du kanske bara behöver ge ett insmod sound, eller så behöver du kanske bygga om kärnan. RedHat användare kan behöva använda sndconfig(8) verktyget. Se dokumentationen för din Linux distribution och/eller Linux Sound HOWTO för information om att konfigurera ditt systems ljud hårdvara.

GL Quake/Quake II är långsammare i Linux än i Windows. **

Windows 3Dfx GL miniport är kraftigt optimerad för de saker Quake II gör. Mesa däremot, är mera generellt och mindre optimerat. Resultatet blir att Linux Quake II blir långsammare än under Windows. Detta är inte en begränsning i Linux, utan en begränsning i nuvarande drivrutiner.

Till de senaste versionerna av QuakeWorld och Quake II, finns 3Dfx miniport som nämns ovan tillgängligt för Linux. Även fast det inte lyfter upp Quake till Windowsversionernas prestanda, är det ändå ett steg i den riktningen.

Pentium Pro och Pentium II användare kan tillämpa ett par trick med minnes buffring - den senaste /dev/3dfx drivrutinen har stöd för att automatiskt ställa in det här åt dig. Att möjliggöra MTRR kan resultera i betydliga (10 fps på mitt system) GL Quake uppsnabbningar. Se http://glide.xxedgexx.com/MTRR.html för mera detaljerad information.

Hur gör jag för att starta en server, logga av, och återkomma till den senare? **

screen(1) är ett bra hjälpmedel för detta. Det låter dig skapa många virtuella skärmar på en tty och växla mellan dessa. Screen följer med många distributioner. Du kan ladda ner det från: ftp://prep.ai.mit.edu/pub/gnu eller någon GNU mirror ( ftp://ftp.sunet.se/pub/gnu).

Starta screen genom att ge kommandot screen, skapa sedan en ny skärm genom att trycka CTRL-A CTRL-C. Du kommer inte att märka mycket när du trycker men, jag försäkrar, något händer.

Starta a Quakeworld server:

     /usr/local/games/quake/qwsv 
     

Öppna nu ett nytt screen fönster med CTRL-A CTRL-C och starta en Quake II server:

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

Nu kan du växla fram och tillbaka mellan servrarna genom att trycka CTRL-A CTRL-N.

Tryck CTRL-A CTRL-D för att koppla loss från screen programmet. Screen och dina servrar körs fortfarande med de syns inte längre i ditt terminal fönster. Nu kan du logga av och dina processer kommer ändå att fortsätta köras normalt.

Använd screen -r för att återkoppla till din screen process igen och få tillgång till dina servrar.

Det var allt. Se man sidan för screen(1) för mer detaljerad information.

5.2 Quake/QuakeWorld

Quake dör med ett segmentation fault när det startas.

Det här brukar betyda att ditt nätverk inte är ordentligt konfigurerat. Försök att starta quake med -noudp valet och se om felet försvinner. Om det fixar det, undersök din /etc/hosts fil och se till att det finns en rad för din egen maskin där. Använd 127.0.0.1 för din IP adress om du har en uppringd förbindelse som ger dig olika adresser varje gång du ansluter.

Vad är skillnaden bellan glqwcl, glqwcl.3dfxgl, och glqwcl.glx? ++

När jag kör glqwcl.glx i fullskärm från X, kan jag inte använda musen eller tangentbordet ++

Kör glqwcl.glx med +_windowed_mouse 1 valet. GLX Quakeworld körs i ett fönster, även om det ser ut som det tar upp hela skärmen. Om du flyttar musen medan fönserhanteraren är i fokus-följer-musen läge, kommer du antagligen att flytta musen utanför detta fönster, och Quake kommer att sluta svara på mus och tangentbords indata. +_windowed_mouse 1 får Quakeworld att fånga musen.

5.3 Quake II

När jag försöker köra Quake II med GL renderaren, misslyckas det med meddelandet "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"

Om du omedelbart före "Unable to resolve symbol" raden har ett meddelande i stil med "can't resolve symbol 'fxMesaCreateContext'", så har inte ditt Mesa bibliotek glide support inkompilerat. Se sektion GL renderaren i installationssektionen för Quake II för installations information om Mesa och glide.

start av Quake II ger felmeddelandet LoadLibrary("ref_XXX.so") failed: No such file or directory

När jag ändrar brightness under GL renderaren, och trycker på "apply", händer det ingenting.

Skriv vid_restart i konsolen för att låta ändringarna träda i kraft.

Anmärkning på 3.17 distributionen

I skrivande stund, är den senaste Quake II versionen 3.19. Om du av någon anledning kör version 3.17 istället, kan följande information vara av intresse för dig.

Två text filer (quake2.conf och fixperms.sh) i 3.17 distributionen sparades av misstag i MS-DOS CR/LF text-fil format istället för unix LF format. Detta innebär att det är en extra vagnretur vid slutet av varje rad i dessa filer och de kommer inte att fungera som de ska förrän du fixar dem.

Vi kör dem genom tr(1) för att ta bort alla vagnreturer:

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

När jag hör Quake II med +set vid_ref glx i fullskärmsläge från X, kan jag inte använda musen eller tangentbordet. ++

Kör GLX quake2 med +set _windowed_mouse 1 valet. GLX Quake2 körs i ett fönster, även om det verkar som om det tar upp hela skärmen. Om du rör musen medan fönsterhanteraren är i följa-musen-läge, kommer du antagligen att flytta musen utanför fönstret, och Quake II kommer att sluta reagera på mus och tangentbords indata. +set _windowed_mouse 1 får Quake II att exklusivt ta hand om musen.

Varför kan jag inte ändra en del av SVGA lägena som finns i Quake II Video menyn? **

SVGAlib vet antagligen inte hur det ska skapa dessa lägen med ditt grafikkort. När Quake II startar med SVGA renreraren (ref_soft.so), skriver den ut en lista på alla lägen som SVGAlib säger finns tillgängliga:

     ------- 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
     
Dessa är de enda lägen som du framgångsrikt kommer att kunna växla mellan från Video menyn. Om t.ex., 512*384 inte finns i listan, kommer det inte gå att välja det läget från Video menyn.

SVGAlib låter dig definiera nya lägen för vissa chipsets i libvga.config, om du har tur kan du skapa dina egna video lägen på detta sätt. Se dokumentationen för SVGAlib för detaljer.


Nästa Föregående Innehållsförteckning