Как я могу запустить приложение OpenGL, установленное на компьютере с Linux, с моего компьютера с Windows? - PullRequest
6 голосов
/ 20 сентября 2008

В духе полезности, это проблема, которую я имел и решил, поэтому я отвечу на вопрос здесь.

Проблема

У меня есть:

Приложение, которое должно быть установлено на Redhat или SuSE Enterprise.

Он имеет огромные системные требования и требует OpenGL.

Это часть набора инструментов, которые должны работать вместе на одном компьютере.

Это приложение используется для выполнения трудоемких задач в человеко-часах.

Я не хочу сидеть в серверной комнате, работая над этим приложением.

Итак, возник вопрос ... как мне запустить это приложение с удаленного компьютера с Windows?

Я опишу свое решение. Не стесняйтесь комментировать альтернативы. Это решение должно работать и для более простых сред. Мой случай несколько экстремальный.

Ответы [ 4 ]

9 голосов
/ 20 сентября 2008

Решение

Я установил две программы:

PuTTY

XMing-mesa Важна меза-часть.

Конфигурация шпатлевки

Connection->Seconds Between Keepalives: 30
Connection->Enable TCP Keepalives: Yes

Connection->SSH->X11->Enable X11 forwarding: Yes
Connection->SSH->X11->X display location: localhost:0:0

Lauching

Запуск Xming , который просто запустит процесс и поместит значок в системный трей. Запустите putty, указав на ваш linux box, с указанной выше конфигурацией. Запустить программу

Надеюсь, Удачи!

6 голосов
/ 20 сентября 2008

Если вы хотите, чтобы рендеринг OpenGL выполнялся на вашем локальном компьютере, используя сервер Windows X, например, Xming является хорошим решением. Однако, если вы хотите, чтобы рендеринг выполнялся на удаленном конце с использованием только изображений, отправленных на локальный компьютер, вам нужна специализированная система VNC, которая может обрабатывать удаленный рендеринг OpenGL, например VirtualGL .

2 голосов
/ 20 сентября 2008

Вы также можете использовать VNC (например, кроссплатформенный удаленный рабочий стол) X более эффективен, поскольку он посылает только команды рисования, а не пиксели, но если вы используете opengl, вполне вероятно, что большая часть данных в любом случае представляет собой визуализированное изображение.

Еще одним большим преимуществом VNC является то, что вы можете запускать программу локально на сервере, а затем подключаться к нему с помощью VNC, разрывать соединение, переподключаться с другого компьютера и т. Д., Не нарушая основной работающей программы.

0 голосов
/ 29 ноября 2008

Для OpenGL запуск X-сервера определенно является лучшим решением. Просто убедитесь, что приложение разработано для работы в сети. Он НЕ должен использовать немедленный режим для рендеринга, а текстуры должны передаваться РЕДКО.

Почему X-сервер является лучшим решением в этом случае (в отличие от VNC)? Потому что вы получаете ускорение на рабочей станции, тогда как решение VNC обычно даже не ускоряется на мэйнфрейме. Поэтому, пока данные буферизируются на X-сервере (с использованием массивов вершин, объектов буфера вершин, объектов текстур и т. Д.), Вы должны получать гораздо более высокую скорость, чем при использовании VNC, особенно в сложных сценах, поскольку VNC должен анализировать, передавать и декодировать их как пиксели.

...