4. XFree86 et vous

Si vous avez l'intention de jouer sous X, il est primordial que vous le connaissiez quelque peu. Le « Guide pratique de l'utilisateur de X Window » (XWindow-User-HOWTO), et en particulier man XF86Config constituent des lectures requises. N'essayez pas d'y échapper : lisez-les. Elles ont un très bon rapport signal/bruit. Beaucoup de problèmes peuvent être résolus facilement si vous savez vous y retrouver dans XF86Config (ou XF86Config-4).

4.1. Recueillir des informations sur votre système X

Que vous essayiez de diagnostiquer un problème X ou que vous requerriez de l'aide sur une liste de diffusion ou un groupe de discussion Usenet, vous devrez disposer d'un maximum d'informations. Voici quelques outils qui peuvent vous y aider :

4.1.1. probeonly

La sortie de probeonly constitue l'un des meilleurs outils de diagnostic et l'une des meilleures sources d'informations sur votre système. Pour l'utiliser, arrêtez X le cas échéant et tapez depuis une console :

    X -probeonly 2> X.out
          

La sortie de X va sur stderr, et il faut donc rediriger stderr avec « 2> » dans un fichier nommé X.out. Ce fichier contiendra tout ce qu'il y a à savoir sur votre système X. Il est crucial que vous connaissiez la différence entre les différentes marques que vous pourrez rencontrer dans la sortie de probeonly :

    (--) probed              (**) from config file    (==) default setting
    (++) from command line   (!!) notice              (II) informational
    (WW) warning             (EE) error               (??) unknown.
          

Voici un exemple de quelques informations que j'ai pu glaner :

J'utilise des couleurs 16 bits :

    (**) TDFX(0): Depth 16, (--) framebuffer bpp 16
          

X a détecté que la puce et la mémoire RAM de ma carte vidéo sont :

    (--) Chipset 3dfx Voodoo5 found
    (--) TDFX(0): VideoRAM: 32768 kByte Mapping 65536 kByte
          

4.1.2. Obtenir des informations sur votre configuration : xvidtune

xvidtune est votre ami si votre écran X est un peu trop décalé sur la droite, ou si la hauteur est trop réduite pour remplir votre écran. Néanmoins, c'est également un très bon outil de diagnostic. Il affiche :

  • l'intervalle hsync/vsync (valeurs de synchronisation horizontale et verticale respectivement) spécifié dans votre fichier XF86Config.

  • les 4 nombres horizontaux et les 4 nombres verticaux qui définissent votre mode vidéo (le premier couple horizontal/vertical indique la résolution de l'écran). Ces 8 nombres vous indiqueront quelle ligne de mode (modeline) votre X utilise. Voyez le « Guide pratique de configuration vidéo de XFree86 » (XFree86-Video-Timings-HOWTO) pour plus d'informations. Notez que des spécifications explicites ne sont plus nécessaires, car XFree 4.0.1 (et les versions ultérieures) les calcule automatiquement à partir des possibilités de votre moniteur et de votre carte vidéo. Néanmoins, c'est parfois utile en cas de matériel exotique ou si vous voulez un peu bidouiller votre affichage.

  • La « fréquence d'horloge » à laquelle tourne votre carte vidéo.

4.1.3. Obtenir des informations sur votre configuration : xwininfo

xwininfo vous indique toutes sortes d'informations sur les fenêtres X. L'arrière-plan est également assimilé à une fenêtre. Ainsi, quand il vous demande de cliquer sur la fenêtre pour laquelle vous désirez des informations, cliquez sur votre arrière-plan. Il vous indique entre autres la résolution de l'écran et de la fenêtre, le nombre de couleurs (NdT : plus précisément, le nombre de bits utilisés pour les représenter), l'état de gravité de la fenêtre (qui donne une indication au gestionnaire de fenêtres sur l'endroit où placer les nouvelles fenêtres) et l'utilisation du cache d'affichage (backing store).

4.1.4. Autres sources d'information

xdpyinfo vous donne des informations intéressantes, comme la version de X et les extensions chargées (inestimable quand vous essayez de voir ce qui manque, comme GLX, DRI, XFree86-VidMode, et cætera).

4.1.5. Obtenir des informations sur votre système 3D

glxinfo donne des tas d'informations utiles sur OpenGL comme l'utilisation ou non du rendu direct, les versions de glx et mesa actuellement installées, les chaînes de vendeur/moteur de rendu, les fichiers de bibliothèque GL utilisés, et cætera.

4.2. Jouer à des jeux sous X sans gestionnaire de fenêtres

Quand vous jouez à un jeu sous X, vous devriez envisager de ne pas utiliser de gestionnaire de fenêtres. Des « poids lourds » comme enlightenment produiront un ralentissement perceptible ; même des plus légers comme twm vous volent des cycles processeur (et dans le cas de twm, même les jeux plein écran auront un cadre autour de leur fenêtre). Pour exécuter un jeu sans gestionnaire de fenêtres, modifiez .xinitrc dans votre répertoire personnel. Voici à quoi ressemble mon .xinitrc :

        #quake3 +set r_gldriver libGR.so.1
        #exec ut
        #lsdldoom -server 2
        #exec tribes2
        exec /usr/bin/enlightenment
      

Vous y remarquerez généralement un gestionnaire de fenêtres et/ou de bureau (GNOME ou KDE). Commentez les lignes contenant un gestionnaire de fenêtres et/ou de bureau avec un signe dièse (#) et placez votre jeu sur une nouvelle ligne accompagné des arguments de ligne de commandes éventuels. Si votre jeu n'est pas situé dans votre $PATH, donnez le nom de chemin complet. Notez que ceci ne s'applique qu'aux personnes utilisant startx pour démarrer X.

Je n'utilise jamais des choses comme gdm ou le niveau d'exécution 5 (je ne suis donc pas sûr de mon fait), mais je suspecte que si vous le faites, vous devrez agir un peu différemment. Ma recommandation est d'aller en mode mono-utilisateur (niveau d'exécution 1) avec :

    # telinit 1
    

ensuite d'éditer .xinitrc, et de revenir au niveau 5 avec

      # telinit 5
      

Ensuite, quand vous arrêtez de jouer, allez au niveau 1, modifiez .xinitrc et revenez au niveau 5. Je n'ai jamais expérimenté cela, et je ne peut donc pas me prononcer avec certitude, mais vous pourriez devoir tuer gdm. J'apprécierai du retour à ce sujet.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:17