Estou tentando executar um programa que usa o OpenGL para renderizar um modelo em uma viewport através do VNC sem êxito.
A mensagem de erro que recebo é - Xlib: extensão "GLX" ausente no visor ": 1.0".
Entendi que o VNC pode ser configurado para renderizar todos os gráficos remotamente e enviar uma captura de tela compactada do buffer de exibição para o cliente local. Isso parece negar a necessidade de extensões GLX no cliente local. O VNC pode ser configurado dessa maneira e você pode descrever brevemente como?
Hospedeiro remoto:
vncserver no RHEL 5
Cliente local:
UltraVNC no Windows XP
Respostas:
Você pode querer consultar o Virtual GL
Citação: "VirtualGL é um pacote de código aberto que oferece a qualquer software de exibição remota Unix ou Linux a capacidade de executar aplicativos OpenGL com aceleração total do hardware 3D"
fonte
Estou usando o x11vnc para obter acesso remoto a qualquer coisa que o monitor esteja exibindo. O x11vnc conversa com o servidor X11 local e copia o buffer de quadros do servidor para o cliente via vnc. Como o servidor X11 local processa tudo com a aceleração por hardware, eu recebo OpenGL por VNC acelerado por hardware, mesmo com todos os efeitos interessantes da área de trabalho. É assim que inicio o x11vnc:
Eu acho que quase qualquer visualizador vnc funciona, mas eu recomendaria turbovnc ou tigervnc. Tentei o VirtualGL primeiro e funciona bem, mas não para toda a área de trabalho, apenas para aplicativos OpenGL individuais.
É até possível alterar a resolução no monitor / vnc usando xrandr. Por exemplo:
(É possível adicionar novas resoluções se os modos disponíveis não forem suficientes, mas isso estiver fora do escopo aqui.)
Então agora eu tenho uma sessão VNC totalmente acelerada e redimensionável em hardware OpenGL.
fonte
Desative o driver especial de gancho de vídeo usado pelo UltraVNC ou use o TightVNC.
Como o driver UltraVNC é usado para melhorar o desempenho, ele descarta qualquer tipo de processamento de vídeo feito na placa de vídeo, como o OpenGL.
O driver de vídeo que o UltraVNC instala isso por padrão, faz com que ele não exiba gráficos OpenGL. Observe que desabilitar o driver diminuirá drasticamente o desempenho. Observe também que a exibição de itens renderizados no desempenho do OpenGL sofrerá nas duas extremidades, pois a máquina cliente agora tem muito mais trabalho a fazer e a largura de banda necessária é muito maior. Não espere nada acima de 4 segundos por quadro (não 4 qps, mais como 0,25 qps)
fonte