nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Missing GL extensions (http://www.nvnews.net/vbulletin/showthread.php?t=2665)

barole 10-08-02 04:36 PM

Missing GL extensions

I think I must be doing something stupid.

I have installed the 3123 drivers on redhat 7.3.
X works fine. When I run the command "glxinfo", I get a huge list of supported extensions.

In my app, when I query the extension list via glGetString (GL_EXTENSIONS), the list is very short. I do get a reasonable looking renderer and gl version. Also, my GLX extension list is shorter (no pbuffers, for example).

When I run my app, it runs fast enough that I am pretty sure it must be using the nvidia drivers.

Here is what my application logs:

Renderer: "Quadro DCC/AGP/3DNOW!"

Extensions: "GL_ARB_multitexture GL_ARB_imaging GL_EXT_abgr GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract "

GL version: 1.3 ("1.3.1 NVIDIA 31.23")

GLX Extensions: "GLX_EXT_visual_info GLX_EXT_visual_rating GLX_EXT_import_context "

What am I missing?


Chalnoth 10-08-02 05:02 PM

This is really just a guess, but it seems to me that perhaps the wrong GL library is being referenced?

I believe the default library referenced should be lib.gl.so.1 (or something like that...). Make sure that this is linked to the library included in the drivers you downloaded.

bwkaz 10-08-02 06:47 PM

What's your code look like?

I did see something that might be relevant, in the glGetString() manpage:


The client and server may support different versions or extensions. glGetString always returns a compatible version number or list of extensions.
So if the X server isn't on the same box as the client (your program), then that might be the problem. I don't know if that's what you're trying to do or not, though...

Like I said, post your code, that might help...

barole 10-08-02 09:14 PM

Thanks for your replies.

Here is /usr/lib/libGL*. I think it looks ok.

lrwxrwxrwx 1 root root 21 Oct 7 20:01 /usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.3123*
-r-xr-xr-x 1 root root 3623820 Aug 27 19:36 /usr/lib/libGLcore.so.1.0.3123*
lrwxrwxrwx 1 root root 10 Oct 7 20:01 /usr/lib/libGL.so -> libGL.so.1*
lrwxrwxrwx 1 root root 17 Oct 7 20:01 /usr/lib/libGL.so.1 -> libGL.so.1.0.3123*
-r-xr-xr-x 1 root root 283444 Aug 27 19:36 /usr/lib/libGL.so.1.0.3123*
lrwxrwxrwx 1 root root 33 Oct 7 13:30 /usr/lib/libGLU.so -> ../../usr/X11R6/lib/libGLU.so.1.3*
lrwxrwxrwx 1 root root 33 Oct 7 13:16 /usr/lib/libGLU.so.1 -> ../../usr/X11R6/lib/libGLU.so.1.3*

If I break my program at glGetString, then gdb tells me that it is in
0x40caaa50 0x40cd41ac Yes /usr/lib/libGL.so.1

So, I think that the right libGL is being used.

I am displaying to my local machine.

barole 10-08-02 10:25 PM

Found problem (thanks)
I found the problem. I was trying to create a simple code example for you all to look at and I noticed that it worked - so it was definitely my app.

I added a call to glXMakeCurrent before querying for extensions and now I have them all. I thought it was already current I guess it was not. The bizarre thing is that I thought glGetString normally returned NULL if there was no context current

Again, thanks for your replies.

All times are GMT -5. The time now is 12:12 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.