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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. A New X.Org-Free Wayland LiveCD Released
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Is there anyway to improve the performance of the...
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  5. Steam: No used games...
  6. New Intel X.Org Driver Supports All Of 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