PDA

View Full Version : VBO & DRI on lunix



Okami
07-01-2011, 12:26 AM
Hello.

I would like to use VBOs () in OpenGL in a X11 / Linux context : OpenGL program is running on a Linux PC without a graphics card (“PC-user”), which communicates over the network with an another PC where Xorg server is running with the GLX extension (“PC-server”).

The “PC-server”, responsible for drawing, has a recent NVidia card (OpenGL 4). “PC-client” sends its requests through a display X11/GLX/OpenGL thanks to an export DISPLAY=”PC-server:0”.

According to the GLX1.4 documentation, located on the site of OpenGL, we can not use more than OpenGL 1.3 with GLX 1.4. However, based on extensions, its becomes possible to use newer features (such as VBO with this extension: GL_ARB_vertex_buffer_object).

My problem is:
If my program is running on “PC-server” and if I use the DRI extension, GL_ARB_vertex_buffer_object is found and can be used. But if my program is running on “PC-client” (or if I forbid to OpenGL to use DRI on “PC-server), this extension disappears.
Why? Is it due to limitation of GLX? How can I use VBOs on a remote X11 server PC ?

Another question: on the NVidia web site (http://developer.nvidia.com/nvidia-graphics-sdk-11), I found an OpenGL SDK, but only on Windows. Is there a version of SDK for Linux? I wasn’t able to find it.

Thank you in advance for yours answers.

Dark Photon
07-01-2011, 05:11 AM
A quick google reveals:

* http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=249826
* http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=282207#Post2822 07
* http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=203113#Post2031 13
* http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=145450#Post1454 50

Beware. Look at the dates. Some of these are old posts.

As mentioned, it looks like there is "GLX protocol" defined in the extension spec at least for some of the VBO API, though apparently that wasn't always true:

* http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt

Try the __GL_ALLOW_UNOFFICIAL_PROTOCOL tip mentioned in the 2nd link, and please let us know what results you find.

kRogue
07-01-2011, 01:23 PM
A great deal of GL2, GL3 and GL4 does not have an official GLX protocol. Your best hope, as Phantom says is enabling unofficial GLX protocol support for NVIDIA cards. The NVIDIA drivers for Linux usually give a list (somewhere buried in the readme) of what extras enabling __GL_ALLOW_UNOFFICIAL_PROTOCOL gives.

There was talk a long time ago of bring the protocol up to date, but I think that has fallen on the wayside.

Okami
07-07-2011, 03:09 AM
Hello.

Thanks for yours answers and the links. I will take a look on that...