{{{#!div class="box" [[Image(http://xpra.org/icons/opengl.png)]] = OpenGL Window Rendering = This page is about the [https://www.opengl.org/ OpenGL] rendering mode of the xpra client, for running opengl applications in an xpra session see [/wiki/Usage/OpenGL Usage: OpenGL Applications], for general opengl debugging see [/wiki/Debugging/OpenGL]. This [/wiki/ClientRendering] mode should be used by default on platforms that support it, which is most of them, when using the GTK2 client, which is the default client. [[BR]] For any {{{OpenGL}}} warnings/errors, please first check the [/wiki/FAQ#OpenGLIssues OpenGL FAQ entries] [[BR]] This mode should be much faster than the fallback {{{Pixmap}}} based rendering as it is GPU accelerated and the [/wiki/CSC Colourspace Conversion] step can be skipped as it supports YUV pixel formats natively. }}} {{{#!div class="box" == Notes == Some drivers are blacklisted for opengl support, for example: older versions of the {{{nouveau}}} driver on Linux, and the Intel driver on all platforms. Status messages should be printed out when using the command line tool to attach to a session (unless the configuration file or command line options specifically disabled it). The {{{--opengl=yes|no|auto}}} option can be used to override the automatic detection of supported drivers. You can also find the opengl driver information in the {{{Features}}} pane of the {{{Session Info}}} dialog from the system tray menu. To test/diagnose your system and driver support, run: * on Posix (source: [/browser/xpra/trunk/src/xpra/client/gl/gl_check.py gl_check.py]): {{{ python xpra/client/gl/gl_check.py }}} * on MS Windows: {{{ OpenGL_check.exe }}} * on OSX: {{{ ./Xpra.app/Contents/Helpers/OpenGL_check }}} The output will show the driver, vendor and the status of various required extensions. }}} {{{#!div class="box" == Intel Driver Issues == Why is the Intel opengl driver greylisted? ("Enable at your own risk") Because it doesn't work very well. See: * #1050 - fullscreen crash on win32 * #1024 - glTexParameteri error * #968 - rendering dimensions * #809 - rendering fails * #808 / #563 / #1087 - OSX crashes * #745 - windows greyed out * #565 - Linux opengl errors * #147 - original ticket - odd behaviour reported already * #1358 - glclear bug in driver * #1362 - high cpu usage due to non-opengl rendering }}} {{{#!div class="box" == {{{OpenGL}}} Related Tickets == * #147 - original feature ticket * #150 - {{{OpenGL}}} usage bugs * #226 - OSX build issues * #227 - MS Windows specific issues * #229 - bug: hard crash * #314 - {{{VirtualBox}}} bug (crash VM) * #321 - problem with small rgb updates * #328 - codec split * #367 - minor UI tweak * #365 - future optimization * #372 - Linux client crash * #385 - Improvements: scaling / RGB * #468 - {{{OpenGL}}} rendering bug due to alpha channel * #478 - flickering * #492 - corrupted pixels on resume * #969 / #942 - maximum size of opengl windows * #929 - crash on suspend / resume * #792 - synchronized painting * #717 - zero copy crashes * #679 - improvements tracker ticket * #646 / #818 - paint spinners using opengl * #901 - crash on win32 triggered by session lock + unlock * #1309 - 30-bit deep colour support }}} {{{#!div class="box" == {{{OpenGL}}} Reference Links == * [https://www.opengl.org/wiki/Main_Page opengl.org wiki] * [http://open.gl/ open.gl] ''This guide will teach you the basics of using OpenGL to develop modern graphics applications'' * [http://www.opengl-tutorial.org/ opengl-tutorial.org] ''This site is dedicated to tutorials for OpenGL 3.3 and later !'' * [http://www.swiftless.com/opengltuts.html OpenGL 2 Tutorials] at [http://www.swiftless.com swiftless.com] * [http://en.wikibooks.org/wiki/OpenGL_Programming wikibooks.org: OpenGL Programming] * [http://blog.rarepebble.com/111/premultiplied-alpha-in-opengl/ Premultiplied Alpha (in OpenGL)] * [http://www.labri.fr/perso/nrougier/teaching/opengl/ Modern OpenGL tutorial (python)] }}}