Freedreno Gallium3D Driver Might Be Merged Soon

Posted by Michael Larabel on February 03, 2013

The open-source "Freedreno" Gallium3D driver that provides reverse-engineered 3D support for Qualcomm's Adreno/Snapdragon graphics processor is turning out to be in quite good shape. Freedreno is one of the first good ARM Gallium3D drivers and it might soon be merged into Mesa.

Rob Clark talked about his Freedreno Gallium3D driver this weekend at FOSDEM in Brussels. This is the reverse-engineered open-source Qualcomm driver that he began to work on last April.

While Freedreno is a personal side project mostly just worked on by Clark himself in his spare time, the 2D and 3D reverse-engineered driver support is coming along rather well. Right now he's doing most of his work from an Adreno A220/Z180 (Snapdragon S3) as found on an HP TouchPad. However, he's soon going to be switching over to focusing upon a Google Nexus 4 with an A320.

In terms of EXA/2D accelerated support, all of the basics work and he understands enough of the registers now for the Qualcomm hardware. Rob Clark just needs more time to finish implementing the rest of the support, but all of the basics are in place.

For the more interesting reverse-engineered 3D support with his Gallium3D driver, the 3D basics are working but there are some bugs. Compiz is already running on this driver and other common OpenGL workloads. He's already getting +50% the performance of Qualcomm's official driver for workloads like glmark2, XBMC, Compiz, and Quake 3 Arena.


Freedreno Gallium3D actually works!

Still needed is to understand the command stream for MSAA and mipmap textures. His 3D compiler also needs to add in support to handle loops, optimizing, and hardware binning (tiling).

A video of the entire Freedreno presentation (along with the other X.Org development room talks) will be published on Phoronix in the coming weeks.

In talking with Rob later on in Brussels, he shared that rather soon he expects his Gallium3D driver might be in a state for merging into mainline Mesa. The Gallium3D driver is in relatively good shape for being reverse-engineered, less than one year old, and being largely developed by just himself.

Right now he's relying upon Qualcomm's open-source Linux kernel driver, but he has shared that in the end he might end up writing his own kernel driver too. It will be some time before he looks into this further, but he might end up writing his own Freedreno DRM driver if he ends up hitting enough limitations and problems of Qualcomm's official kernel driver.

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. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  3. Intel Shows Off GNOME3-Based Tizen Shell
  4. Openbenchmarking.org (again) issue
  5. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  6. Unity 8, Mir Made Progress This Week On Features
  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