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
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!
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
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.