LLVMpipe Doesn't Yet Like The GNOME Shell

Posted by Michael Larabel on May 05, 2010

Last week we published our first benchmarks of LLVMpipe, which is a new driver for Gallium3D that's to serve as a software rasterizer on the CPU. LLVMpipe is ideal for cases where a GPU is not available or supported and it leverages LLVM (the Low-Level Virtual Machine) for optimization and providing much better software acceleration than Mesa's traditional software rasterizer or Gallium3D's previous Softpipe driver. LLVMpipe really likes modern, fast processors with SSE3/SSE4 support especially for best performance, but will work with nearly any 64-bit Intel/AMD processor. Unfortunately, LLVMpipe doesn't yet play well with GNOME Shell.

In those benchmarks last week where we used the Mesa state tracker from Gallium3D with the LLVMpipe driver to accelerate the operations on the Intel Core i7 processor, the OpenArena game was basically playable in this configuration at low resolutions but much slower than the classic Mesa or Gallium3D drivers for an ATI Radeon R500 series graphics card. While OpenArena ran fine on LLVMpipe, the GNOME Shell isn't yet working well when being accelerated by this software stack.

One of the major features being worked on for GNOME 3.0 is the GNOME Shell, which provides a new way to manage the GNOME desktop and it's integrated with the Mutter compositing window manager for a pleasing experience -- assuming you have hardware acceleration. The Clutter tool-kit depends upon OpenGL / OpenGL ES for drawing and thus needs 3D acceleration like from the Intel/ATI/NVIDIA-Nouveau Mesa or Gallium3D drivers or using the NVIDIA/ATI proprietary graphics drivers. To no surprise, Mesa's software rasterizer is not fast enough to handle the Mutter/Clutter operations with its software paths and doesn't even render the screen correctly.

We were interested to see whether LLVMpipe would work with the GNOME Shell/Mutter efficiently, so we tried it out on Ubuntu 10.04 LTS with LLVM 2.7 and a Mesa stack that was checked out from Git on 2010-05-05 (up through this commit). This was from a Mac Mini setup with an Intel Core 2 Duo processor, but unfortunately, LLVMpipe and the Mesa state tracker do not yet play well with GNOME Shell and its underlying Clutter pinnings.


When starting the GNOME Shell with LLVMpipe on Gallium 0.4 via this latest Mesa code, the screen turned out like what is shown in the above screenshot. The screen was mostly black except for a few icons coming through. This is similar to how the classic Mesa software rasterizer attempts to handle running GNOME Shell, but with LLVMpipe it ended up exiting out of the GNOME Shell a few seconds later with a signal status of 11 or signal 5 when LLVMpipe was built with the debug options. For reference, when attempting to launch Compiz with LLVMpipe and the Mesa state tracker it currently results in a white screen.

It's a pity that LLVMpipe isn't yet playing well with the GNOME Shell and Mutter/Clutter, but hopefully by the time that the GNOME 3.0 desktop is rolled out in September, this LLVM-assisted software driver will work well. This would allow those with a modest processor but no GPU hardware driver (such as those into open-source drivers but don't yet have a Mesa/Gallium3D driver, like those waiting on the ATI Radeon HD 5000 series 3D support) or in potentially a virtualized environment without guest 3D support to be able to use GNOME's new compositing manager and shell.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. NVIDIA Driver Soon Likely To Support EGL, Mir
  2. OpenMandriva Goes Into Alpha Form, Russian-Based
  3. NVIDIA Brings Their Linux Driver To ARM
  4. D Language Still Showing Promise, Advancements
  5. Planetary Annihilation Released For Linux Gamers
  6. Gentoo Starts Work On KDE-Wayland Support
  7. NVIDIA To License Its Kepler GPU Technology
  8. KDE's KWin Made Lots Of Progress In 4.11
  9. Ubuntu Announces Carrier Advisory Group
  10. Qt 5.1 Release Candidate 1 Has Arrived
  11. In-Fighting Continues Over Mir On Non-Unity Ubuntu
Latest Forum Talk
  1. D Language Still Showing Promise, Advancements
  2. Gentoo Starts Work On KDE-Wayland Support
  3. NVIDIA Driver Soon Likely To Support EGL, Mir
  4. NVIDIA Brings Their Linux Driver To ARM
  5. OpenMandriva Goes Into Alpha Form, Russian-Based
  6. Ubuntu Announces Carrier Advisory Group
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite