Forum Linux.debian/ubuntu Drivers NVidia et conflit avec le module agpgart

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
30
juil.
2006
Bonjour,

j'ai chargé le driver NVidia pour ma carte vidéo livré avec les packages debian.

J'ai configuré XOrg comme suit (/etc/X11/xorg.conf) :

Section "Device"
Identifier "NVIDIA Corporation NV34 [GeForce FX 5200]"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "NvAgp" "1"
Option "NoLogo" "1"
EndSection


Mais, j'ai le message suivant dans mon "dmesg" :
NVRM: not using NVAGP, an AGPGART backend is loaded!

J'ai donc essayé de blacklister le module agpgart au niveau de la configuration de modprobe, mais ça n'a pas marché.
Agpgart continue a se charger automatique au boot !!!

Savez-vous comment empêcher le système de charger automatiquement le module agpgart à l'initialisation de ce dernier ???



PS: je fais tout ça, car mes applications 3D rament à mort !!! En autre, Quake3.
  • # Complément d'infos...

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Pour info, j'utilise une Debian Etch à jour.

    Ma carte mère est une ASROCK KTVT4A Pro avec chipset VIA KT400A et un processeur AMD Duron 1300 MHz.

    Ma carte graphique est une ASUS V9520 Magic avec puce NVidia GeForce FX5200 et 128 MO.

    Mon noyau linux est un kernel-2.6.16-2-k7 fourni par les packets debian.

    Les drivers NVidia sont de la série 8762.
    • [^] # Re: Complément d'infos...

      Posté par  . Évalué à 2.

      T'as essayé de désactiver l'AGP (Option "NvAGP" "0") pour voir si le problème venait vraiment de agpgart ?
      • [^] # Re: Complément d'infos...

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Bonjour Frédéric,

        si je désactive l'option "NvAgp" "0", je reviens à ma configuration actuelle avec agpgart, puisque l'option "NvAgp" "1" interdit au serveur d'utiliser agpgart au profit du driver AGP de NVidia.

        Or dans mon cas, le driver AGP de NVidia ne se charge pas puisque agpgart est déjà chargé !!!

        Mon problème, c'est donc d'essayer le driver AGP de NVidia en désinstallant le module agpgart.
        Manque de pôt, un "rmmod agpgart" ne suffit pas car agpgart utilise le module via_agp qui reste utilisé par le système (mais je ne sais pas quel processus) et ne veut donc pas le désinstaller.
        • [^] # Re: Complément d'infos...

          Posté par  . Évalué à 1.

          juste une question. t'as verifie ta section module dans ton xorg.conf?
          tu as bien un load glx ?
        • [^] # Re: Complément d'infos...

          Posté par  . Évalué à 2.

          Ok, c'était juste pour vérifier que le problème ne venait pas de agpgart. Quand tu reviens à ta configuration initiale (sans support de l'AGP donc), est-ce que tes applications sont toujours lentes ? Si oui, ce n'est pas un problème d'AGP, Quake 3 devrait tourner correctement avec une Geforce 5200 sans support AGP.

          Tu peux vérifier si l'accélération matérielle est bien prise en compte en faisant un glxinfo | grep direct, ça devrait afficher : direct rendering: Yes

          Sinon, une solution bourrine temporaire consiste à renommer ton agpgart.ko (dans /lib/modules/2.6.16-2-k7) pour qu'il ne soit pas chargé au redémarrage suivant. Ça devrait peut-être permettre à X d'utiliser le driver AGP Nvidia. C'est ce que je faisais sous Sid quand il y avait un problème de chargement automatique de nvidiafb par le noyau.
          • [^] # Re: Complément d'infos...

            Posté par  (site web personnel, Mastodon) . Évalué à 1.

            Frédéric, excuses moi, mais tu avais raison.
            L'option "NvAgp" "0" permet bien de désactiver complétement le support AGP.

            J'ai essayé et ça ne change rien.
            Donc ce n'est pas un problème de driver AGP.

            Sinon, glxinfo | grep -i direct, affiche bien direct rendering: Yes.

            Par contre j'ai commenté les lignes suivantes dans mon /etc/X11/xorg.conf :

            #Section "DRI"
            # Mode 0666
            #EndSection

            Et ça a beaucoup amélioré les choses. L'animation est plus fluide, mais ça saccade toujours un peu.
            Normalement, cette section ne devrait pas avoir d'effet, puisque le module DRI n'est pas chargé. Là, je ne comprends pas...

            Cependant, n'y a-t-il pas une méthode "plus propre" pour empêcher le système de charger le module agpgart ???
            • [^] # Re: Complément d'infos...

              Posté par  . Évalué à 1.

              Par contre j'ai commenté les lignes suivantes dans mon /etc/X11/xorg.conf :

              Essaye aussi de commenter ça pour voir, ça n'est pas présent dans mon xorg.conf sur une Geforce 6200 :
              - BusID "PCI:1:0:0"
              - Option "NvAgp" "1"
              - Load "evdev"

              Cependant, n'y a-t-il pas une méthode "plus propre" pour empêcher le système de charger le module agpgart ???

              Normalement ça peut se faire via modconf (dans kernel/drivers/char/agp), mais ça ne fonctionnait pas pour nvidiafb chez moi. Ça marchera peut-être pour agpgart chez toi...
              • [^] # Re: Complément d'infos...

                Posté par  (site web personnel, Mastodon) . Évalué à 1.

                J'ai essayé de commenter :
                - BusID "PCI:1:0:0"
                - Option "NvAgp" "1"
                mais ça n'a rien changé.
                • [^] # Re: Complément d'infos...

                  Posté par  . Évalué à 1.

                  Pour résumer, que tu utilises agpgart ou pas, tes jeux/applications 3d sont lentes ? Le premier truc, ce serait quand même d'évaluer la lenteur en question.

                  Tu peux comparer tes résultats avec ceux que j'avais posté il y a quelques années pour la même carte :
                  http://linuxfr.org/comments/448923.html#448923

                  Sinon, le résultat des commandes suivantes permettra peut-être de voir s'il y a des problèmes :
                  - cat /proc/driver/nvidia/agp/status (pour voir si l'AGP est bien pris en compte)
                  - glxinfo | grep OpenGL (pour voir s'il n'y a pas de conflit avec Mesa)
                  - cat /proc/driver/nvidia/cards/0 (pour voir si la carte est bien reconnue)
                  - cat /var/log/Xorg.0.log (pour voir s'il y a des erreurs au chargement du driver, tout ce qui commence par (WW) ou (EE))
                  - contenu des fichier autres que README dans /proc/driver/nvidia/warnings/ (pour voir si le driver détecte des warnings importants)

                  Si rien ne semble clocher, tu peux essayer d'installer le driver fourni sur le site de Nvidia plutôt que le paquet Debian. Il est assez doué pour corriger des installations incorrectes et virer les références à Mesa.
                  • [^] # Re: Complément d'infos...

                    Posté par  (site web personnel, Mastodon) . Évalué à 1.

                    cat /proc/driver/nvidia/agp/status
                    Status: Disabled

                    AGP initialization failed, please check the ouput
                    of the 'dmesg' command and/or your system log file
                    for additional information on this problem.

                    J'interprête ceci comme : "le driver AGP NVidia ne sait pas initialisé". Ce qui est normal, vu que je n'arrive pas à me débarrasser de agpgart !

                    D'ailleurs, la sortie de dmesg le confirme :
                    [...]
                    Linux agpgart interface v0.101 (c) Dave Jones
                    agpgart: Detected VIA KT400/KT400A/KT600 chipset
                    agpgart: AGP aperture is 64M @ 0xe0000000
                    [...]
                    nvidia: module license 'NVIDIA' taints kernel.
                    NVRM: loading NVIDIA Linux x86 Kernel Module 1.0-8762 Mon May 15 13:06:38 PDT 2006
                    NVRM: not using NVAGP, an AGPGART backend is loaded!


                    glxinfo | grep OpenGL
                    OpenGL vendor string: NVIDIA Corporation
                    OpenGL renderer string: GeForce FX 5200/PCI/SSE/3DNOW!
                    OpenGL version string: 2.0.2 NVIDIA 87.62

                    A priori, tout va bien...

                    cat /proc/driver/nvidia/cards/0
                    Model: GeForce FX 5200
                    IRQ: 201
                    Video BIOS: 04.34.20.16.00
                    Card Type: AGP
                    DMA Size: 32 bits
                    DMA Mask: 0xffffffff

                    Ici, aussi...

                    cat /var/log/Xorg.0.log | grep -E \(EE\|WW\)
                    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
                    (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
                    (WW) The directory "/usr/lib/X11/fonts/cyrillic" does not exist.
                    (WW) `fonts.dir' not found (or not valid) in "/usr/lib/X11/fonts/Type1".
                    (WW) The directory "/usr/share/fonts/X11/CID" does not exist.
                    (WW) The directory "/usr/lib/X11/fonts/CID" does not exist.
                    (II) Loading extension MIT-SCREEN-SAVER
                    (WW) NVIDIA(0): No size information available in CRT-0's EDID; cannot compute
                    (WW) NVIDIA(0): DPI from EDID.

                    Là, il ne trouve pas certaines fontes et a un problème avec le EDID. (Je ne sais pas ce que sait et si c'est la cause de mon problème).

                    ls -a /proc/driver/nvidia/warnings
                    . .. README

                    Et pas d'avertissements de la part du driver NVidia.


                    Par contre, d'après ce que j'ai vu sur ton lien, je n'aurais pas un problème avec AGPGART ??? Puisque cat /proc/driver/nvidia/agp/status me retourne : "Status: Disabled" ???
                    • [^] # Re: Complément d'infos...

                      Posté par  (site web personnel, Mastodon) . Évalué à 1.

                      J'ai désactivé l'option NvAgp de mon /etc/X11/xorg.conf :
                      # Option "NvAgp" "1"

                      et maintenant j'obtiens bien le résultat attendu :

                      cat /proc/driver/nvidia/agp/status
                      Status: Enabled
                      Driver: AGPGART
                      AGP Rate: 8x
                      Fast Writes: Disabled
                      SBA: Enabled


                      Par contre, est-ce que "Fast Writes" n'améliorerait pas les choses ?
                      Comment fait-on pour l'activer ?
                      • [^] # Re: Complément d'infos...

                        Posté par  . Évalué à 1.

                        J'ai désactivé l'option NvAgp de mon /etc/X11/xorg.conf : # Option "NvAgp" "1"

                        Donc c'est bien un problème de chargement de agpgart. Les lignes suivantes de dmesg devraient pouvoir te fournir plus d'informations sur les raisons de l'échec, voir sinon le contenu de /var/log/syslog et /var/log/messages/.

                        Pour empêcher le chargement automatique, tu peux essayer ce que je disais précédemment, mais rien ne dit que ton chipset sera supporté par le driver AGP de Nvidia (il vaudrait mieux réussir à faire fonctionner agpgart) :
                        - renommer agpgart.ko en agpgart.ko.old ;
                        - désactiver agpgart avec modconf (dans kernel/drivers/char/agp) ;
                        - le blacklister dans /etc/modprobe.d/blacklist (mais ça t'as visiblement déjà essayé).

                        Tu as essayé avec un noyau 2.6.16 sinon ?

                        En dernier recours, je te conseille d'utiliser le driver Nvidia directement depuis leur site et pas le paquet Debian.

                        Par contre, est-ce que "Fast Writes" n'améliorerait pas les choses ?
                        Comment fait-on pour l'activer ?

                        S'il n'a pas été activé, c'est qu'il n'est pas disponible.

                        Là, il ne trouve pas certaines fontes et a un problème avec le EDID. (Je ne sais pas ce que sait et si c'est la cause de mon problème).

                        Ça n'a pas d'influence sur les performances.
                        • [^] # AGPGART marche très bien !

                          Posté par  (site web personnel, Mastodon) . Évalué à 1.

                          Merci Frédéric pour ton aide et tout les conseils que tu m'as donné.

                          Par contre, je suis désolé, mais mon problème de lenteur ne venait pas ni de la carte graphique, ni du driver NVidia, ni de agpgart.

                          J'ai l'air stupide, mais j'ai tué tous les processus qui me paraîssaient inutiles et j'ai retrouvé une fluidité normale dans mes applications 3D.
                          Un glxgears -printfps me donne maintenant un taux d'environ 1100 FPS, contre 500 auparavant.

                          Reste maintenant à trouver quel était le processus responsable de mon ralentissement (atd, crond, inetd, slapd, Xprt, et j'en passe) ....

                          Merci encore pour ton aide, j'ai appris pas mal de chose !

Suivre le flux des commentaires

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