Моя цель - запустить приложение OpenGL на удаленной машине с Ubuntu, и, надеюсь, я смогу максимально использовать последнюю версию 4.5 OpenGL. Локальный хост (дома) - Windows 7. Для подключения к удаленной Ubuntu я установил рабочую станцию VMware 12.5.7, которая утверждает, что поддерживает OpenGL 3.3. Гостевой ОС в локальной виртуальной машине является Ubuntu 16.04, на которой я установил Mesa 17.2.4, которая утверждает, что поддерживает OpenGL 4.5. Из-за ограничений рабочей станции VMware я могу использовать только OpenGL 3.3 в виртуальной машине, и это действительно работает. Затем я ssh -Y изнутри виртуальной машины на удаленной машине. Удаленный компьютер - это Ubuntu 16.04, на котором установлено и работает оборудование nVidia Titan и все известные мне графические программные пакеты, такие как последний драйвер nVidia, X-сервер, VirtualGL, GLX и т. Д. Теперь я хочу, чтобы приложение OpenGL работало на удаленном компьютере. машина (т. е. потреблять вычислительные ресурсы на удаленной машине) и возвращать результаты вывода мне на моей локальной рабочей станции VMware. Для эскиза:
локальный хост Windows 7 -> локальная Ubuntu 16.04 VM -> удаленная Ubuntu 16.04
Мы знаем, что glxgears - это приложение OpenGL. Если я запускаю его непосредственно на удаленном компьютере, я получаю сообщение об ошибке:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 26
Current serial number in output stream: 27
Если я запускаю VirtualGL (запускаю vglclient
) и запускаю команду glxgears через команду vglrun glxgears
, окно мигает и исчезает, и я получаю ошибки :
[VGL] NOTICE: Automatically setting VGL_CLIENT environment variable to
[VGL] 172.23.4.217, the IP address of your SSH client.
[VGL] ERROR: Could not connect to VGL client. Make sure that vglclient is
[VGL] running and that either the DISPLAY or VGL_CLIENT environment
[VGL] variable points to the machine on which vglclient is running.
[VGL] ERROR: in connect--
[VGL] 261: Connection refused
Не могли бы вы сказать, что мне нужно сделать, чтобы запускать glxgears или другие приложения OpenGL на удаленной Ubuntu? Ниже приведены результаты glxinfo; Я надеюсь, что они могут помочь в устранении неполадок. Если вам нужна другая информация, пожалуйста, дайте мне знать. Большое спасибо за вашу помощь.
glxinfo из локальной виртуальной машины:
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 3.3
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.4
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 17.2.4
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.2.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
При запуске glxinfo | версия grep на удаленной машине, те же ошибки, что и при непосредственном запуске glxgears:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 38
Current serial number in output stream: 39
Если я запускаю vglrun glxinfo | версия grep на удаленной машине, я получил:
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.5.0 NVIDIA 381.22
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.5.0 NVIDIA 381.22
OpenGL shading language version string: 4.50 NVIDIA
Локальное графическое оборудование, которое у меня есть, - это встроенный чипсет Intel, который очень стар и поддерживает только DirectX 10 и OpenGL 1.1, но, думаю, этого не должно быть. виновник, потому что локальная виртуальная машина имеет OpenGL 3.3 и работает.