SSH с моего Mac в Ubuntu: переадресация X работает неправильно?

SSH с моего Mac в Ubuntu: переадресация X работает неправильно?

Работает на Mac Pro, OS X El Capitan 10.11.4 с видеокартой ATI Radeon и XQuartz v 2.7.9

Я могу прекрасно запускать qdec и freeview на своей машине. Проблема возникает, когда я пытаюсь подключиться по SSH к машине Ubuntu 12.04 (Nvidia GeForce GTX 650) и использовать эти программы (раньше все работало нормально, но мне интересно, изменилось ли что-то в нашей конфигурации сейчас)

После подключения по ssh к машине 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

Исходя из моих ограниченных знаний, похоже, проблема в X / SSH и видеокарте, но я не уверен, как действовать дальше. Если у кого-то есть идеи, как это преодолеть, я был бы невероятно благодарен!

Сама машина Ubuntu также имеет монитор и может нормально запускать qdec и freeview локально, без проблем. Проблема, похоже, возникает через SSH. Некоторые программы на машине Ubuntu будут работать правильно таким образом (но они громко жалуются в фоновом терминале на X)

Недавно Mac обновил XQuartz, но я не совсем уверен, возникала ли эта проблема до обновления или нет.

Мы попытались ssh -y, но возникла та же ошибка.

Мы также export LIBGL_ALWAYS_INDIRECT=1подключаемся по SSH к машине Ubuntu, но все равно получаем ту же ошибку.

Официальный вопрос: Что означают эти ошибки и как я могу попытаться их исправить?

решение1

Похоже, это проблема XQuartz. По-видимому, у них серьезная нехватка персонала, и у них едва хватает времени, чтобы поддерживать проект на жизнеобеспечении. Если вы тоже столкнулись с этой проблемой, попробуйте вернуться к XQuartz 2.7.8, так как это помогло кому-то из участников отчета об ошибке.

Другой вариант — использовать VNC, как предложил Эмиас Чаннер.

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

По словам ведущего разработчика XQuartz:

Учитывая, что проблема связана с косвенным рендерингом, это либо изменение в xorg-server в XQuartz, либо изменение в libGL или стеке X11 на удаленной системе. Я подозреваю, что удаленный libGL изменился, и, возможно, что-то изменилось в поддержке IGLX в XQuartz. Если вы можете попробовать запустить более старые версии XQuartz, чтобы посмотреть, работает ли он со старой версией XQuartz, это может указать на изменение, которое можно сделать, чтобы заставить это работать снова. Хотя, как я уже упоминал, IGLX находится на жизнеобеспечении в целом, а не только в XQuartz.

И:

Да, как я уже упоминал в отчете об ошибке, маловероятно, что такие вещи будут исправлены в ближайшее время, потому что над проектом работает не так много людей. У меня есть, может быть, 2-3 часа в месяц или около того, чего как раз достаточно, чтобы внести исправления безопасности, провести некоторое тестирование и отправить обновление. Добавление поддержки OpenGL Core в наш прямой путь рендеринга — это больше работы, чем я могу себе позволить. То, о чем вы просите, — это добавление его в косвенный путь рендеринга, и это вряд ли когда-либо произойдет. Xorg активно отказывается от AIGLX и даже удаляет его из конфигурации по умолчанию, поэтому я подозреваю, что решением будет просто полностью удалить поддержку AIGLX.

решение2

NV-GLX предполагает, что он ищет ускорение NVIDIA OpenGL

Это будет означать, что машина с Ubuntu пытается найти 3D-ускорение для своего рабочего стола.

Похоже, что для этих приложений это не сработает через удаленный дисплей ssh ​​X forwarding.

Вам необходимо использовать что-то вроде RDP или VNC для отображения изображения после ускорения.

решение3

Основываясь на этомсвязьПробовали ли вы следующее на локальной Mac OS X?

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

Похоже, что XQuartz по умолчанию не поддерживает косвенный GLX.

Связанный контент