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 Articles & Reviews
  1. Linux Compiler Benchmarks Of LLVM Clang 3.5 vs. LLVM Clang 3.6-rc1
  2. Intel Broadwell HD Graphics 5500: Windows 8.1 vs. Linux
  3. Linux Benchmarks Of NVIDIA's Early 2015 GeForce Line-Up
  4. NVIDIA GeForce GTX 960: A Great $200 GPU For Linux Gamers
  5. Disk Encryption Tests On Fedora 21
  6. Xonotic 0.8 Performance With The Open-Source AMD/NVIDIA Gallium3D Drivers
Latest Linux News
  1. Broadwell Linux Ultrabook Running MUCH Cooler Than Haswell
  2. LZHAM 1.0 Lossless Data Compression Codec Released
  3. LibreOffice 4.4 Is Coming Soon With New Features
  4. Linux Users Upset By Chromium's Busted HiDPI Support
  5. BPF Backend Merged Into LLVM To Make Use Of New Kernel Functionality
  6. Dying Light Is Headed To Linux, SteamOS
  7. Wayland 1.6.1 & Weston 1.6.1 Released
  8. Mesa 10.4.3 Brings A Bunch Of Fixes For The Direct3D "Nine" Support
  9. Intel Has A Few More Graphics Changes For The Linux 3.20 Kernel
  10. Gummiboot Gains PE File Searching Support To Find Linux Kernels
Most Viewed News This Week
  1. Windows 10 To Be A Free Upgrade: What Linux Users Need To Know
  2. CoreOS Moves From Btrfs To EXT4 + OverlayFS
  3. Google Admin Encourages Trying Btrfs, Not ZFS On Linux
  4. TraceFS: The Newest Linux File-System
  5. Mozilla's Servo Still On Track For 2015 Alpha Release
  6. My Initial Intel Broadwell Linux Experience With The ThinkPad X1 Carbon
  7. Fedora 23 Likely To Pursue Wayland By Default
  8. Keith Packard Leaves Intel's Linux Graphics Work