LLVMpipe May Be A Bit Closer To Running GNOME Shell

Posted by Michael Larabel on May 23, 2010

Last month we looked at the performance of the Gallium3D LLVMpipe driver that can provide software acceleration for the OpenGL-Mesa state tracker (among other state trackers via this driver architecture) on any modern CPU via LLVM (the Low-Level Virtual Machine) to optimize and handle these operations much more efficiently than the traditional Mesa software rasterizer.

The performance of LLVMpipe obviously was nowhere near the speed of using a proper GPU hardware driver with Gallium3D, but it was definitely a step-up from Mesa's software rasterizer that is simply unusable crap. Some games were close to being playable using LLVMpipe atop a very fast, multi-core CPU thanks to the geometry pipeline and other additions to this software driver.

While LLVMpipe is able to run OpenGL games, we then tested to see if LLVMpipe could run the GNOME Shell or Compiz, which need OpenGL but are not nearly as taxing on the graphics as a normal game. If LLVMpipe could efficiently handle running GNOME Shell it would mean a lot for providing a better "out of the box" experience for systems where there is no open-source 3D driver available by default with the GNOME 3.0 desktop. However, Compiz nor the GNOME Shell had worked with LLVMpipe at that time.

The problem was largely attributed to the software rasterizer / LLVMpipe lacking support for the GLX_EXT_texture_from_pixmap extension. This was the extension that was needed with the original Compiz upbringing and it took a while for ATI to drive that support in their Catalyst / fglrx Linux driver but now that texture from pixmap extension can be found in pretty much every open- and closed-source Linux graphics driver.

Fortunately, Red Hat's David Airlie has now created a patch that adds the texture from pixmap (TFP) support to Mesa's software rasterizer (the "swrast" driver). The patch was published this morning on the mesa-dev mailing list. David mentions with this patch he can "run gnome-shell inside Xephyr slowly. I've no idea why I did it, and g-s has other rendering issues under swrast, but it might be useful to hook up llvmpipe later. I've no idea if I even want to commit it at this point."

This patch is just a couple dozen lines of code and obviously isn't really beneficial quite yet but will hopefully be once hooked into LLVMpipe and the other GNOME Shell issues are addressed.

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. LLVM 3.3 Officially Released
  2. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  5. VP9 Codec Now Enabled By Default In Chrome
  6. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  7. Debian 7.1 Rounds In Some Bug-Fixes
  8. Min / Max FPS Comes To Test Results
  9. Google Pushes More Mesa / Gallium3D Patches
  10. The Phoronix Migration Is Fully Complete
  11. Linux 3.10-rc6 Kernel Brings In More Fixes
Latest Forum Talk
  1. AMD Catalyst 13.6 Beta
  2. LLVM 3.3 Officially Released
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. The Wayland Situation: Facts About X vs. Wayland
  5. VP9 Codec Now Enabled By Default In Chrome
  6. Gallium3D LLVMpipe Benchmarks From Intel Haswell
  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