{{{#!div class="box" = [[Image(http://xpra.org/icons/bugs.png)]] OpenGL Debugging using `Apitrace` = See also: [/wiki/ClientRendering#OpenGLRelatedTickets] and [https://www.xpra.org/trac/wiki/ClientRendering/OpenGL OpenGL client rendering] [[BR]] Whenever you encounter problems with client-side `OpenGL` rendering, for example with `OpenGL` error messages, crashes, or visual artifacts, there are some specific steps to take to investigate. The *`Apitrace`* tool will get a dump of the `OpenGL` command stream, allowing it to be sent to the developers for replaying and investigation. }}} {{{#!div class="box" == Installation == * On Linux: Download [https://github.com/apitrace/apitrace Apitrace], build it according to the documentation: [https://github.com/apitrace/apitrace/blob/master/INSTALL.markdown] [[BR]] * On Windows: You can use pre-built binaries found at [http://people.freedesktop.org/~jrfonseca/apitrace/] Try to always use the latest version and fallback to an older one if it doesn't work. }}} {{{#!div class="box" == Trace generation == This trace will enable you to replay the actions of the client without having to re-run it; giving you additional error tracing, ability to send the trace to another person, and ability to replay the exact same steps every time. Use as follows: {{{ $ apitrace trace xpra attach }}} - Do whatever is needed to reproduce the issue you are experiencing. Beware: Apitrace is keeping a copy of everything you do in RAM, it's going to be huge, so don't run the session for too long, and focus on reproducing one issue at a time. - Exit Xpra when done {{{ $ qapitrace }}} `File` -> `load the trace` Then go to `Trace` -> `Replay` and check both boxes Apitrace will replay your trace and report in the bottom panel any errors it found, with additional explanation as compared to what the GL driver typically gives. Be ready to send the {{{.trace}}} file to the developers for further investigation. }}}