Fwd: Threaded animation with cairo_gl backend over a GtkWidget
Carlos López González <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAF52pzKD293E+4GRRYHGurHy8B3gtEHb0GiwuJpPWoBLmmnzEw@mail.gmail.com> |
I forgot to CC cairo list ---------- Forwarded message ---------- From: Carlos López González <[email protected]> Date: 2013/1/15 Subject: Re: [cairo] Threaded animation with cairo_gl backend over a GtkWidget To: Uli Schlachter <[email protected]> Hi! I've upgraded to Ubuntu 12.10 and as part of the upgrade Ubuntu disabled the proprietary nvidia driver. With the the nouveau driver enabled and simply enable multithreading, it crash. carlos@laptop:~/my-test-area/build$ LANG=C ./cairo-sample [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. cairo-sample: ../../src/xcb_io.c:178: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed. Abortado (`core' generado) But when add XIniThreads() as shown in the previous post, it doesn't crash but it runs *extremely* slow (?). I'm using a GeForce 8400M GS graphic card (glxgears runs smoothly). If I enable the private nvidia-current driver it crashes in any case with the same message than I had before. The suggested breakpoint or the --sync option doesn't help much. So which are my alternatives? If I create the cairo_gl_surface but not using cairo_gl_surface_create_for_window but the cairo_gl_create_surface, would it have GPU acceleration as well? I just want to create a minimal example of multithreading drawing over a gtkwidget using cairo_gl to later translate to a bigger application, but it seems that it is impossible. Is there any *real* application that uses Cairo with GPU acceleration in production? Thanks! 2013/1/14 Uli Schlachter <[email protected]> > Hi, > > On 14.01.2013 21:24, Carlos López González wrote: > [...] > > The program 'cairo-sample' received an X Window System error. > > This probably reflects a bug in the program. > > The error was 'BadMatch (invalid parameter attributes)'. > > (Details: serial 230 error_code 8 request_code 135 minor_code 5) > > minor_code 5 likely is DRI2's GetBuffer request, but could also be a > RANDRGetScreenInfo, RenderChangePicture, SHAPEQueryExtents, > SHMCreatePixmap or > SyncQueryCounter. Of course, this doesn't really help us (does it?). > > [...] > > (Note to programmers: normally, X errors are reported asynchronously; > > that is, you will receive the error a while after causing it. > > To debug your program, run it with the --sync command line > > option to change this behavior. You can then get a meaningful > > backtrace from your debugger if you break on the gdk_x_error() > function.) > > do "break gdk_x_error" before you "run" the program. > > > [Thread 0xb4738b40 (LWP 3625) exited] > > [Thread 0xb54ffb40 (LWP 3624) exited] > > [Thread 0xb6224880 (LWP 3620) exited] > > [Inferior 1 (process 3620) exited with code 01] > > (gdb) where > > No stack. > > (gdb) > > > > > > How can I add the --sync option? > > If the program supports this option: "run --sync". > > Uli > -- > "Why make things difficult, when it is possible to make them cryptic > and totally illogical, with just a little bit more effort?" -- A. P. J. > -- > cairo mailing list > [email protected] > http://lists.cairographics.org/mailman/listinfo/cairo > -- Carlos http://synfig.org -- Carlos http://synfig.org -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo