1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Raspberry Pi GPU Driver Turns Out To Be Crap

Hardware

Published on 24 October 2012 06:03 PM EDT
Written by Michael Larabel in Hardware
62 Comments

While it looked hopeful at first with today's announcement of a fully open-source graphics stack for the Broadcom VideoCore found in the popular Raspberry Pi development board, upon closer examination it's actually not that good.

Up to this point the graphics driver for the BCM2835 and its VideoCore processor found in the Raspberry Pi was backed by an open-source kernel driver but a closed-source user-space. Today -- through cooperation with Broadcom -- the Raspberry Pi Foundation was able to release the user-space bits to to this driver. Therefore there was then a full open-source ARM graphics driver with OpenGL ES 2.0, EGL, OpenMAX IL, etc. The one caveat though was that a firmware blob must be loaded at boot.

For Radeon hardware and other GPUs this isn't too much of a big deal to load firmware/microcode at boot time, but for this Broadcom VideoCore driver it's a different story. It turns out that Broadcom shoved much more into their firmware binary blob than just some basic setup routines and other non-critical tasks. Broadcom's OpenGL ES (GLES) implementation is even lodged within this GPU driver firmware.

Luc Verhaegen, the former RadeonHD driver developer as well as VIA Unichrome driver developer and now working on reverse-engineering the ARM Mali graphics through the Lima driver project, was quick to point out in a Raspberry Pi comment the shortcomings of this open-source driver. "Erm… Isn’t all the magic in the videocore blob? Isn’t the userland code you just made available the simple shim that passes messages and data back and forth to the huge blob running on the highly proprietary videocore dsp?"

David Airlie has written a blog post also writing about how this open-source Raspberry Pi graphics driver isn't too good due to the big firmware blob. This is one rare topic where David Airlie and Luc Verhaegen actually agree on something: with shoving so much into this firmware blob, including the OpenGL ES implementation, you really aren't left to be able to do much. Airlie writes on his blog, "You cannot make any improvements to their GLES implementation, you cannot add any new extensions, you can't fix any bugs, you can't do anything with it. You can't write a Mesa/Gallium driver for it. In other words you just can't."

David Airlie, who also acts as the Linux kernel DRM maintainer, said via this blog post that the Broadcom driver will not be merged into the mainline Linux kernel. "This is like Ethernet cards with TCP offload, where the full TCP/IP stack is run on the Ethernet card firmware. These cards seem like a good plan until you find bugs in their firmware stack or find out their TCP/IP implementation isn't actually any good. The same problem will occur with this. I would take bets the GLES implementation sucks, because they all do, but the whole point of open sourcing something is to allow other to improve it something that can't be done in this case. So really Rasberry Pi and Broadcom - get a big FAIL for even bothering to make a press release for this, if they'd just stuck the code out there and gone on with things it would have been fine, nobody would have been any happier, but some idiot thought this crappy shim layer deserved a press release, pointless."

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  2. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  3. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  4. Sumo's Omni Gets Reloaded
Latest Linux Articles
  1. Testing For The Latest Linux Kernel Power Regression
  2. The Most Energy Efficient Radeon GPU For AMD Linux Gaming
  3. 20-Way Radeon Comparison With Open-Source Graphics For Steam On Linux Gaming
  4. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
Latest Linux News
  1. Chrome 38 Now In Beta With Exciting Advancements
  2. Ubuntu's Utopic Unicorn 14.10 Beta 1 Released
  3. Genode OS 14.08 Has New GUI Architecture, Pluggable VFS
  4. Another Intel Linux Power Regression Is Being Investigated
  5. DNF Makes It A Step Closer To Replacing Yum On Fedora
  6. OS Battle: Linux Takes 1.7% Desktop Marketshare
  7. PHP 5.6 Officially Released With New Debugger
  8. LibreOffice 4.3.1 Released
  9. Re-Clocking Your NVIDIA GPU With Nouveau On Linux 3.17
  10. Radeon DRM Queues More Changes, RV6xx UVD For Linux 3.18
Latest Forum Discussions
  1. Users defect to Linux as OpenBSD removes Lynx from base system
  2. Best Radeon for a Power Mac G5?
  3. Canonical Joined The Khronos Group To Help Mir/Wayland Drivers
  4. OC capability - Intel Core i5 4690K & Biostar Hi-Fi Z97WE
  5. Updated and Optimized Ubuntu Free Graphics Drivers
  6. AMD Releases UVD Video Decode Support For R600 GPUs
  7. Announcing radeontop, a tool for viewing the GPU usage
  8. It's Now Possible To Play Netflix Natively On Linux Without Wine Plug-Ins