LLVMpipe & Compiz 0.9 Still Don't Play Along

Written by Michael Larabel in Mesa on 19 August 2010 at 12:35 PM EDT. 6 Comments
MESA
LLVMpipe is an especially interesting Gallium3D driver since it allows accelerating the state trackers atop any modern CPU, but for any close to decent level of performance when using OpenGL you need a hefty multi-core CPU (here's some LLVMpipe benchmarks just from last week) that supports the latest SSE4 instructions as well. While some OpenGL games will run with LLVMpipe and the performance of this driver that leverages the Low-Level Virtual Machine is much faster and better than Mesa's old software rasterizer or the Gallium3D Softpipe driver, Compiz nor the GNOME Shell (and most other compositing window managers) yet work with this driver.

LLVMpipe fails with the GNOME Shell and Compiz 0.8 because the LLVM+Gallium3D driver doesn't yet implement the GLX_EXT_texture_from_pixmap extension, which is needed for these desktop compositing window managers. Attempting to use the current LLVMpipe driver with such compositing managers will either result in a black/white screen or other show-stopping artifacts.

Eventually the LLVMpipe driver should support the texture-from-pixmap extension and a number of weeks back an initial implementation of this GLX extension was added to Mesa's Software Rasterizer. This may become more important once GNOME 3.0 ships with the GNOME Shell / Mutter and more Linux desktop users expect a composited experience regardless of whether there is a proper graphics driver or not, but with using LLVMpipe it will cost you some CPU cycles.

As was pointed out in our forums, with Compiz 0.9 the GLX_EXT_texture_from_pixmap support is no longer a hard requirement for Compiz. While using the texture-from-pixmap extension is the most efficient path for an OpenGL window compositor, with Compiz 0.9 comes a "copy mode" plug-in (called "copytex") that is not quite as fast with its copying of pixmap content to texture approach. Besides dropping the hard requirement against the proper GLX extension, this method also allows pixmaps bigger than the maximum texture size supported by the driver/GPU. However, even still Compiz 0.9 still isn't playing along well with the latest Git code.

When trying out the very latest Git code for Compiz and Mesa/Gallium3D/LLVMpipe from last weekend, there is progress in that it longer a solid-colored screen that appears when launching Compiz. However, the window decorations are not rendered and the overall experience still isn't usable. At least though we are heading in the right direction and we'll be continuing in our LLVMpipe/Gallium3D experiments.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week