Xlib: extensão “GLX” faltando - com uma placa NVIDIA e gráficos on-board

11

Eu tenho uma máquina com uma NVIDIA GeForce que eu não usa para fins de exibição (ou seja, o monitor não está conectado a ela), e alguns chips gráficos internos sem brilho. (Abaixo você encontrará a lista relevante de lshw .)

Minhas sessões X funcionam bem; mas quando a maioria dos meus aplicativos X (que requerem algum tipo de fantasia GFX ou um kit de ferramentas) rodam, eles emitem a seguinte mensagem de erro:

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

Minha pergunta é: Como posso fazer meus aplicativos perceberem a biblioteca não-NVIDIA GLX e usá-la (sem remover a placa NVIDIA e sem comutar o monitor para suas portas de saída, é claro)?

Estou usando o Debian / Linux Stretch 64bits, versão do kernel 4.2.6, com o LXDE.

Saída 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)

Saída 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".

Saída 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"
    
por einpoklum 10.01.2016 / 11:43

3 respostas

6

Cheguei aqui depois de instalar o nvidia-current do repositório de pacotes e obtive preso em um loop de login . Eu olhei para o log em ~/.xsession-errors e encontrei o erro mencionado:

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

Eu já tinha desinstalado nvidia-current e o problema persistiu. Eu também não tenho glx-alternative-nvidia instalado. Como último recurso, eu simplesmente desinstalei tudo do nvidia no meu Ubuntu (incluindo o CUDA), e funcionou após o reinício.

    
por 01.10.2016 / 19:25
1

Primeiro, identifique qual módulo glx está em uso:

$ 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"

No Debian 8 Jessie, minha solução foi remover glx-alternative-nvidia package. Então, após a reinicialização:

$ 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
    
por 02.05.2016 / 13:25
1

Instale o OpenGL no seu computador, depois como mencionado aqui , adicione o seguinte ao seu /etc/X11/xorg.conf :

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

(Substitua nvidia-VERSION pelo seu nome de diretório) Isso funcionou para mim.

    
por 16.02.2018 / 13:16