I have little background on how these hardware actually works, but now I'm required to learn how to write a Linux frame buffer driver for Android devices.
I'm confused by Linux graphics stack. From what I understand, on a desktop computer the compositing window manager interacts with DRM
, which then sends data to specific video card driver. On the other hand there are some kind of controllers retrieving data from GPU's
memory through DMA
and send it to the monitor, as suggested by the answer here .
Also by diagram at page 29
of this book, I figured that a frame buffer driver is on top of actual graphic devices, so it must need to interact with specific video card driver, for example, an nVidia
driver.
But when I google writing a frame buffer driver for an embedded device, the results show that as if the driver is directly responsible for contacting with the LCD
, so it looks like it's even below a video card driver.
So is a frame buffer driver actually a video card driver?