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
\
" 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
"\
".
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
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:
/usr/i486-linux-libc5/lib
.$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 $*
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.
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.
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
.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
/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é.
/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.
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?
ref_gl.so
, avez-vous installé
les librairies glide?
Tapez vid_restart
sur la console pour que les changements prennent
effet.
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
+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.
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.