Как я могу запустить приложение OpenGL, установленное на компьютере с Linux, с моего компьютера с Windows?

StackOverflow https://stackoverflow.com/questions/106201

Вопрос

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

Проблема

У меня есть:

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

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

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

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

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

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

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

Это было полезно?

Решение

Решение

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

Шпаклевка

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

Смеющийся

Бежать Хминг который позволит просто запустить процесс и поместить иконку в ваш системный трей.Запустите putty, указав на ваш ящик Linux, с приведенной выше конфигурацией.Запустить программу

Надеюсь, Успеха!

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top