Tengo una máquina con una GeForce de NVIDIA que no uso para fines de visualización (es decir, el monitor no está conectado a ella), y algunos chips de gráficos integrados mediocres. (A continuación encontrará la lshw
lista relevante ).
Mis sesiones X funcionan bien; pero cuando se ejecutan la mayoría de mis aplicaciones X (que requieren algún tipo de GFX elegante o un kit de herramientas), emiten el siguiente mensaje de error:
Xlib: extension "GLX" missing on display ":0".
Mi pregunta es: ¿cómo puedo hacer que mis aplicaciones noten la biblioteca GLX que no es NVIDIA y la usen (sin quitar la tarjeta NVIDIA y sin cambiar el monitor a sus puertos de salida, por supuesto)?
Estoy usando Debian / Linux Stretch 64bit, kernel versión 4.2.6, con LXDE.
Salida 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)
Salida 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".
Salida 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"
Información Adicional:
- No tengo el
glx-alternative-nvidia
paquete instalado. - Si inicio desde un USB de imagen en vivo de Devuan ASCII, el problema no se manifiesta.
- Si creo un
xorg.conf
usoXorg :1 -configure
, esto es lo que produce (2 secciones de 'Dispositivo', una asociada con elintel
controlador, otra connouveau
); pero si comento la sección nouveau e intento ejecutar Xorg con esa configuración, no se cargará, diciendo que no puede encontrar ninguna pantalla.
fuente
bumblebee
e instalarnvidia-bumblebee
(en Debian Jessie, utilizando los paquetes gfx de backports).Respuestas:
Llegué aquí después de instalar
nvidia-current
desde el repositorio de paquetes, y me quedé atascado en un bucle de inicio de sesión . Miré el inicio de sesión~/.xsession-errors
y encontré el error mencionado:Xlib: extension "GLX" missing on display ":0".
Ya había desinstalado
nvidia-current
y el problema persistió. Tampoco lo heglx-alternative-nvidia
instalado. Como último recurso, simplemente desinstalé todo desdenvidia
mi Ubuntu (incluyendo cosas de CUDA), y funcionó después del reinicio.fuente
nvidia-current
instalado, ni, de hecho, ningúnnvidia-
paquete. Pero tengo el último CUDA instalado, con el controlador que lo acompaña (el instalador manual de nvidia). Sé que es una forma fea de hacer las cosas, pero necesito la última versión.Primero identifique qué módulo glx está en uso:
En Debian 8 Jessie, mi solución fue eliminar el
glx-alternative-nvidia
paquete. Entonces, después de reiniciar:fuente
apt-get
paquetes.contrib
repositorio para verlo. Y probablemente ni siquiera lo tenga instalado, y por lo tanto, su causa de error de extensión glx faltante es diferente.cat file | grep pattern
? ¿Por qué nogrep pattern file
?Lo resolví desinstalando glx-alternative-nvidia
fuente
glx-alternative-nvidia
paquete instalado ...Tuve problemas después de actualizar Debian 9 después de hacer clic en el indicador de reinicio para actualizar.
Al instalar inicialmente, seguí los pasos que se encuentran en la wiki https://wiki.debian.org/NvidiaGraphicsDrivers
Los más importantes para mí fueron ...
Luego realizó un reinicio
fuente
Instale OpenGL en su computadora, luego, como se menciona aquí , agregue lo siguiente a su
/etc/X11/xorg.conf
:(Reemplace
nvidia-VERSION
con el nombre de su directorio) Esto funcionó para mí.fuente
/etc/X11/xorg.conf
por alguna razón.sudo nvidia-xconfig
Obtuve la "extensión" GLX "ausente" cuando "actualicé" mi debian (8 -> 9). La solución fue bastante simple.
Descargue el instalador de su controlador en NVIDIA
Después de que el instalador hizo su trabajo, el GLX regresó.
ps: si tu usuario repos, creo que un dpkg-reconfigure "driver_package_name" haría lo mismo.
fuente