Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

How to use RealVNC with VirtualGL

Help
2012-02-08
2013-11-26
  • oolong-cha-880
    oolong-cha-880
    2012-02-08

    Hello.

    I am trying to use RealVNC Enterprise Edition with VirtualGL, but I cannot.
    Please let me know how to solve this.

    ///// Server PC environment /////
    OS: Red Hat Enterprise Linux 5.7(x86_64)
    VNC: VNC Enterprise Edition for Linux (x64) Version 4.6.3
    Graphics card: GeForce GTS450
    Video Driver: NVIDIA-Linux-x86_64-290.10.run
    ////////////////////////////////

    • I did the following: -
      - Server PC side
      (1)# rpm -i VirtualGL-2.3.x86_64.rpm
      (2)# /sbin/init 3
      (3)# /opt/VirtualGL/bin/vglserver_config
         Restrict 3D X server access to vglusers group (recommended)? … n
         Restrict framebuffer device access to vglusers group (recommended)? … n
         Disable XTEST extension (recommended)? … n
      (4)# /sbin/init 5
      (5)$ vncserver :1

    - Viewer PC side:
    (6)$ vncviewer :1
    (7)In Viewer Window,
       $ /opt/VirtualGL/bin/vglrun ./pbuffers2
       (* "pbuffers2" is an executable name that I builded.
        http://doc.qt.nokia.com/4.7-snapshot/opengl-pbuffers2.html)
    (8)Error pop-up window appeard; "This system does not support OpenGL/pbuffers."


    Incidentally, I could run "pbuffers2" on Server PC's native X(x0vncserver -UseDamage=0).
    By the way, I installed Red Hat Enterprise Linux 6.1(x86_64) and tigervnc-server-1.0.90-0.15.20110314svn4359.el6_1.1.x86_64 as a test,
    then I did the above-mentioned (1) to (7), I could run "pbuffers2" successfully.
    However, I have to run OpenGL applications with RealVNC Enterprise in Virtual Mode on Red Hat Enterprise Linux 5.7(x86_64)
    due to some circumstances.

    I look forward to hearing from you.

     
  • DRC
    DRC
    2012-02-09

    Is it possible that the VNC server is running with a color depth other than 24-bit?  It's possible that the pbuffers2 program is printing that message because glXChooseFBConfig() failed, and that function (which VirtualGL is interposing) would fail if VirtualGL failed to find a 24-bit, Pbuffer-capable FB config on the 3D X server (:0) or if VirtualGL failed to map this to a 24-bit visual on the 2D X server (:1).  Running

    /opt/VirtualGL/bin/vglrun /opt/VirtualGL/bin/glxinfo

    might be more illuminating.

     
  • oolong-cha-880
    oolong-cha-880
    2012-02-09

    Thank you for your reply.
    I ran the glxinfo you told me.
    *****
    $ /opt/VirtualGL/bin/vglrun /opt/VirtualGL/glxinfo
    Error: couldn't find RGB GLX visual or fbconfig
    name of display: :1.0

    4 GLX Visuals
       visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
    id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat


    0x23 16 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x24 16 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x25 16 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x26 16 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    *****
    > Is it possible that the VNC server is running with a color depth other than 24-bit?
    I found visual depth(?) is 16-bit in the above GLX Visuals list.(I don't know how to read above list well.)
    So, I ran the vncserver with the '-depth 24' option.
    Reconnecting to the vncserver, I ran the glxinfo again.
    *****
    $ /opt/VirtualGL/bin/vglrun /opt/VirtualGL/glxinfo
    name of display: :1.0
    display: :1  screen: 0
    direct rendering: Yes
    server glx vendor string: VirtualGL
    server glx version string: 1.4
    server glx extensions:
        GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
    client glx vendor string: VirtualGL
    client glx version string: 1.4
    client glx extensions:
        GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
    GLX version: 1.4
    GLX extensions:
        GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
        GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: GeForce GTS 450/PCI/SSE2
    OpenGL version string: 4.2.0 NVIDIA 290.10
    OpenGL extensions:
        GL_ARB_base_instance, GL_ARB_blend_func_extended,
              
    4 GLX Visuals
       visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
    id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat


    0x23 24 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x24 24 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x25 24 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    0x26 24 tc  0 32  0 r  y  .  8  8  8  0  4 24  0 16 16 16 16  0 0 None
    *****
    Then, I could run
    /opt/VirtualGL/bin/vglrun ./pbuffers2
    successfully!!

    I appreciate your kindness.