Windows 7 host - ubuntu 16.04 VM local - Ubuntu 16.04 remoto. Como executar o OpenGL na máquina remota?

0

Meu objetivo é executar o OpenGL Application em uma máquina remota do ubuntu, e espero que eu possa usar a última versão 4.5 do OpenGL o máximo possível. O host local (em casa) é o Windows 7. Para conectar o ubuntu remoto, eu instalei a estação de trabalho VMware 12.5.7 que alega suportar o OpenGL 3.3. O sistema operacional convidado na VM local é o ubuntu 16.04 no qual eu instalei a mesa 17.2.4, que alega suportar o OpenGL 4.5. Devido à limitação da estação de trabalho VMware, só posso usar o OpenGL 3.3 na VM e realmente funciona. Então eu ssh -Y de dentro da VM para a máquina remota. A máquina remota é o ubuntu 16.04 no qual o hardware nVidia Titan e todos os pacotes de software relacionados a gráficos que eu conheço estão instalados e rodando como o driver mais recente da nVidia, servidor X, VirtualGL, GLX, etc. Agora eu quero ter o aplicativo OpenGL rodando no remoto máquina (ou seja, consuma recursos computacionais na máquina remota) e retorne os resultados da saída para mim na minha estação de trabalho VMware local. Para esboçar:

local Windows 7 host -> local ubuntu 16.04 VM -> remote ubuntu 16.04

Sabemos que o glxgears é um aplicativo OpenGL. Se eu rodá-lo diretamente na máquina remota, eu tenho erro:

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

Se eu iniciar o VirtualGL (executar vglclient ) e executar o glxgears por meio do comando vglrun glxgears , uma janela piscará e desaparecerá e eu receberei erros:

[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

Você poderia, por favor, me dizer o que eu preciso fazer para executar o glxgears ou outros aplicativos OpenGL no ubuntu remoto? A seguir estão os resultados do glxinfo; Espero que eles possam ajudar na solução de problemas. Se você precisar de alguma outra informação, por favor me avise. Muito obrigado pela sua ajuda.

O glxinfo da VM local:

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

Ao executar o glxinfo | grep version na máquina remota, os mesmos erros que a execução do glxgears diretamente:

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

Se eu executo a versão vglrun glxinfo | grep na máquina remota, obtenho:

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

O hardware gráfico que tenho localmente é o chipset integrado da Intel, que é muito antigo e suporta apenas DirectX 10 e OpenGL 1.1, mas acho que isso não deve ser o culpado, porque a VM local tem o OpenGL 3.3 instalado e funcionando.

    
por user5280911 09.01.2018 / 06:27

0 respostas