This is a first start for some documentation about frame buffer device internals.
Authors:
- Geert Uytterhoeven <[email protected]>, 21 July 1998
- James Simmons <[email protected]>, Nov 26 2002
The following structures play a role in the game of frame buffer devices. They are defined in <linux/fb.h>.
- Outside the kernel (user space)
struct fb_fix_screeninfo
Device independent unchangeable information about a frame buffer device and a specific video mode. This can be obtained using the FBIOGET_FSCREENINFO ioctl.
struct fb_var_screeninfo
Device independent changeable information about a frame buffer device and a specific video mode. This can be obtained using the FBIOGET_VSCREENINFO ioctl, and updated with the FBIOPUT_VSCREENINFO ioctl. If you want to pan the screen only, you can use the FBIOPAN_DISPLAY ioctl.
struct fb_cmap
Device independent colormap information. You can get and set the colormap using the FBIOGETCMAP and FBIOPUTCMAP ioctls.
- Inside the kernel
struct fb_info
Generic information, API and low level information about a specific frame buffer device instance (slot number, board address, ...).
struct par
Device dependent information that uniquely defines the video mode for this particular piece of hardware.
Each pixel is either black or white.
The whole pixel value is fed through a programmable lookup table that has one color (including red, green, and blue intensities) for each possible pixel value, and that color is displayed.
The pixel value is broken up into red, green, and blue fields.
The pixel value is broken up into red, green, and blue fields, each of which are looked up in separate red, green, and blue lookup tables.
Grayscale and static grayscale are special variants of pseudo color and static pseudo color, where the red, green and blue components are always equal to each other.