 <p>yes, Cairo is a high quality 2D drawing API, and GTK+ uses Cairo to draw itself.</p> <p>Cogl is a GPU programming library that internally can use GL or GLES to access the graphics pipeline (though in theory it could as easily use DirectX on supported platforms).</p> <p>Clutter uses Cogl for rendering, but it can also use Cairo for 2D elements.</p> <p>Clutter will not replace GTK+: GTK+ is a very complex library that provides system integration, complex widgets, and other utility API that Clutter has no interest in providing.</p> <p>the future is going to be a bit more gray than a black-and-white replacement.</p> <p>Cairo can use Cogl to draw; Cogl will program the GPU pipeline, but Cairo will generate the geometry to be submitted, so you can have high quality 2D results. Cairo already can use GL directly, but Cogl has a better state tracking already.</p> <p>Clutter can use GDK, the GTK+ windowing system API, to talk to the windowing system surfaces and get input events.</p> <p>in the future, it's entirely possible that GTK+ will use Clutter internally as the base for its widgets - though that's still a work in progress.</p> <p>in short, a diagram could be:</p> <pre><code> GPU &lt;- [ [ Cogl + Cairo ] &lt;- [ GDK + Clutter ] &lt;- GTK+ ] &lt;- application </code></pre>