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. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. V2 Of KDBUS Published For Linux Kernel Review
  2. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
  3. Scientific Linux 6.6 vs. Scientific Linux 7.0 Benchmarks
  4. Qualcomm Looks To Get Into The ARM Server Business
  5. HHVM 3.4 Adds New Features, Support
  6. More Radeon Driver Changes Queued For Linux 3.19
  7. Unigine 2.0 Alpha 2 Adds C# Support
  8. FFmpeg Is Returning To Ubuntu With 15.04 Release
  9. Linux Version Of Civilization: Beyond Earth Still Coming Along
  10. Yahoo To Become Default Search Provider For Firefox
Latest Forum Discussions
  1. Roadmap to Catalyst 14.10 ?
  2. Debian Init System Coupling Vote Results
  3. The Slides Announcing The New "AMDGPU" Kernel Driver
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Debian Developer Resigns From The Systemd Maintainership Team
  6. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  7. How to get rid of Linux
  8. how to configure module phoromatic ?