attente / clutterrific

Clutter screensavers for gnome-screensaver
http://attente.ca/
GNU General Public License v2.0
6 stars 0 forks source link

No GLX context on nvidia cards #1

Open joh opened 13 years ago

joh commented 13 years ago

Hi, first of all, great project!

I'm having some issues running the screensavers on my nVidia GeForce GTS 250 (Ubuntu 10.04) using the proprietary drivers. For some reason, a GLX context isn't available in the foreign window, causing glGetString (GL_VERSION) to fail (clutter/cogl/cogl/driver/gl/cogl-gl.c:69). The resulting output is an infinite stream of the following errors:

(flip-clock:20812): Clutter-CRITICAL **: The GL driver is not supported: The OpenGL version could not be determined

(flip-clock:20812): ClutterGLX-CRITICAL **: Unable to make the stage window 0x6200008 the current GLX drawable

What's strange is that clutter-gtk works fine on the same system, which employs the same method of stage foreign drawing. However it seems to jump through some more hoops in order to get there. I'm not sure how to fix this, but I wrote a simple test case reproducing the error: http://paste2.org/p/1021025

Emanuelle provided some insight on IRC and suggested that the window doesn't have the correct visual. I don't know exactly what that means though :P

Let me know if there's anything I can do to help, as I'm writing a screensaver myself and struck the same problem. Note that all the screensavers (and test program) work on another computer with an intel card.

Best regards, Johannes

attente commented 13 years ago

Hi Johannes,

Thanks for letting me know. To be honest, I'm at a bit of a loss since I don't have the same hardware setup, and this is the first I've heard of the problem. I think Emmanuele suggested that this is a problem specific to the gnome-screensaver, or at least the way we're interfacing with it.

If you're up for testing something, maybe try injecting a call to clutter_x11_set_display () with the display from gdk_display_get_default (). This is just something I see that sticks out from clutter-gtk at least.

Thanks, if you could keep me updated, I'd really appreciate it. Maybe we can figure this out...

joh commented 13 years ago

Hi, thank you for your quick reply.

The call to clutter_x11_set_display() did not seem to make any difference (apart from the destroy signal not getting emitted when clicking the close button on the window).

I've pasted my test program here: http://gist.github.com/614269

Let me know if there's anything else I can try :-)