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

6. Trucs et Astuces

6.1 Exécution de jeux X et GL sans setuid

Si vous exécutez uniquement les versions X et GL de Quake, QuakeWorld ou Quake II, vous n'aurez pas besoin de les lancer avec les permission root. SVGA est le seul mode qui requiert d'être lancé par root. Les versions X ont simplement besoin d'avoir accès à /dev/dsp, le fichier périphérique son. les versions GL ont de plus besoin d'avoir accès à la carte 3Dfx par /dev/dsp.

/dev/dsp doit être lisible et modifiable par Quake. La plupart des distributions définissent les permissions à 662 (rw-rw--w-) par défaut. La solution la plus simple est de faire un chmod 666 /dev/dsp. Sur la plupart des systèmes, la possibilité de lire depuis un fichier périphérique son ne pose pas de problème de sécurité majeur. Si cette approche n'est pas acceptable pour votre système, créez un groupe propriétaire de /dev/dsp et rendez les joueurs de Quake membre de ce groupe.

Vous aurez besoin du driver /dev/3dfx de la page glide de Daryll Strauss ( http://glide.xxedgexx.com/3DfxRPMS.html) pour lancer les anciennes applications glide (like GLQuake) sans être root. Téléchargez le paquetage Device3Dfx.xxx.rpm et installez-le en suivant les instructions de la page web. Après l'installation du driver, vérifiez que les permissions de /dev/3dfx sont à 666 (chmod 666 /dev/3dfx).

Lorsque /dev/dsp et /dev/3dfx seront correctement paramétrés, vous pourrez retirer le bit setuid de vos exécutables Quake/QW/Q2. Faites simplement (en tant que root) chmod 0755 XXXXX, où XXXXX représente glquake, quake.x11, ou quake2.

Si vous avez joué en tant que root avant de faire ces modifications, beaucoup de vos fichiers Quake (comme les sauvegardes) peuvent appartenir à root et être inaccessibles à un utilisateur normal, aussi souvenez-vous de modifier le propriétaire de ces fichiers avant de jouer en tant que simple utilisateur.

6.2 Lancement des jeux SVGA et GL depuis X **

Les clients Quakeworld et Quake II GLX sont des applications natives X, mais depuis qu'elles utilisent Mesa plutôt que le mini-driver 3Dfx, elles sont plus lentes que les versions lib3dfxgl.so. Pour cette raison, vous pouvez préférer encore lancer ces jeux depuis X plutôt que d'utiliser les clients GLX.

Ce qui suit est tiré de la Gazette LINUX n°20, "Truc" par Joey Hess ( joey@kite.ml.org). L'original de ce document se trouve sur http://www.ssc.com/lg/issue20/lg_tips20.html#squake

Oui, il est possible d'exécuter les jeux Quake depuis X en tant que root, mais cette option est inconvenante, et vous courez en plus le risque d'un plantage de Quake laissant la console sans réponse. Avec un peu de travail, vous pouvez donner la possibilité à un utilisateur normal de lancer Quake SVGA et GL depuis X ET de revenir automatiquement sous X lorsque le programme se termine, que son arrêt soit normal ou non.

Nota: lorsque je précise "Quake" dans le texte ci-dessus, je veux en fait dire "quake, glquake squake, qwcl, glqwcl, qwcl.x11 ou quake2".

6.3 Conserver la souris à l'intérieur de la fenêtre sous X

Extrait du fichier readme.linux Quake II:

Par défaut, la souris ne sera pas confinée dans la fenêtre de Quake2. Pour obliger Quake2 à capturer la souris, sélectionnez 'Windowed Mouse' sur le menu vidéo, ou tapez '_windowed_mouse 0' sur la console. Faites l'inverse pour la relâcher. Vous pouvez définir des raccourcis clavier pour capturer et relâcher la souris dans la console, de cette façon: bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" Alors "i" activera la capture de la souris et "o" la relâchera.

6.4 Le paramétrage "gonflant" 3Dfx fonctionne également sous Linux

Vous pouvez avoir vu ou entendu parler de certain moyens de "gonfler" les performances d'OpenGL pour Quake par un paramètrage spécial des variables d'environnement. Ces variables sont également valides sous Linux. Vous les définissez simplement de façon légèrement différente. Si un guide "gonflant" pour Windows/DOS vous indique de faire:

   SET SST_GRXCLK=59
   

Sous Linux, réalisez-le de cette manière:

   export SST_GRXCLK=59
   

6.5 Le navigateur de serveur du pauvre

Joe S. ( jszabo@eden.rutgers.edu) suggère:

Une astuce que j'utilise avec qstat:
Je créer un fichier de mes serveurs favoris, puis je fais:
qstat -f /C/quake2/file.txt | less

Je presse Ctrl z pour arrêter, puis je copie l'adresse IP ou le nom de l'hôte avec gpm dans une ligne de commande du genre:

   ./quake2 +connect expert.eqclans.com
   
Alors je peux utiliser fg (Ndt: "fg" pour "foreground", commande shell qui a pour effet de remettre un programme au premier plan) pour revenir sur ma liste ultérieurement...

6.6 Utilisation de lib3dfxgl.so pour Quake I **

Vous pouvez utiliser le mini-driver 3Dfx (lib3dfxgl.so) de Quakeworld ou Quake II avec glquake également. Copiez simplement le script glqwcl.3dfxgl ou quake2.3dfxgldans un nouveau fichier, appelé glquake.3dfxgl. Editez alors le script glquake.3dfxgl pour qu'il lance glquake au lieu de glqwcl. Les mêmes restrictions sur l'exécution en tant que root s'appliquent ici, de même que les différences entre une exécution sous glibc et libc5.Voyez les section Quakeworld ou Quake II pour de plus amples informations sur lib3dfxgl.so.


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