I just bought an ATI Radeon 9700 because I want to use fragment programs under Linux. I downloaded the 2.5.1 drivers from ati.com and installed them. As expected, glxinfo now tells me that GL_ARB_fragment_program is supported. But when I use it in my program I get undefined references for all related functions while linking, e.g. for glGenPrograms.
In addition glActiveTexture is not known, only glActiveTextureARB. Is OpenGL 1.3 really supported. Then why is the shared object called libGL.so.1.2.
Or is there another driver I did not find? But glxinfo gives me a version-string of 1.3.3477.
Thanks for any help.
Well, I’ve also had some problems with extensions using the 2.5.1 drivers with GL_ARB_texture_compression and GL_ARB_multisample without the ARB suffix, but thats on my 8500. One person you might want to try and contact with is Humus, he’s got a 9700 running under Linux. Check out his website at
He should have some examples up on his site showcasing the extension. If you still can’t get it to run, the RPM might not have been installed right, or you might have the wrong driver?!
I do not have a 9700, but i suppose you have to fiddle around with glXGetProcAddress() to get function pointers to those functions of the extension that you want to use. This is similar to windows and wglGetProcAddress().
Thanks Flo, I guess that was the right hint. Also thanks Dan, I will take a look at how Humus has done it.
Until now, I didnt even know that there is something like glXGetProcAddress(). I thought that it was only necessary on windows to use
wglGetProcAddress() for extensions. I used
fragment programs on an NVidia card with NV30 emulation without having to call glXGetProcAddress(). Why is it realized differently in the ATI drivers? Any ideas?
Because NVIDIA resupply ALL your openGL in linux… the headers, libs… all.
OK, it looks like I have to accept that I have to use glXGetProcAddress() with the ATI drivers.
But I still do not understand why I have to use glActiveTextureARB() instead of glActiveTexture(). Multitexturing is a core feature since OpenGL 1.3 and the result of glGetString(GL_VERSION) is 1.3.3477.
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.