it-swarm-es.tech

Cómo habilitar contextos GLX indirectos (+ iglx) en Ubuntu 14.04 LTS con nvidia gfx-cards

Estoy ejecutando un host Linux para el desarrollo de software Qt en un lugar central.

Con mi caja de Windows uso Xming como un servidor X local y PuTTY para conectarme a ese Linux-Host. Con esta configuración, puedo usar todos los programas X (xclock, xterm) y GLX (qtcreator, gxlinfo, glxgears ...) en linux-Host.

Mi estación de trabajo principal es ubuntu 14.04 LTS con una tarjeta nvidia gfx. Cuando me conecto a Linux-Host con mi sistema ubuntu usando "ssh -p port # -YC my.dev.Host.com", también puedo usar todos los programas X (xclock, xterm) pero I no puedo usar programas GLX (qtcreator, gxlinfo, glxgears ...).

Hasta ahora I aprendido esto se debe a que el servidor X no admite contextos GLX indirectos por defecto para la versión más joven 1.16.

Entonces mis preguntas son: ¿Cómo puedo habilitar contextos GLX indirectos (servidor X y controlador nvidida) en mi instalación ubuntu 14.04 LTS para que todo funcione como se espera de un servidor X?.

¡Gracias por cualquier ayuda!

cmks

Aquí está la salida de glxgears, tal vez eso ayude:

[email protected]:~# LIBGL_DEBUG=verbose glxgears 
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  35
  Current serial number in output stream:  37
9
cmks

Tuve un problema similar al ejecutar algunas aplicaciones GL a través de 'ssh -X' y lo resolví agregando "+ iglx" al comando xserver en /usr/share/lightdm/lightdm.conf.d/50 -xserver-command.conf.

[SeatDefaults]
# Dump core
xserver-command=X -core +iglx

Después de lo cual reinicia o Ctrl-Alt-F1, inicia sesión y 'Sudo service lightdm restart'.

¡Espero que esto ayude!

8
Justin

Una forma alternativa (e independiente del administrador de pantalla) de agregar las opciones es agregar la siguiente sección a /etc/X11/xorg.conf:

Section "ServerFlags"
    Option "IndirectGLX" "on"
EndSection
4
user652430

Estaba teniendo el mismo problema al ejecutar un programa OpenGL personalizado sobre ssh -X. La solución anterior funcionó con una ligera modificación.

Section "ServerFlags"  
    Option "AllowIndirectGLX" "on"  
    Option "IndirectGLX" "on"  
EndSection  

Esto funcionó con el servidor ubuntu 16.04 que ejecuta kubuntu-desktop con GPU NVIDIA GTX 1070 y el controlador binario NVIDIA instalado a través de apt.

0
Triradiate