Linux Quake HOWTO: Problèmes/FAQs
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é:
- 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:
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.
- 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:
Si vous obtenez quelque chose comme
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
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.
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:
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.shtml 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:
Maintenant ouvrez une nouvelle fenêtre écran par CTRL-A CTRL-C et lancez un
serveur Quake II:
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.
Quand je lance Quake II en plein écran avec +set vid_ref glx depuis 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:
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.
[22 février 2002, JDNet]
|