Я заинтересован в пересылке сеанса X11 через SSH, чтобы запустить удаленный процесс, использующий OpenGL (в частности, gazebo для всех, кто знаком).
Проблема, с которой я, похоже, сталкиваюсь, заключается в том, что беседка падает из-за несоответствия видеокарт; он не может найти расширения "NV-GLX". Точная ошибка вывода:
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request: GLXUnsupportedPrivateRequest
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Serial number of failed request: 24
Current serial number in output stream: 25
Удаленный компьютер работает с картой NVIDIA, а мой локальный компьютер использует карту AMD.
Я тестировал пересылку беседки X11 между двумя машинами с картами NVIDIA. Работает просто отлично.
Насколько я могу судить, кажется, что происходит одна из трех вещей:
- Я делаю что-то не так,
- То, что я хочу сделать, невозможно,
- Gazebo не строит агностически с разветвленными путями кода для различного оборудования; как бы ваша система ни выглядела при сборке, это то, что вы получаете.
Удаленный компьютер работает под управлением Ubuntu, а мой локальный компьютер - Mac под управлением 10.8.2; Я уже знаю, что у меня правильно настроена переадресация x11 для обычного использования, так как я могу заставить вещи xclock открываться в XQuartz просто отлично. Решение (если оно существует) также предпочтительно будет работать для других ОС, включая Windows поверх WinSCP.
xhost +
на локальном компьютере и установите для вашего DISPLAY на удаленной системе значение «ip-or-name-of-local: 0`»gazebo
до работы, но я отмечаю это как принятый ответ, потому что ваши предложения были технически правильными. Я могу туннелировать,glxdemo
используя все ваши предложения (ssh и xserver / xclient по сети), но само Gazebo, похоже, просто не создает пути к ветвящему коду и предполагает, что оно не будет работать в этой странной конфигурации. Благодарность!.