Erreur de chargement module GLX

Bonjour à tous,

ne sachant pas trop quel est mon problème, j’ai essayé de mettre un titre généraliste ^^ Enfin bref…
Depuis ce matin, quand j’essaye de lancer un programme qui utilise OpenGL, il plante. Par exemple, avec glxgears :

$ glxgears Error: couldn't get an RGB, Double-buffered visual
Du coup, je voulais voir ce qui clochait avec glxinfo, mais j’ai là aussi une erreur :

$ glxinfo name of display: :0.0 Error: couldn't find RGB GLX visual or fbconfig
Apparement, l’erreur viendrait donc de GLX ?

De plus, depuis quelques jours, Steam affichait ce message : “OpenGL is not using direct rendering”, alors que le direct rendering était bel et bien activé dans glxinfo.

Voilà les infos sur ma config :
http://pastebin.com/X5x9Kzjs

Pour ma carte graphique, j’utilise les drivers libres (package xserver-xorg-video-ati)

En espérant que vous pourrez m’aider ^^ Je vais ocntinuer à faire des recherches sur Google en attendant :stuck_out_tongue:

regarde ton xorg.conf

Je l’ai jamais modifié depuis sa première configuration, quand j’ai installé les drivers.

[code]$ cat /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 “Screen0” 0 0
InputDevice “Mouse0” "CorePointer"
InputDevice “Keyboard0” "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection

Section "Module"
Load "glx"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option “Protocol” "auto"
Option “Device” "/dev/input/mice"
Option “ZAxisMapping” "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section “Device”
### Available Driver options are:-
### Values: : integer, : float, : “True”/“False”,
### : “String”, : " Hz/kHz/MHz",
### : “%”
### [arg]: arg optional
#Option “Accel” # []
#Option “SWcursor” # []
#Option “EnablePageFlip” # []
#Option “ColorTiling” # []
#Option “ColorTiling2D” # []
#Option “RenderAccel” # []
#Option “SubPixelOrder” # []
#Option “AccelMethod” #
#Option “EXAVSync” # []
#Option “EXAPixmaps” # []
#Option “ZaphodHeads” #
#Option “EnablePageFlip” # []
#Option “SwapbuffersWait” # []
Identifier "Card0"
Driver "radeon"
BusID "PCI:1:0:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
[/code]

Le microprogramme propriétaire fourni par le paquet [mono]linux-firmware-nonfree[/mono] est-il installé sur ta Debian ?
Celui-ci est nécessaire à une gestion optimale de la plupart des cartes graphiques ATI/AMD.

Oui, je l’ai installé en même temps que les drivers.

Je tiens à préciser que ces problèmes n’arrivent que depuis aujourd’hui, auparavant tout fonctionnait correctement. Je pouvais jouer à des jeux 3D sans problèmes (exemple TF2, qui ne fonctionne plus aujourd’hui).

Il me semble que lors du dernier [mono]apt-get upgrade[/mono] que j’ai fait, des paquets “gl” et “mesa” on été mis à jour. Etant sous unstable, il me semble que le problème pourrait venir de là?

Le paquet apt-listbugs donne des infos sur les problèmes pouvant survenir lors d’une mise à jour. En sid les paquets ne sont pas tous très stable, il faut donc prendre quelques pécautions.
L’utilisation de wajig à la place de apt-get ou aptitude pour mettre à jour en sid ou testing en tient compte automatiquement (c’est du moins ce que j’ai constaté) : cela bloque l’installation des paquets pouvant poser problème …

Sinon, toujours pas de solution pour mon problème ? Je fais régulièrement des upgrade, mais ça ne résout rien…

[double-post pour up]

Bon, le problème n’est toujours pas réglé… J’ai essayé plusieurs solutions proposées sur le web, j’ai réinstallé les drivers, j’ai essayé avec les drivers propriétaires, rien n’y fait. J’espère que quelqu’un a la solution :’(

Ce paquet sert en fait à installer le pilote radeon par dépendance.
Que donne donc :apt-cache policy xserver-xorg-video-radeon

Maintenant, pour traquer les erreurs (EE) et les avertissements (WW), il faut regarder dans le log de X.
Que donne :grep EE /var/log/Xorg.0.log
ainsi que :grep WW /var/log/Xorg.0.log

Pas seulement. J’ai constaté que c’est aussi lui qui effectue l’auto-détection des cartes graphiques ATI/AMD pour X.org et charge le pilote graphique correspondant. Si on n’installe que le pilote radeon, alors il faut créer un fichier de configuration pour X.org spécifiant explicitement le pilote à utiliser.

[quote=“PascalHambourg”]c’est aussi lui qui effectue l’auto-détection des cartes graphiques ATI/AMD pour X.org et charge le pilote graphique correspondant[/quote] Effectivement mais je ne voulais rentrer dans les détails.

Comment ce pilote proprio a t-il été installé ?
Depuis un .run d’AMD/ATi ?
Existe t-il un xorg.conf, quel est-il ?

Selon moi, la résolution du problème passe par :

  • la vérification de l’installation de xserver-xorg-video-ati, xserver-xorg-video-radeon, et de firmware-linux-nonfree
  • l’absence de fichier /etc/Xorg/xorg.conf
  • Une désinstallation propre du pilote fglrx et la restauration des librairies libres éventuellement écrasées par un .run tout crado
  • Si le problème persiste : la traque des erreurs (EE) et warnings (WW) dans le log de X

[quote]Comment ce pilote proprio a t-il été installé ?
Depuis un .run d’AMD/ATi ?
Existe t-il un xorg.conf, quel est-il ?[/quote]
J’ai essayé avec le .run téléchargé sur le site d’AMD, mais celui-ci ne fonctionnait pas (erreur avec les headers). J’ai donc essayé avec les pilotes présents dans les dépôts (fglrx-driver), mais celui-ci posait des problèmes de dépendances :

fglrx-driver : Dépend: xorg-video-abi-15 mais il n'est pas installable ou xorg-video-abi-14 mais il n'est pas installable ou xorg-video-abi-13 mais il n'est pas installable ou xorg-video-abi-12 ou xorg-video-abi-11 mais il n'est pas installable ou xorg-video-abi-10 mais il n'est pas installable ou xorg-video-abi-8 mais il n'est pas installable ou xorg-video-abi-6.0 mais il n'est pas installable Recommande: fglrx-modules-dkms (= 1:14.4.2-1) mais ne sera pas installé ou fglrx-kernel-14.4.2 Recommande: libgl1-fglrx-glx (= 1:14.4.2-1) mais ne sera pas installé Recommande: libgl1-fglrx-glx-i386 Recommande: fglrx-atieventsd mais ne sera pas installé

En somme, je n’ai pas réussi à installer les pilotes propriétaires.
[quote]Existe t-il un xorg.conf, quel est-il ?[/quote]
Oui, généré avec [mono]$X -configure[/mono], je l’ai fourni dans un message précédent.
[quote]Selon moi, la résolution du problème passe par :

  • la vérification de l’installation de xserver-xorg-video-ati, xserver-xorg-video-radeon, et de firmware-linux-nonfree
  • l’absence de fichier /etc/Xorg/xorg.conf
  • Une désinstallation propre du pilote fglrx et la restauration des librairies libres éventuellement écrasées par un .run tout crado
  • Si le problème persiste : la traque des erreurs (EE) et warnings (WW) dans le log de X[/quote]
    Les trois sont installés, respectivement les versions 1:7.4.0-2, 1:7.4.0-2 et 0.43.
    Le xorg.conf que j’ai se trouve dans /etc/X11, mais je suppose que ça ne change rien. Il est fourni plus haut.
    C’est à dire une désinstallation propre? En passant par le script de désinstallation (/usr/share/ati/fglrx-uninstall.sh)? Ce script n’est pas présent sur mon ordinateur, comme je n’ai pas réussi à installer ce driver.
    Pour les librairies libres, j’ai déjà essayé de les réinstaller, mais peut-être que je n’ai pas tout fait? Pourrais-tu préciser lesquelles exactement?
    Voici les erreurs dans le Xorg.0.log :

[ 50.309] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/r600_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/r600_dri.so: undefined symbol: _glapi_tls_Dispatch) [ 50.309] (EE) AIGLX: reverting to software rendering [ 50.327] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: _glapi_tls_Dispatch) [ 50.327] (EE) GLX: could not load software renderer
Et les warnings :

[ 44.626] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist. [ 46.703] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist. [ 46.703] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled. [ 46.703] (WW) Disabling Mouse0 [ 46.703] (WW) Disabling Keyboard0 [ 53.225] (WW) evdev: Razer Razer Naga 2014: ignoring absolute axes.

Voilà, en espérant que vous pourrez m’aider ^^, cordialement.

Supprime-le ou renomme-le. Sauf cas particulier, il ne devrait pas être nécessaire avec le pilote libre.

D’après les messages d’erreur dans Xorg.0.log, il y a un souci avec des bibliothèques qui appartiennent au paquet libgl1-mesa-dri. S’il n’est pas installé, installe-le et s’il est installé essaie de le réinstaller avec [mono]apt-get --reinstall install libgl1-mesa-dri[/mono] par exemple.

Sans le xorg.conf, le serveur X ne peut pas démarrer (il signale : no screen found). J’utilise le xorg.conf généré par [mono]X -configure[/mono].

J’ai réinstallé libgl1-mesa-dri, ça ne change rien :confused:

Sinon, il y a quelque chose qui me semble bizarre dans le message d’erreur du log :

C’est le [mono]r_600[/mono] qui me semble bizarre. r_600 est le nom d’un driver AMD libre, cependant celui qui correspond à ma carte graphique est le driver [mono]radeon[/mono] (d’ailleurs, dans le xorg.conf, on a [mono]Driver “radeon”[/mono]). Peut-être que l’erreur vient du fait qu’il charge le mauvais fichier?
Sinon, ce message dit [mono]undefined symbol: _glapi_tls_Dispatch[/mono]. Il me semble que ce genre d’erreur signifie qu’il n’a pas trouvé une fonction qui provient d’une librairie externe (ici l’API GL). Ca voudrait dire qu’il n’a pas été linké lors de la compilation? Faudrait-il que je recompile cette librairies à partir des sources ? (en linkant)

EDIT : Substituer radeon à r600 e change rien.
Pour ce qui est du [mono]_glapi_tls_Dispatch[/mono], il semble que Mesa soit compilée par défault sans TLS (d’ailleurs je ne sais pas ce que c’est ^^). Je suis en train de compiler Mesa avec l’option --enable-glx-tls, on va voir si ça donne quelque chose…

EDIT #2 : YEAH CA MARCHE !

Donc pour résumer :
Cause du problème :
Un paquet de sid fournissant la bibliothèque Mesa (soit libgl1-mesa-glx, libgl1-mesa-dri) utilise ds fonction appartenant à GLX TLS, mais n’a pas été compilé pour (problème de link).

La solution :
Il faut recompiler soi-même Mesa en linkant avec GLX TLS. Pour cela, suivre les instructions ici : http://dri.freedesktop.org/wiki/Building/ (ou sur le site de Mesa, mais je trouve que celles-ci sont plus claires), et à l’étape de la configuration, utiliser le flag [mono]enable-glx-tls[/mono]. C’est à dire :

Voilà, je remercie les membres du forum qui m’ont aidé à résoudre le problème :smiley: je vais passer le sujet en résolu ! Cordialement.

Bonjour, j’ai exactement le même problème sur une debian8, jessie backports. J’ai donc suivi ce post et recompilé le driver suivant dri.freedesktop.org/wiki/Building/ avec l’option

La compilation s’est faite sans erreur mais ça ne fonctionne pas. J’ai toujours le “IGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/i965_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/i965_dri.so: undefined symbol: _glapi_tls_Dispatch)”

Le make install a installé les drivers /usr/lib/dri/*. J’ai donc fait ceci:

# ll /usr/lib/dri/
total 508280
-rwxr-xr-x 5 root root 50251000 déc.  21 00:22 i915_dri.so
-rwxr-xr-x 5 root root 50251000 déc.  21 00:22 i965_dri.so
-rwxr-xr-x 5 root root 53833624 déc.  21 00:22 kms_swrast_dri.so
-rwxr-xr-x 5 root root 50251000 déc.  21 00:22 nouveau_vieux_dri.so
-rwxr-xr-x 5 root root 50251000 déc.  21 00:22 r200_dri.so
-rwxr-xr-x 5 root root 53833624 déc.  21 00:22 r300_dri.so
-rwxr-xr-x 5 root root 53833624 déc.  21 00:22 r600_dri.so
-rwxr-xr-x 5 root root 50251000 déc.  21 00:22 radeon_dri.so
-rwxr-xr-x 5 root root 53833624 déc.  21 00:22 swrast_dri.so
-rwxr-xr-x 5 root root 53833624 déc.  21 00:22 vmwgfx_dri.so

# cd /usr/lib/x86_64-linux-gnu/dri
# cp /usr/lib/dri/* dri/

# ll /usr/lib/x86_64-linux-gnu/dri
total 648124
-rw-r--r-- 1 root root    22504 oct.  24  2014 dummy_drv_video.so
-rw-r--r-- 1 root root 33904512 mai   16  2013 fglrx_dri.so
-rw-r--r-- 5 root root 50251000 déc.  21 00:28 i915_dri.so
-rw-r--r-- 5 root root 50251000 déc.  21 00:28 i965_dri.so
-rw-r--r-- 1 root root  1513920 nov.  10  2014 i965_drv_video.so
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 kms_swrast_dri.so
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 nouveau_dri.so
lrwxrwxrwx 1 root root       18 août   7  2014 nouveau_drv_video.so -> vdpau_drv_video.so
-rw-r--r-- 5 root root 50251000 déc.  21 00:28 nouveau_vieux_dri.so
lrwxrwxrwx 1 root root       18 août   7  2014 nvidia_drv_video.so -> vdpau_drv_video.so                                                                          
-rw-r--r-- 5 root root 50251000 déc.  21 00:28 r200_dri.so                       
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 r300_dri.so                       
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 r600_dri.so                       
lrwxrwxrwx 1 root root       18 août   7  2014 r600_drv_video.so -> vdpau_drv_video.so                                                                            
-rw-r--r-- 5 root root 50251000 déc.  21 00:28 radeon_dri.so                     
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 radeonsi_dri.so                   
lrwxrwxrwx 1 root root       18 août   7  2014 radeonsi_drv_video.so -> vdpau_drv_video.so                                                                        
lrwxrwxrwx 1 root root       18 août   7  2014 s3g_drv_video.so -> vdpau_drv_video.so                                                                             
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 swrast_dri.so                     
lrwxrwxrwx 1 root root       16 déc.  11 15:00 vboxvideo_dri.so -> ../../VBoxOGL.so                                                                               
-rw-r--r-- 1 root root    97056 août   7  2014 vdpau_drv_video.so                
-rw-r--r-- 7 root root 53833624 déc.  21 00:28 vmwgfx_dri.so 

Je ne suis vraiment pas un as de la compilation comme varig. Merci pour votre aide.