Installation driver ATI [long]

Bonjour à tous,

Ma découverte de Linux se poursuit sous Debian 3.1. Après 20 ans de DOS/Windows, ce n’est pas toujours évident, évident …
Mon dernier souci en date consiste à activer l’accelération 3D sur ma carte graphique. Il s’agit d’une ATI Radeon 9250. Une recherche sur internet montre que je ne suis pas le seul à avoir ce genre de problème, et qu’il y a un multitude de solutions, étrangement assez différentes les unes des autres. J’en ai essayée plusieurs, sans succès. J’arrive à installer les drivers propriétaire ATI mais je n’ai pas la 3D.
Pour repartir sur quelque chose de simple, j’ai décider de retenir une seule méthode et de m’acharner dessus jusqu’à ce que j’y arrive. Je suis donc parti de l’excellent tuto de Ceric35 à :

lea-linux.org/cached/index/Hardw … rxrpm.html

Alors c’est parti :

Version de noyau : 2.4.27-2-386
Version de Xfree : 4.3.99.12

Installation des sources du noyeau : OK à partir du DVD d’installation Debian 3.1
Téléchargement des pilotes fglrx*.rpm d’ATI : OK
Conversion RPM --> DEB avec alien : OK
Installation du Deb : OK, mais pas de génération du fichier fglrx.ko. Le cas est prévu par Ceric35, il faut compiler :

cd /lib/modules/fglrx/build_mod : OK

sh make.sh : Aïe ! ça plante !

J’ai plein de warnings et quelques erreurs que je ne sais pas interpréter, et le module n’est pas compilé. Je suis bloqué. Quelqu’un pourrait t’il me conseiller pour sortir de ce mauvais pas ?
J’ai mis le log ci-après (désolé c’est un peu long)

A bientôt

Pierre Brial

ATI module generator V 2.0

initializing…
cleaning…
patching ‘highmem.h’…
probing for VMA API version…
doing script based build for kernel 2.4.x and similar
./make.sh: line 867: [: -ge: unary operator expected
compiling ‘./agpgart_be.c’…
In file included from /usr/src/linux/include/linux/spinlock.h:6,
from /usr/src/linux/include/linux/module.h:12,
from agpgart_be.c:105:
/usr/src/linux/include/asm/system.h: Dans la fonction « __set_64bit_var »:
/usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules
/usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules
Dans le fichier inclus à partir de agpgart_be.c:137:
agp.h:92:1: attention : « pci_for_each_dev » redéfini
Dans le fichier inclus à partir de agpgart_be.c:114:
/usr/src/linux/include/linux/pci.h:556:1: attention : ceci est la localisation d’une précédente définition
agpgart_be.c: Dans la fonction « agp_free_memory_phys_list »:
agpgart_be.c:420: attention : implicit declaration of function module_put' agpgart_be.c: Dans la fonction « __fgl_agp_allocate_memory_phys_list »: agpgart_be.c:454: attention : implicit declaration of function__module_get’
agpgart_be.c: Hors de toute fonction :
agpgart_be.c:6077: attention : ati_gart_base' defined but not used compiling './agp3.c'... In file included from /usr/src/linux/include/linux/spinlock.h:6, from /usr/src/linux/include/linux/module.h:12, from agp3.c:65: /usr/src/linux/include/asm/system.h: Dans la fonction « __set_64bit_var »: /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules Dans le fichier inclus à partir de agp3.c:73: agp.h:92:1: attention : « pci_for_each_dev » redéfini Dans le fichier inclus à partir de agp3.c:66: /usr/src/linux/include/linux/pci.h:556:1: attention : ceci est la localisation d'une précédente définition compiling './i7505-agp.c'... In file included from /usr/src/linux/include/linux/spinlock.h:6, from /usr/src/linux/include/linux/module.h:12, from i7505-agp.c:37: /usr/src/linux/include/asm/system.h: Dans la fonction « __set_64bit_var »: /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules Dans le fichier inclus à partir de i7505-agp.c:44: agp.h:92:1: attention : « pci_for_each_dev » redéfini Dans le fichier inclus à partir de i7505-agp.c:38: /usr/src/linux/include/linux/pci.h:556:1: attention : ceci est la localisation d'une précédente définition compiling './nvidia-agp.c'... In file included from /usr/src/linux/include/linux/spinlock.h:6, from /usr/src/linux/include/linux/module.h:12, from nvidia-agp.c:14: /usr/src/linux/include/asm/system.h: Dans la fonction « __set_64bit_var »: /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules /usr/src/linux/include/asm/system.h:190: attention : dereferencing type-punned pointer will break strict-aliasing rules In file included from nvidia-agp.c:25: /usr/include/linux/gfp.h: Hors de toute fonction : /usr/include/linux/gfp.h:66: error: conflicting types for__alloc_pages’
/usr/src/linux/include/linux/mm.h:438: error: previous declaration of `__alloc_pages’
Dans le fichier inclus à partir de nvidia-agp.c:30:
agp.h:92:1: attention : « pci_for_each_dev » redéfini
Dans le fichier inclus à partir de nvidia-agp.c:15:
/usr/src/linux/include/linux/pci.h:556:1: attention : ceci est la localisation d’une précédente définition
compiling failed - object file was not generated

J’ai fait un petit tuto sur ce forum, peut-être que ça pourra t’aider.
forum.debian-fr.org/viewtopic.php?t=1761

Bonsoir,
je n’ai pas d’ATI, mais connais tu ce tuto?
forum.debian-fr.org/viewtopic.php?t=1761

edir: arf, trop rapide ce Damsss, 8) !

Merci pour les 2 réponses hyper rapides qui se complètent l’une et l’autre :wink:

J’ai bien essayé ton tuto, Damsss, mais le problème c’est que l’installeur ATI n’arrive pas chez moi à créer le module fglrx. C’est pour ça que je suis passé par la phase compilation, qui n’a pas marché non plus (ce qui est normal : l’installeur n’installe pas un module déjà tout fait, mais lance aussi la même compilation que celle que j’ai faite ensuite à la main).

Ca vous dis quelque chose, les message d’erreur de la compil ? Il semble qu’il y ai des problèmes sur les sources utilisés, non ?

Autre question : j’ai remarqué que pour linux on ne trouve jamais des modules déjà compilés qu’il suffirait d’installer dans le répertoire adéquat. Quelle en est la raison ?

A bientôt

Pierre

A priori, l’utilitaire d’Ati devrait marcher sans problèmes, vu que tu utilises Xfree et Debian Sarge. Vérifie dans le BIOS si tout les paramètres AGP sont correctes. Sinon, il sepeut que ta carte ne soit pas assez recente, mais pourtant le driver prend en charge les cartes à partir de la 8500. Il en existe même pour la 7000.
Peut-être qu’il existe des incompatibilités sur ton système, entre ton Kernel et le module fglrx. Il faudrait que tu fasses des tests avec un kernel plus récent.

Regarde peut-être du côté des versions de make, automake, gcc et voir si les versions que tu utilises sont compatibles avec la version des sources que tu essaies de compiler.

J’ai utilisé pour ma part

xoomer.virgilio.it/flavio.stanch … aller.html

ce qui n’a posé aucun pbm (je ne connaissais pas l’existence de ce site à ce moment)

Pour les pbms de compilation, quels sont les messages d’erreurs?

Ca y est, j’ai réussi. J’y ai passé la moitié de la nuit mais ça marche : j’ai le driver ATI installé et la 3D active. J’ai fait tellement d’essais que je n’ai pas pu noter exactement la bonne procédure. Mais en gros c’est ça :

Installation du Driver ATI

  • installation du Noyau 2.6.15.5

  • configuration avec :

    • Processor type and features

      • [*] MTRR (Memory Type Range Register) support
    • Loadable module support

      • [*] Enable loadable module support
      • [*] Kernel module loader support
    • Character devices

      • /dev/agpgart (AGP Support)
      • [*] NVIDIA chipset support
      • [ ] Direct Rendering Manager (XFree86 DRI support)
  • compilation du Noyau

  • création du driver avec l’installeur ATI fglrx-installer_8.18.8-1_i386.changes. Les fichiers du driver sont installés automatiquement dans /lib/modules/fglrx

  • création d’un nouveau XF86Config-4 avec fglrxconfig

  • startx : Erreur ! -> failed to load module fglrx

  • copie des fichier du driver de /lib/modules/fglrx dans /usr/X11R6/lib/modules/dri

  • startx : OK, mais pas de 3D. Le paneau de contrôle d’ATI mentionne « Brian Paul » au lieu d’ATI dans la section OpenGL

  • repérage du module parasite : il s’agit de /usr/X11R6/lib/modules/extensions/libglx.so. Celui-ci est renommé en libglx.so~ pour le désactiver.

  • nouveau startx : ça marche ! j’ai la 3D ! Yahouuu !