I´ m fighting one problem for days now… after making the framebuffer context current, its impossible to make it non-current or make another context/drawable current. The application just hangs in the glXMakeCurrent() call. I get no error, no segfault… just nothing!
I´m using a GF6800GT, 61.11 drivers on Suse9.0.
The original rendering context was creating by a FXGLCanvas object of the FOX Toolkit library.
Edit: to be more precise:
The hang occurs after the very first buffer-swap has been done. Before that I can switch the Contexts without problems.
Does the code work with software rendering using Mesa? By that I mean using the out-of-the-box nv driver for XFree86 / X.org with indirect rendering. If that works, but the Nvidia driver doesn’t, it would certainly point to an Nvidia bug that should be reported to their dev rel. If it doesn’t work, then it could be due to some difference between the way things work in WGL vs. GLX. Can you post (or provide a link to) a small bit of code that shows the problem?
I have found some “solution” to my problem: disabling AGP in the nVidia driver. I suspect my KT400 mainboard (chipset?) to be the reason for all the odds, but I am not sure. I will do some experiments tomorrow and report my findings. At least I can now continue coding, yehaaw!
I would follow Ben’s instructions/advise and get that
in the list.
Also, how do you know that there is no problem when
you are switching between contexts before you have
done a buffer swap?
Why don’t you try and get an error number right
after that call, just in case something weird is
going on… Just a thought.
Also, how do you know that there is no problem when
you are switching between contexts before you have
done a buffer swap?
Why don’t you try and get an error number right
after that call, just in case something weird is
going on… Just a thought.
I know, because I tried out.
The application I am working on is heavily dependend on pbuffers for post processing effects, so I have about 20 makeCurrent()´s before the first buffer swap happens. I´d love to get any error number. But as I stated, the app hangs directly inside the first makeCurrent() that gets called after the very first buffer swap. No error occurs, no segfault - the app just stops running.
In meantime we exchanged the board (Asus A7V8X) with a nForce2 board (Asus A7N8X-X). The problem instantly went away. Before that we tried alot of other things like updating the kernel, using either the nVidia AGP driver or the kernel AGPGART module or updating the boards BIOS. Nothing helped.
Maybe I should note that not only my app was affected. The FOX Toolkit (platform independed GUI lib) I am using provides two sample apps, “gltest” and “glviewer”. Both hang the same way as my app. Also Tux-Racer hung when trying to quit it.
I´ll post this bug on that list, but I cannot provide the output of that bug report script, because the old board is no longer inside my machine.