Raspberry Pi Gets Open Source 3D Graphics Drivers and Documentation

The Raspberry Pi was launched 2 years ago, and for its birthday, Broadcom decided to release documentation and open source OpenGL ES 1.1 and 2.0 driver for the Videocore IV GPU.  You may remember the Raspberry Pi Foundation already release an open source GPU driver in 2012, but this was only for the part running on the ARM11 core for Broadcom BCM2835 SoC, which is just a few hundred lines of code long, and communicates with a binary blob which does all the work in the GPU itself. This new release however goes much further with a 111 page document entitled “VideoCore IV 3D Architecture Reference Guide“, and open source driver for the 3D System of the GPU.

VideoCore IV 3D Graphics Block Diagram (Click to Enlarge)
VideoCore IV 3D System Block Diagram (Click to Enlarge)

Strangely the release is however not for BCM2835, but instead BCM21553. Broadcom clearly has the source for BCM2835 too, so this must have been made for legal reasons. VideoCoreIV packs a lot of graphics feature 2D and 3D graphics, Video Processing Unit (with video codecs), ISP (Imagine Signal Processor) used by the camera, and probably a few other bits, but only the 3D part has been released, which is already a great achievement. The VPU code will never be released because the MPEG LA would not allow this, as they would like to keep on receiving their codec royalties.

That means the drivers, released under a BSD licence, will need to be ported to BCM2835, something that “should be reasonably straightforward“, but is still hard enough for the Raspberry Pi foundation to offer a $10,000 bounty to the first person that can port Broadcom’s VideoCore drivers to run on the Pi, and demonstrate Quake III running smoothly with the open source drivers. My take is you may even land a job if you manage that. I’ll give you a head start by mentioning you’ll need to change the registers’ base address :p.

VideoCore_IV_GPU_Base_Address

Eben Upton also mention it should be possible to “write general-purpose code leveraging the GPU compute capability on VideoCore devices”.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
3 Comments
oldest
newest
Khadas VIM4 SBC