web-dev-qa-db-fra.com

SSH de mon Mac vers Ubuntu: le transfert X ne fonctionne pas correctement?

Exécution d’un Mac Pro, OS X El Capitan 10.11.4 avec une carte graphique ATI Radeon et XQuartz v 2.7.9

Je peux exécuter qdec et Freeview parfaitement sur ma machine. Le problème survient lorsque je tente d'utiliser SSH sur une machine Ubuntu 12.04 (Nvidia GeForce GTX 650) et d'utiliser ces programmes (cela fonctionnait bien, mais je me demande si quelque chose dans notre configuration a été modifié à présent).

Je reçois les erreurs suivantes après ssh sur la machine Ubuntu.

[myuser@ubuntu-machine:~] freeview
Xlib: extension "NV-GLX" missing on display "localhost:10.0". 
X Error: BadValue (integer parameter out of range for operation) 2
Extension:    150 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id:  0x0
Abort         (core dumped)

[myuser@ubuntu-machine:~] qdec
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  150 (GLX)
Minor opcode of failed request:  3 (X_GLXCreateContext)
Value in failed request:  0x0
Serial number of failed request:  1504
Current serial number in output stream:  1505

Sur la base de mes connaissances limitées, il semble que ce soit probablement un problème avec X/SSH et la carte graphique, mais je ne sais pas comment procéder à partir de maintenant. Si quelqu'un a des idées sur la façon de surmonter cela, je vous en serais extrêmement reconnaissant!

La machine Ubuntu elle-même possède également un moniteur et peut exécuter qdec et freeview fin localement, sans aucun problème. le problème semble se produire sur SSH. Certains programmes sur la machine Ubuntu fonctionneront correctement de cette façon (mais ils se plaignent bruyamment dans le terminal en arrière-plan de X)

Le Mac a récemment mis à jour XQuartz mais je ne suis pas tout à fait sûr si ce problème se passait avant la mise à jour ou non.

Nous avons essayé ssh -y mais la même erreur est renvoyée.

Nous avons également export LIBGL_ALWAYS_INDIRECT=1 après SSH dans la machine Ubuntu, mais nous obtenons toujours la même erreur.

La question officielle: Que signifient ces erreurs et comment puis-je tenter un correctif?

4
Elijah Rockers

Cela semble être un problème avec XQuartz. Apparemment, ils manquent cruellement de personnel et n’ont guère le temps de garder le projet en vie. Si vous rencontrez également ce problème, essayez de revenir à XQuartz 2.7.8, car cela a fonctionné pour quelqu'un dans le rapport de bogue.

Vos autres options pourraient être d’utiliser VNC, comme l’a suggéré Amias Channer.

https://bugs.freedesktop.org/show_bug.cgi?id=93953#c6

Selon le développeur principal de XQuartz:

Étant donné que le problème concerne le rendu indirect, il s’agit d’un changement de xorg-server dans XQuartz ou d’un changement de libGL ou de la pile X11 sur le système distant. Mon intuition est que la libGL distante a changé et que quelque chose dans le support IGLX de XQuartz ait changé. Si vous pouvez essayer d’exécuter des versions plus anciennes de XQuartz pour voir s’il fonctionne avec une version plus ancienne de XQuartz, cela peut indiquer une modification qui pourrait être apportée pour que cela fonctionne à nouveau. Comme je l’ai dit plus tôt, IGLX bénéficie d’une assistance vitale en général, et pas seulement de XQuartz.

Et:

Oui, comme je l'ai mentionné dans le rapport de bogue, il n'y a pas beaucoup de chance que de tels problèmes soient corrigés rapidement car il n'y a pas beaucoup de personnes qui travaillent sur le projet. Il me reste environ deux ou trois heures par mois environ, ce qui donne à peu près le temps nécessaire pour intégrer des correctifs de sécurité, effectuer des tests et envoyer une mise à jour. L'ajout de la prise en charge d'OpenGL Core dans notre chemin de rendu direct représente plus de travail que je ne peux m'inscrire. Ce que vous demandez, c’est de l’ajouter au chemin de rendu indirect, ce qui est encore moins probable. Xorg désapprouve activement AIGLX et le supprime même de la configuration par défaut. Je suppose donc que la solution proposée consistera simplement à supprimer complètement le support d’AIGLX.

3
Elijah Rockers

NV-GLX suggère de rechercher l'accélération NVIDIA OpenGL

Ce qui voudrait dire que la machine Ubuntu tente de trouver une accélération 3D pour son ordinateur de bureau.

Il semble que cela ne fonctionnera pas via l'affichage distant ssh X forwarding pour ces applications.

Vous devez utiliser quelque chose comme RDP ou VNC pour afficher l'image après l'accélération.

1
Amias

Basé sur ceci lien avez-vous essayé ce qui suit sur votre Mac OS X local?

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

Il semble que XQuartz ne supporte pas GLX indirect par défaut.

0
Ali