Journal Mach 64 et DRI

Posté par  .
Étiquettes :
0
22
juil.
2003
Bonsoir ami (lecteur de ce) journal !

Aujourd'hui est un grand jour !

De longues heures de travail difficile, de recherches infructeuses et d'exercice de self-control ont enfin abouti à la récompense ultime.
Les traductions hasardeuses de documents obscurs alternées de manipulations dangereuses et erratiques ont désormais trouvé une justification.

Et oui, je suis enfin parvenu à faire fonctionner ce fameux et jusqu'à lors inaccessible DRI avec mon ATI Rage Mobility p (mach 64). Je me sens si heureux et soulagé que je ne résiste pas à l'envie de mettre une copie d'écran afin de prouver mes dires :

$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
[...]

Finies les vidéos en noir et blanc avec xine, les problèmes avec mplayer ! Enfin j'ai pu découvrir et jouer à tuxracer, lancer des économiseurs d'écrans en 3D !

Je ne poste pas ce journal uniquement pour crier ma joie, mais souhaite plutôt garder une trace écrite des manipulations qui m'ont amené à cet heureux résultat. En effet, Même si la mach64 est maintenant assez vieille, sont support (correct) sous Xfree plutôt jeune, et le pilote est toujours en cours de développement. De plus, je n'ai trouvé aucune base d'information en français, ni de doc unifiée en anglais sur le net (je crois même avoir décelé quelques facheuses incohérences trompeuses sur certains sites).

Tout d'abord, je tiens à signaler que j'ai effectué un grand nombre de manipulations et de tests sur une durée assez importante pour réussir, et qu'il est donc possible que ma méthode soit imparfaite, incomplète, ou qu'elle comporte des infos inutiles.

Je me suis rendu en premier sur gatos.sf.net, qui contient les drivers officiels pour les cartes ATI sous GNU/Linux/XFree-4. Les cartes mach64 sont marquées comme supportées, et il est même fait mention de la ATI Rage Mobility P.
La doc présente sur le site est pour le moins succinte, et étant donné que je n'ai pas compris grand chose (disons que les infos ne sont pas très claires), je ne suis pas parvenu à faire fonctionner le DRI. Pour Xv, j'avais l'impression d'avoir réussi, mais en fait, les choses se sont empirées : certes, le YUV fonctionnait (le zoom de xine en vidéo plein écran se faisait enfin, par exemple), mais pleins d'autres problèmes sont apparus en même temps.

Bref, finalement, je suis retourné sur le site http://www.retinalburn.net/linux/dri_xv.html (page des pilotes ati avant qu'ils integrent le projet gatos je crois), page normalement obsolète, en espérant trouver quelque info utile, qui sait. Comme l'auteur de la page le dit lui-même, ses patchs ne sont plus utiles et il est conseillé d'aller sur la page de gatos.

Désespéré, je tente le coup quand même, et récupère les binaires pour Xfree 4.3.0. Je décompacte le tout, passe en root, tape "init 3", lance le script. Il compile les pilotes tout seul (et même, nouveauté, le pilote kernel), me demande de confirmer les répertoires d'installation, puis remplace mes pilotes.
Je repasse en init 5, et là, écran bleu vide (le fond de kdm), curseur sablier, et plus rien ne marche (sauf les souris) : aucun des raccourcris claviers que je connais me permet de récuperer la main.
Je reboote à l'harrache, ce coup-ci km se lance bien. Je me logge, et tente direct un "glxinfo" sans trop de conviction.
Bon, il me dit qu'il ne trouve pas le fichier libGL.so.1. Un locate m'indique que le fichier est bien à sa place dans /usr/X11/lib/. Je fais un ldconfig (bizarre quand même, ca fait une paye qu'il est là ce fichier) et relance glxfinfo : miracle ! je n'en crois pas mes yeux ! Un essai de tuxracer me confirme qu'il n'y a pas de doute.

Note, au fil du temps et de mes essais, je me suis retrouvé avec le /etc/X11/XF86Config-4 suivant (extrait bien sûr) :

[...]
Section "Module"
Load "GLcore"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer
load "dri"
EndSection

Section "DRI"
mode 0666
EndSection
[...]

Pour info, voici le résultat de quelques commandes :
# lsmod | grep agp
agpgart 40896 3
# lsmod | grep mach64
mach64 93344 18
# xvinfo
X-Video Extension version 2.2
screen #0
Adaptor #0: "ATI mach64 Video Overlay"
number of ports: 1
port base: 69
# less /var/log/XFree86.0.log | grep ati
Build Operating System: Linux 2.4.21-0.13mdksmp i686 [ELF]
(++) from command line, (!!) notice, (II) informational,
XFree86 ANSI C Emulation: 0.2
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo-MotionCompensation
(II) LoadModule: "ati"
(II) Loading /usr/X11R6/lib/modules/drivers/ati_drv.o
(II) Module ati: vendor="The XFree86 Project"
(II) ATI: ATI driver (version 6.4.18) for chipsets: ati, ativga
(II) Loading sub module "atimisc"
(II) LoadModule: "atimisc"
(II) Loading /usr/X11R6/lib/modules/drivers/atimisc_drv.o
(II) Module atimisc: vendor="The XFree86 Project"
(==) ATI(0): Chipset: "ati".
(!!) ATI(0): For information on using the multimedia capabilities
(WW) ATI(0): Extraneous XF86Config HorizSync specification(s) ignored.
(WW) ATI(0): Extraneous XF86Config VertRefresh specification(s) ignored.
(**) ATI(0): Built-in mode "Native panel mode": 39.9 MHz, 48.9 kHz, 81.2 Hz
(II) ATI(0): Modeline "Native panel mode" 39.87 800 800 808 816 600 600 601 602
ABI class: XFree86 ANSI C Emulation, version 0.2
(II) ATI(0): Using XFree86 Acceleration Architecture (XAA)
(II) ATI(0): [DRI] installation complete

(à noter qu'il n'affiche pas "DRI enabled" contrairement à l'habitude)

Voilà, ca n'intéresse problablement presque personne, mais vu le mal que je me suis donné (et le temps) pour trouver ces bouts d'informations, et si ca peut servir à quelqu'un (surtout que dlfp est bien référencé dans google), autant les rendre publiques.
  • # merci

    Posté par  . Évalué à 1.

    je pense bientot essayer le DRI mach64 aussi
    • [^] # Re: merci

      Posté par  . Évalué à 1.

      Si tu as des problèmes, n'hésites surtout pas à me demander un peu d'aide.
      Vu le temps que j'ai passé dessus à décortiquer, regrouper et essayer de comprendre les diverses documentations et infos que j'ai trouvées, je crois commencer à comprendre le shmilblick, au moins un petit peu :)

      Peut être que ta propre expérience permettra d'affiner la procédure d'installation que j'ai indiquée là. Ca permettrait d'écrire une petite faq en français sur le sujet :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.