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. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  2. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  3. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  4. AMD Radeon R9 285 Tonga Performance On Linux
Latest Linux Articles
  1. Ubuntu 14.10 XMir System Compositor Benchmarks
  2. Btrfs RAID HDD Testing On Ubuntu Linux 14.10
  3. Ubuntu 14.10 Linux 32-bit vs. 64-bit Performance
  4. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
Latest Linux News
  1. Open-Source, Linux Support For Corsair Link Devices Slowly Materializing
  2. Cairo-Dock 3.4 Shows A Lot Of Progress, Works Toward EGL/Wayland Support
  3. Mesa 10.4 Tentatively Planned For Early December
  4. SteamOS Update 145 Brings Compositor, Update Fixes
  5. GStreamer 2014 Conference Videos Posted: Wayland, HTML5, 3D
  6. Nouveau Now Supports DRI3 Without GLAMOR
  7. Features Of The Linux 3.18 Kernel
  8. Debian Now Defaults To Xfce On Non-x86 Desktops
  9. Phoenix Is Trying To Be An Open Version Of Apple's Swift
  10. Linux 3.19 To Have Skylake Graphics, PPGTT Enablement
Latest Forum Discussions
  1. HOPE: The Ease Of Python With The Speed Of C++
  2. Users/Developers Threatening Fork Of Debian GNU/Linux
  3. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  4. AMD Releases UVD Video Decode Support For R600 GPUs
  5. Proof that strlcpy is un-needed
  6. xbox one tv tuner
  7. Bye bye BSD, Hello Linux: A Sys Admin's Story
  8. Updated and Optimized Ubuntu Free Graphics Drivers