J'exécute un hôte Linux pour le développement de logiciels Qt à un endroit central.
Avec ma boîte Windows, j'utilise Xming en tant que serveur X local et mastic 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 en utilisant "ssh -p port # -YC my.dev.host.com", je peux également utiliser tous les programmes X (xclock, xterm) mais je ne peux pas utiliser les programmes GLX (qtcreator, gxlinfo, glxgears ...).
Pour autant que j'ai appris cela, c'est parce que le serveur X ne prend pas en charge les contextes indirects GLX par défaut pour la version plus récente 1.16.
Donc, mes questions sont: comment puis-je activer les contextes indirects GLX (serveur X et pilote nvidida) dans mon installation ubuntu 14.04 LTS pour que les choses fonctionnent comme prévu à partir d'un serveur X.
Merci pour toute aide!
cmks
Voici la sortie de glxgears, peut-être que cela 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
libGL error: No matching fbConfigs or visuals found
etlibGL error: failed to load driver: swrast
LIBGL_ALWAYS_INDIRECT=1
interdit l'utilisation de DRI alors il n'y a aucun message d'erreur. Mais glxgears n'affiche qu'une seule imageUne manière alternative (et indépendante du gestionnaire d'affichage) d'ajouter les options consiste à ajouter la section suivante à /etc/X11/xorg.conf:
la source
lightdm
.J'avais le même problème lors de l'exécution d'un programme OpenGL personnalisé
ssh -X
. La solution ci-dessus a fonctionné avec une légère modificationCela a fonctionné avec le serveur ubuntu 16.04 exécutant kubuntu-desktop avec le GPU NVIDIA GTX 1070 et le pilote binaire NVIDIA installé via apt.
la source
Option "IndirectGLX" "on"
. Selon cela ,enableIndirectGLX
doit évaluer pourTRUE
que l'BadValue
erreur ne soit pas renvoyée. La valeur par défaut est:FALSE
=-iglx
(sur la ligne de commande). Donc, sur l'un ou l'autre ensemble:+iglx
option de ligne de commande, ORIndirectGLX "on"
ou valeur équivalente "vérité"AllowIndirectGLXProtocol
pour la même chose. Cependant, leurs documents sont quelque peu déroutants, car ils mentionnent que l'BadValue
erreur sera renvoyée avec leur nom de paramètre commeAllowIndirectGLXProtocol = "true"
. C'est complètement à l'opposé de ce qu'ils disent plus tard. "The NVIDIA GLX implementation will prohibit creation of indirect GLX contexts if AllowIndirectGLXProtocol option is set to False.
" C'est donc déroutant, et peut-être que les documents sont faux?