raspi - GPU

GPU - bootloader
start.elf: The GPU binary firmware image, provided by the foundation.


The boards do not include NAND or NOR storage - everything is on the SD card, which has a FAT32 partition with GPU firmware and a kernel image, and an EXT2 partition with the rootfs.

We're not currently using a bootloader - we actually boot via the GPU, which contains a proprietary RISC core (wacky architecture). The GPU mounts the SD card, loads GPU firmware and brings up display/video/3d, loads a kernel image, resets the SD card host and starts the ARM.

You could replace the kernel image with a bootloader image, and that would work fine.


The GPU provides APIs for Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode.

The GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24 GFLOPs of general purpose compute and features a bunch of texture filtering and DMA infrastructure - the Raspberry Pi team are looking at how they can make this available to application programmers.

The GPU blob is an 18MB elf file, including libraries. It does an awful lot. [3]

Is there a GPU binary?

Yes. The GPU binary also contains the first stage bootloader.

what means “GPU binary”?
Reply ↓

    jamesh on September 1, 2011 at 8:19 pm said:

    The is a binary blob that runs on the GPU – this is closed source, but there are drivers that run on the Arm that give access to the GPU features ie OpenGLES, OpenVG etc. The device boots the GPU first, the bootloader loads the GPU with this binary blob, then Linux is booted on the Arm.