linux/Documentation/fb/internals.txt
<<
>>
Prefs
   1
   2This is a first start for some documentation about frame buffer device
   3internals.
   4
   5Geert Uytterhoeven <geert@linux-m68k.org>, 21 July 1998
   6James Simmons <jsimmons@user.sf.net>, Nov 26 2002
   7
   8--------------------------------------------------------------------------------
   9
  10            ***  STRUCTURES USED BY THE FRAME BUFFER DEVICE API  ***
  11
  12The following structures play a role in the game of frame buffer devices. They
  13are defined in <linux/fb.h>.
  14
  151. Outside the kernel (user space)
  16
  17  - struct fb_fix_screeninfo
  18
  19    Device independent unchangeable information about a frame buffer device and
  20    a specific video mode. This can be obtained using the FBIOGET_FSCREENINFO
  21    ioctl.
  22
  23  - struct fb_var_screeninfo
  24
  25    Device independent changeable information about a frame buffer device and a
  26    specific video mode. This can be obtained using the FBIOGET_VSCREENINFO
  27    ioctl, and updated with the FBIOPUT_VSCREENINFO ioctl. If you want to pan
  28    the screen only, you can use the FBIOPAN_DISPLAY ioctl.
  29
  30  - struct fb_cmap
  31
  32    Device independent colormap information. You can get and set the colormap
  33    using the FBIOGETCMAP and FBIOPUTCMAP ioctls.
  34
  35
  362. Inside the kernel
  37
  38  - struct fb_info
  39
  40    Generic information, API and low level information about a specific frame
  41    buffer device instance (slot number, board address, ...).
  42
  43  - struct `par'
  44
  45    Device dependent information that uniquely defines the video mode for this
  46    particular piece of hardware.
  47
  48
  49--------------------------------------------------------------------------------
  50
  51            ***  VISUALS USED BY THE FRAME BUFFER DEVICE API  ***
  52
  53
  54Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MONO10)
  55-------------------------------------------------
  56Each pixel is either black or white.
  57
  58
  59Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR)
  60---------------------------------------------------------------------
  61The whole pixel value is fed through a programmable lookup table that has one
  62color (including red, green, and blue intensities) for each possible pixel
  63value, and that color is displayed.
  64
  65
  66True color (FB_VISUAL_TRUECOLOR)
  67--------------------------------
  68The pixel value is broken up into red, green, and blue fields.
  69
  70
  71Direct color (FB_VISUAL_DIRECTCOLOR)
  72------------------------------------
  73The pixel value is broken up into red, green, and blue fields, each of which 
  74are looked up in separate red, green, and blue lookup tables.
  75
  76
  77Grayscale displays
  78------------------
  79Grayscale and static grayscale are special variants of pseudo color and static
  80pseudo color, where the red, green and blue components are always equal to
  81each other.
  82
  83
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.