Estoy intentando ejecutar un programa que usa OpenGL para representar un modelo en una ventana gráfica a través de VNC sin éxito.
El mensaje de error que recibo es - Xlib: falta la extensión "GLX" en la pantalla ": 1.0".
Entendí que VNC se puede configurar para renderizar todos los gráficos de forma remota y enviar una captura de pantalla comprimida desde el búfer de visualización al cliente local. Esto parecería negar la necesidad de extensiones GLX en el cliente local. ¿Se puede configurar VNC de esta manera y podría describir brevemente cómo?
Servidor remoto:
vncserver en RHEL 5
Cliente local:
UltraVNC en Windows XP
Respuestas:
Es posible que desee mirar GL virtual
Cita: "VirtualGL es un paquete de código abierto que brinda a cualquier software de visualización remota de Unix o Linux la capacidad de ejecutar aplicaciones OpenGL con aceleración de hardware 3D completa"
fuente
Estoy usando x11vnc para obtener acceso remoto a lo que se muestra en el monitor. x11vnc se comunica con el servidor X11 local y copia el framebuffer del servidor al cliente a través de vnc. Dado que el servidor X11 local representa todo con aceleración de hardware, obtengo OpenGL acelerado por hardware sobre VNC, incluso con todos los efectos geniales de escritorio. Así es como comienzo x11vnc:
Creo que casi cualquier visor vnc funciona, pero recomendaría turbovnc o tigervnc. Primero probé VirtualGL, y funciona bien, pero no para todo el escritorio, solo para aplicaciones OpenGL individuales.
Incluso es posible cambiar la resolución en la pantalla / vnc usando xrandr. Por ejemplo, así:
(Es posible agregar nuevas resoluciones si los modos disponibles no son suficientes, pero eso está fuera del alcance aquí).
Así que ahora tengo una sesión VNC completamente acelerada y redimensionable por hardware OpenGL.
fuente
Deshabilite el controlador especial Video Hook que utiliza UltraVNC, o use TightVNC.
Dado que el controlador UltraVNC se utiliza para mejorar el rendimiento, elimina cualquier tipo de procesamiento de video realizado en la tarjeta de video, como OpenGL.
El controlador de video que UltraVNC instala esto de manera predeterminada, lo hace para que no pueda mostrar gráficos OpenGL. Tenga en cuenta que deshabilitar el controlador disminuirá drásticamente el rendimiento. También tenga en cuenta que mientras se muestran los elementos representados en OpenGL, el rendimiento se verá afectado en ambos extremos, ya que la máquina del cliente ahora tiene mucho más trabajo por hacer y el ancho de banda requerido es mucho mayor. No esperes nada más de 4 segundos por cuadro (no 4 fps, más como 0.25 fps)
fuente