Page suivante - Page précédente - Table des matières

5. Problèmes/FAQs

5.1 Général

Considérations sur différents OS

  • Sensibilité à la Casse - Sous DOS et Windows, la casse n'est pas importante. BASE1.TXT est équivalent à base1.txt. Sous Linux et autres Unix, la casse A une signification. MOTD.TXT et motd.txt sont des fichiers différents. Cela peut poser problème avec des modèles de joueurs et des "skin files" s'ils sont installés avec des noms en majuscules ou mitigés minuscules/majuscules. players/male/santa.PCX doit être renommé santa.pcx pour être reconnu sous Linux. Le script fixskins.sh inclus avec quakeworld convertira tous les noms de fichiers d'un répertoire en minuscules. Il est reproduit ci-dessous pour votre commodité:
    #!/bin/sh
    for x in *; do
    y=`echo $x | tr '[A-Z]' '[a-z]'`
    if [ $x != $y ]; then
    mv $x $y
    fi
    done
    

  • Délimiteurs de chemin ("Path") - DOS et Windows utilisent le caractère "anti-slash" \" pour séparer les éléments d'un chemin d'accès. Si vous utilisez des chemin d'accès dans vos fichiers de configuration (ou n'importe quoi d'autre), soyez certain d'utiliser "/" et non "\".
  • Caractères de fin de ligne - Sous DOS/Windows, chaque fin de ligne d'un fichier texte se termine par un retour de chariot (CR: carriage return) et un passage à la ligne suivante (LF: linefeed). Les fichiers texte Unix ont simplement un passage à la ligne suivante (LF) à la fin de chaque ligne. Utiliser des fichiers texte formatés DOS/Win sous Unix peut avoir pour conséquence toute sorte de problèmes mystérieux sous Unix. Un format incorrect du fichier quake2.conf du paquetage 3.17 de Quake2, par exemple, donne l'erreur "LoadLibrary("ref_XXX.so") failed: No such file or directory". Si vous avez un problème que vous ne pouvez expliquer, essayer de supprimer les retour de chariot de votre fichier texte:
    mv file.txt file.bak; tr -d '\r' < file.bak> file.txt
    

Considérations relatives à Glibc, RedHat 5.x et Debian 2 **

Ce qui suit s'applique uniquement aux binaires de Quake I (squake, glquake, et quake.x11). Depuis respectivement les versions 2.30 et 3.19, QuakeWorld and Quake II sont disponibles à la fois en version libc5 et glibc.

Les exécutables Quake ont été compilés avec libc5. Les distributions Linux les plus récentes, comme RedHat 5.1 et Debian 2.0 utilisent l'incompatible glibc comme librairie par défaut. Si vous exécutez Quake sur un sytème glibc, vous devez vérifier plusieurs choses:

  • RedHat 5 et Debian 2 ont les paquetages de compatibilité libc5 qui vous permettent de lancer des applications basées sur libc5. Soyez certain que vous avez ces paquetages installés. Les deux distributions placent les librairies libc5 sous /usr/i486-linux-libc5/lib.
  • Soyez certain que Quake utilise les librairies correctes. Créez un script similaire à celui-ci qui fait pointer $LD_LIBRARY_PATH sur votre répertoire contenant les librairies de compatibilité avant de lancer Quake.
     #!/bin/sh
     export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
     ./quake2 +set vid_ref gl $*
    

  • Si vous allez compiler une librairie comme SVGAlib ou Mesa pour l'utiliser avec Quake, elle doit être compilée avec libc5. Construire simplement une nouvelle librairie en suivant les instructions d'installation inclues conduira à créer une librairie liée à votre librairie par défaut, glibc. Vous devez vous assurer que votre nouvelle librairie est liée uniquement à libc5 et aux librairies basées sur libc5 pour être compatible avec Quake. Reportez-vous à la documentation de votre distribution pour toute information concernant les liens sur une librairie n'étant pas celle par défaut.

Ma souris ne fonctionne pas ou semble répondre aléatoirement.

  • gpm est-il lancé? gpm est un programme qui active le copier/coller avec la souris sur des consoles virtuelles. Beaucoup de distributions l'activent par défaut. Cela peut interférer avec Quake. Vérifiez si gpm est activé avec la commande suivante:
     ps aux | grep gpm
    
    Si vous obtenez quelque chose comme
     root   6115 0.0 0.4  832  316 ? S  17:54  0:00 gpm -t PS/2
    
    alors gpm est lancé et interfère avec Quake. gpm -k (en tant que root) devrait arrêter gpm. Si ce n'est pas le cas, (gpm -k ne marche pas toujours sur mon système), tuez gpm avec la commande killall gpm. Si vous n'utilisez jamais gpm, vous pouvez vouloir arrêter son lancement au démarrage. Voyez la documentation de votre distribution pour savoir comment faire.
  • Est-ce que votre souris est correctement définie dans libvga.config? Ce fichier se trouve habituellement dans /etc ou /etc/vga. Ouvrez-le et recherchez une ligne de ce genre
     mouse Microsoft
    
    Sur mon système, c'est la première option du fichier. Assurez-vous que le type de la souris est approprié à votre matériel.

Ma souris Microsoft Intellimouse ou Logitech MouseMan+ ne fonctionne pascorrectement.

SVGAlib, dans les versions antérieures à la 1.3.0, qui gère la souris pour Quake/QW/Q2 sous SVGA et GL, ne supporte pas directement l'Intellimouse. Si vous avez une version de SVGAlib antérieure à la 1.3.0, vous devrez la mettre à jour pour pouvoir utiliser une souris de type IntelliMouse (pour les souris série) ou IMPS2 (pour les souris PS/2) dans votre fichier de configurationlibvga.config.

Ma souris se traîne et semble beaucoup plus lente que sous Windows.

  • Pour beaucoup de personnes, le simple fait d'augmenter la valeur de la sensibilité dans le jeu solutionne le problème. Ce réglage se fait soit manuellement dans le menu Option, soit dans un fichier .cfg qui vous permet d'augmenter la sensibilité de la souris plus amplement que le réglage du menu Options. sensitivity 15, par exemple.
  • Extrait de la mise à jour Zoid du 1/7/98:
    Si vous constatez un retard de la vidéo sous l'interpréteur GL (le rafraîchissement semble traîner derrière les mouvements de votre souris) tapez "gl_finish 1" sur la console. Cela force le rafraîchissement sur la base d'une image.
  • La dernière version de SVGAlib (1.3.0) intègre un grand nombre de paramètres dans libvga.config que vous pouvez utiliser pour personnaliser le comportement de votre souris. Avec un paramètrage correct, il devrait être possible de faire réagir votre souris exactement comme vous le souhaitez. Sur mon système, le simple fait de définir mouse_accel_type en normal (la valeur par défaut étant power) me donne les résultats attendus. Je n'ai pas testé les autres paramètres, je ne m'avancerai donc pas sur le bénéfice qu'ils apportent.
  • Le petit "slider"

Je possède une carte Voodoo2 et, lorsque je tente une mise en route avecl'interpréteur gl, il m'affirme que je n'ai pas de carte Voodoo installée.

Il y a différentes versions de Glide pour cartes Voodoo et Voodoo 2. Soyez certain que vous téléchargez celle qui correspond à votre système.

Lorsque je joue à l'un des jeux Quake sous SVGAlib ou GL et que je presseCTRL-C, le jeu s'arrête et quelquefois me laisse la console dans un étatinutilisable.

Quelquefois lorsque Quake/Quake II se termine de façon anormale, il melaisse la console dans un état inutilisable.

Oui. Cela agace. SVGAlib intercepte le CTRL-C et décide ce qu'il y a à faire plutôt que de laisser cette responsabilité à Quake. Je ne connais pas de moyen de contourner ce problème.

Si vous lancez un jeu Quake depuis un script qui réinitialise le clavier et le terminal, comme ci-dessous, vous aurez moins de chances de vous retrouver avec un terminal bloqué, si cela doit arriver, bien sûr.


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

squake/quake2 refuse de démarrer et avertit "svgalib: cannot get I/Opermissions"

Les exécutables Quake doivent s'exécuter en tant que root, aussi vous devez les lancer en étant root ou les rendre 'setuid' root. Reportez-vous aux instructions d'installation de ce document pour plus de détails.

Quelquefois, après avoir joué à l'un des jeux Quake sous X, la répétitionde touches ne fonctionne plus.

Pour plusieurs raisons, les versions X11 de Quake désactivent les touches de répétition pendant leur exécution. Si le programme se termine anormalement pour une raison ou une autre, la répétition des touches ne sera pas réactivée. Faites:

 xset r on
pour la rétablir.

Quake/Quake II avertit "/dev/dsp : device not configured"

Votre matériel son n'est pas correctement configuré. Vous pouvez avoir simplement à faire un insmod sound, ou il peut être nécessaire de recompiler votre noyau. Les utilisateurs de RedHat peuvent appeler l'utilitaire sndconfig(8). Reportez-vous à la documentation de votre distribution Linux et/ou au SOUND-HOWTO Linux pour toute information sur la configuration de votre matériel son.

GL Quake/Quake II s'exécutent plus lentement sous Linux que sous Windows.**

Le miniport 3Dfx GL de Windows est largement optimisé pour les besoins de Quake II. Mesa, d'autre part, est plus général et moins optimisé. Il en résulte que Quake II Linux s'exécute plus lentement que sous Windows. Ce n'est pas lié à une limitation de Linux, mais à une limitation des drivers actuels.

Avec les plus récentes version de QuakeWorld et Quake II, le miniport 3Dfx mentionné ci-dessus est disponible pour Linux. Bien qu'il ne porte pas les performances de Quake Linux au niveau de celles de Quake Windows, c'est un pas supplémentaire dans cette direction.

De plus, pour les possesseurs de Pentium Pro et Pentium II, quelques gains peuvent être réalisés avec la mémoire cache - le dernier fichier de périphérique /dev/3dfx a un support intégrant un paramétrage automatique. De l'activation de MTRRs peut résulter une augmentation significative (10 fps sur mon système) de la vitesse de Quake GL. Reportez-vous à http://glide.xxedgexx.com/MTRR.html pour de plus amples informations.

Comment puis-je démarrer un serveur et me déconnecter, puis y revenirultérieurement? **

screen(1) est un remarquable utilitaire pour ce genre de chose. Il vous permet de créer plusieurs écrans virtuels dans un seul tty et de passer de l'un à l'autre. Screen est livré avec la plupart des distributions. Vous pouvez le télécharger sur ftp://prep.ai.mit.edu/pub/gnu ou n'importe quel miroir GNU.

Lancez screen en tapant la commande screen, puis créez une nouvelle fenêtre en pressant CTRL-A CTRL-C. Vous ne vous apercevrez de rien lorsque vous ferez cela, mais, rassurez-vous, quelque chose se passe.

Lancez un serveur Quakeworld:

/usr/local/games/quake/qwsv

Maintenant ouvrez une nouvelle fenêtre écran par CTRL-A CTRL-C et lancez un serveur Quake II:

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

Vous pouvez basculer d'un serveur à l'autre en pressant CTRL-A CTRL-N.

Appuyer sur CTRL-A CTRL-D pour vous détacher du programme screen. Screen et vos serveurs sont toujours en route, mais ne sont plus visibles dans la fenêtre de votre terminal. Vous pouvez maintenant vous déconnecter et vos processus continueront à s'exécuter normalement.

Utilisez screen -r pour vous rattacher à votre précédent processus screen et accéder de nouveau à vos serveurs.

C'est tout ce qu'il y a à faire. Reportez-vous à la page d'aide de screen(1) pour des informations plus détaillées.

5.2 Quake/QuakeWorld

Quake meurt au démarrage avec une "segmentation fault".

Ce signifie généralement que votre réseau n'est pas conforme. Essayez de lancer quake avec l'option -noudp et voyez si l'erreur se reproduit. Si cela résout le problème, inspectez votre fichier /etc/hosts et vérifiez qu'il comporte une entrée pour votre machine. Utilisez 127.0.0.1 pour votre adresse IP si vous avez une adresse IP assignée différente à chaque fois que vous vous connectez.

Quelle est la différence entre glqwcl, glqwcl.3dfxgl,et glqwcl.glx? ++

  • glqwcl est le client standard Quakeworld GL que vous avez vu dans la version précédente. Il est lié à libMesaGL.so.2.
  • glqwcl.3dfxgl est un script qui lance glqwcl après avoir préchargé la librairie du miniport 3Dfx GL, lib3dfxgl.so. Le préchargement de la librairie du miniport a pour conséquence l'utilisation des fonctions GL au lieu des fonctions Mesa. Depuis que le miniport GL est optimisé pour Quake, c'est préférable.
  • glqwcl.glx est lié à la librairie standard OpenGL au lieu de Mesa. Cela permet à glquake de s'exécuter sur d'autres matériels 3D supportés par d'autres implémentations OpenGL. C'est une application X et elle doit donc être lancée depuis X.

Quand je lance glqwcl.glx en plein écran depuis X, je ne peuxpas utiliser ma souris ou mon clavier. ++

Lancez glqwcl.glx avec l'option +_windowed_mouse 1. Quakeworld GLX s'exécute dans une fenêtre, même s'il semble être en plein écran. Si vous déplacez la souris pendant que WM est en mode "focus-follows-mouse", cela revient à placer votre pointeur en dehors de cette fenêtre, et Quake arrêtera de répondre aux sollicitations du clavier et de la souris. +_windowed_mouse 1 oblige Quakeworld à capturer la souris pour son propre et unique usage.

5.3 Quake II

Quand j'essaie de lancer Quake II avec l'interpréteur GL, cela ne marchepas et il s'affiche "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"

Si, juste avant la ligne "Unable to resolve symbol" vous avez un message du style "can't resolve symbol 'fxMesaCreateContext'", votre librairie Mesa n'a pas le support glide compilé. Reportez-vous à la section L'interpréteur GL de la section d'installation de Quake II pour toute information sur l'installation de Mesa et glide.

Quake II ne se lance pas avec le message LoadLibrary("ref_XXX.so")failed: No such file or directory

  • /etc/quake2.conf ne mentionne pas le chemin correct de votre répertoire Quake II. Ce fichier doit contenir une ligne correspondant au répertoire de Quake II.
  • Si /etc/quake2.conf contient le chemin correct, essayez de supprimer ce fichier et de le recréer manuellement. Quelques versions de Quake II pour Linux intègrent un fichier quake2.conf incorrectement formaté.
  • Avez-vous SVGAlib installée? Recherchez dans /lib, /usr/lib et /usr/local/lib un fichier appelé libvga.so.1.X.X, où les X peuvent être différents nombres. Si vous ne trouvez rien, vous devrez récupérer et installer SVGAlib pour exécuter Quake II hors de X.
  • Si l'interpréteur en question est ref_gl.so, Mesa peut ne pas être correctement installé. Avez-vous copié libMesaGL.so.2.6 dans le répertoire de la librairie comme le préconisent les instructions d'installation?
  • Si l'interpréteur en question est ref_gl.so, avez-vous installé les librairies glide?

Lorsque je modifie le contraste pendant l'utilisation de l'interpréteurGL, et que je presse "apply," rien ne se passe!

Tapez vid_restart sur la console pour que les changements prennent effet.

Note sur la distribution 3.17

Au jour de la réalisation de ce document, la plus récente version de Quake II est 3.19. Si, pour une raison ou une autre, vous avez la version 3.17, les informations suivantes peuvent vous aider.

Deux fichiers texte (quake2.conf et fixperms.sh) de la distribution 3.17 ont été par inadvertance enregistrés avec le format des fichiers texte MS-DOS CR/LF au lieu du format Unix LF. Ce qui signifie qu'il y a un caractère "retour chariot" supplémentaire à la fin de chaque ligne de ces fichiers et qu'ils ne seront pas exploitables tant qu'il vous ne les aurez pas corrigés.

Nous utiliserons tr(1) pour retirer les retours de chariot.

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

Quand je lance Quake II en plein écran avec +set vid_ref glxdepuis X, je ne peux pas utiliser ma souris ou mon clavier. ++

Lancez quake2 GLX avec l'option +set _windowed_mouse 1. Quake2 GLX s'exécute dans une fenêtre, même s'il semble être en plein écran. Si vous déplacez la souris pendant que WM est en mode "focus-follows-mouse", cela revient à placer votre pointeur en dehors de cette fenêtre, et Quake II arrêtera de répondre aux sollicitations du clavier et de la souris. +set _windowed_mouse 1 oblige Quakeworld à capturer la souris pour son propre et unique usage.

Pourquoi ne puis-je pas utiliser certains modes SVGA présents dans lemenu Vidéo de Quake II? **

SVGAlib ne sait sans doute pas comment créer les modes sur votre carte. Lorsque Quake II s'exécute avec un interpréteur SVGA (ref_soft.so), il affiche une liste de tous les modes que SVGAlib lui indique disponibles:

------- 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
Ce sont les seuls modes sur lesquels vous pourrez basculer avec succès depuis le menu Video. Si par exemple 512x384 n'est pas dans la liste, la sélection de ce mode depuis le menu Vidéo ne sera pas possible.

SVGAlib vous permet de définir de nouveau modes video pour d'autres "chipsets" dans libvga.config, vous pouvez donc créer votre propre mode vidéo de cette façon. Reportez-vous à la documentation de SVGAlib pour plus de détails sur ce sujet.


Page suivante - Page précédente - Table des matières