web-dev-qa-db-fra.com

Comment activer les contextes GLX indirects (+ iglx) dans Ubuntu 14.04 LTS avec les cartes nvidia gfx

J'exécute un hôte Linux pour le développement logiciel Qt à un endroit central.

Avec ma fenêtre Windows, j'utilise Xming en tant que serveur X local et PuTTY pour me connecter à cet hôte Linux. Avec cette configuration, je peux utiliser tous les programmes X (xclock, xterm) et GLX (qtcreator, gxlinfo, glxgears ...) sur l'hôte Linux.

Mon poste de travail principal est un ubuntu 14.04 LTS avec une carte nvidia gfx. Lorsque je me connecte à l'hôte Linux avec mon système Ubuntu à l'aide de "ssh -p port # -YC my.dev.Host.com", je peux aussi utiliser tous les programmes X (xclock, xterm), mais je ne peux pas utiliser les programmes GLX (qtcreator, gxlinfo, glxgears ...).

Aussi loin que je appris c'est parce que le serveur X ne supporte pas les contextes GLX indirects par défaut pour la version plus jeune 1.16.

Voici donc mes questions: Comment puis-je activer les contextes GLX indirects (serveur X et serveur nvidida) dans mon installation ubuntu 14.04 LTS pour que tout fonctionne comme prévu sur un serveur X?.

Merci pour toute aide!

cmks

Voici la sortie de glxgears, peut-être que ça aide:

[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

J'ai eu un problème similaire lors de l'exécution de certaines applications GL via 'ssh -X' et je l'ai résolu en ajoutant "+ iglx" à xserver-command dans /usr/share/lightdm/lightdm.conf.d/50 -xserver-command.conf.

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

Après quoi, vous devez soit redémarrer, soit Ctrl-Alt-F1, vous connecter et "Service Sudo lightdm restart".

J'espère que ça aide!

8
Justin

Un moyen alternatif (et indépendant du gestionnaire d'affichage) d'ajouter des options consiste à ajouter la section suivante à /etc/X11/xorg.conf:

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

J'avais le même problème en exécutant un programme OpenGL personnalisé sur ssh -X. La solution ci-dessus a fonctionné avec une légère modification

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

Cela fonctionnait avec le serveur ubuntu 16.04 exécutant kubuntu-desktop avec le GPU NVIDIA GTX 1070 et le pilote binaire NVIDIA installés via apt.

0
Triradiate