web-dev-qa-db-fra.com

Xlib: extension "GLX" manquante - avec une carte NVIDIA et une carte graphique intégrée

J'ai une machine avec une NVIDIA GeForce que je n'utilise pas à des fins d'affichage (c'est-à-dire que le moniteur n'y est pas connecté), et un peu terne sur -Puce graphique. (Ci-dessous, vous trouverez la liste lshw appropriée.)

Mes sessions X fonctionnent très bien; mais lorsque la plupart de mes applications X (qui nécessitent une sorte de GFX sophistiqué ou une boîte à outils) s'exécutent, elles émettent le message d'erreur suivant:

Xlib:  extension "GLX" missing on display ":0".

Ma question est la suivante: comment faire en sorte que mes applications remarquent la bibliothèque non NVIDIA GLX et l'utilisent (sans retirer la carte NVIDIA et sans basculer le moniteur sur ses ports de sortie bien sûr)?

J'utilise Debian/Linux Stretch 64bit, version du noyau 4.2.6, avec LXDE.

Sortie de lshw -c display:

  *-display               
       description: VGA compatible controller
       product: GK106 [GeForce GTX 650 Ti Boost]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:17 memory:f6000000-f6ffffff memory:e0000000-e7ffffff memory:e8000000-e9ffffff ioport:e000(size=128) memory:f7000000-f707ffff
  *-display
       description: VGA compatible controller
       product: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:30 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)

Sortie de glxinfo:

Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".

Sortie de cat /var/log/Xorg.0.log | grep glx:

[    19.287] (II) LoadModule: "glx"
[    19.787] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    22.727] (II) Module glx: vendor="X.Org Foundation"

Information additionnelle:

  • Je n'ai pas le glx-alternative-nvidia package installé.
  • Si je démarre à partir d'une clé USB en direct de Devuan ASCII, le problème ne se manifeste pas .
  • Si je crée un xorg.conf en utilisant Xorg :1 -configure, this est ce qu'il produit (2 sections 'Device', une associée au pilote intel, une autre à nouveau); mais si je commente la section Nouveau et essaie d'exécuter Xorg avec cette configuration - il ne se charge pas, en disant il ne trouve aucun écran.
18
einpoklum

Je suis arrivé ici après avoir installé nvidia-current à partir du référentiel de packages, et obtenu bloqué sur une boucle de connexion . J'ai regardé la connexion ~/.xsession-errors et a trouvé l'erreur mentionnée:

Xlib: extension "GLX" missing on display ":0".

J'ai déjà désinstallé nvidia-current et le problème a persisté. Je n'avais pas non plus de glx-alternative-nvidia installée. En dernier recours, j'ai simplement désinstallé tout de nvidia sur mon Ubuntu (y compris les trucs CUDA), et cela a fonctionné après le redémarrage.

9
villasv

Je l'ai résolu en désinstallant glx-alternative-nvidia

apt-get remove glx-alternative-nvidia
1
Gonzalo S Perilhou

Identifiez d'abord le module glx utilisé:

$ cat /var/log/Xorg.0.log | grep glx
[     3.622] (II) LoadModule: "glx"
[     3.624] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     3.705] (II) Module glx: vendor="NVIDIA Corporation"

Dans Debian 8 Jessie, ma solution était de supprimer glx-alternative-nvidia paquet. Donc, après le redémarrage:

$ cat /var/log/Xorg.0.log | grep glx
[     3.581] (II) LoadModule: "glx"
[     3.582] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     3.592] (II) Module glx: vendor="X.Org Foundation"

$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop
1
svlasov

J'ai eu des problèmes après la mise à niveau de Debian 9 après avoir cliqué sur le redémarrage pour mettre à niveau l'invite.

Lors de l'installation initiale, j'ai suivi les étapes trouvées dans le wiki https://wiki.debian.org/NvidiaGraphicsDrivers

Les plus importants pour moi étaient ...

# apt-get update
# apt-get install -t stretch-backports nvidia-driver

Puis effectué un redémarrage

1
Gabriel Gates

J'ai "l'extension" GLX "manquante" lorsque j'ai "mis à niveau" mon debian (8 -> 9). La solution était assez simple.

Téléchargez votre programme d'installation de pilotes sur NVIDIA

service lightdm stop
#(ALT+F1) + your credentials
Sudo nvidia-installer --uninstall
Sudo ./NVIDIA-Linux-x86_64-340.102-custom.run #my vga GT218M [GeForce 310M]

Après que l'installateur ait fait son travail, le GLX est revenu.

ps: Si vous utilisateur repos, je pense qu'un dpkg-reconfigure "driver_package_name" ferait de même.

0
FabricioFCarv

Installez OpenGL sur votre ordinateur, puis comme mentionné ici , ajoutez ce qui suit à votre /etc/X11/xorg.conf:

Section "Files"
    ModulePath "/usr/lib/nvidia-VERSION/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

(Remplacez nvidia-VERSION avec le nom de votre répertoire) Cela a fonctionné pour moi.

0
Gokul NC