This tutorial shows how a 700MHz (or 900MHz) processor doesn’t give you carte-blanche to program in C and end up with an optimised output.
In this example there is no vertical sync used, we simply dedicate 100% of the ARM processor time to drawing the rectangle in video memory and then moving it one pixel before drawing it to the video memory again.
A framebuffer is a term that really refers to a block of video memory.
Secondly, it introduces the mailbox property interface which is a method of the ARM processor talking to the GPU.
The mailbox interface is software running on the GPU which receives messages from software running on the arm and returns responses to each message after performing a task.
It’s implemented in the file that we require on the SD Card to boot the Raspberry-Pi.
I’ll reference what material I’ve got from there as we go.
Unfortunately there is no definitive source of information for the Raspberry Pi GPU, only bits and pieces scattered around the web. As we’re going to use the mailbox communication with the GPU anyway, we can skip a lot of the GPU detail and just concentrate on communicating with the GPU to get a framebuffer to use.