LLVMpipe & Compiz 0.9 Still Don't Play Along

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.
6 Comments