Back to home page

OSCL-LXR

 
 

    


0001 =============================
0002 Frame Buffer device internals
0003 =============================
0004 
0005 This is a first start for some documentation about frame buffer device
0006 internals.
0007 
0008 Authors:
0009 
0010 - Geert Uytterhoeven <geert@linux-m68k.org>, 21 July 1998
0011 - James Simmons <jsimmons@user.sf.net>, Nov 26 2002
0012 
0013 --------------------------------------------------------------------------------
0014 
0015 Structures used by the frame buffer device API
0016 ==============================================
0017 
0018 The following structures play a role in the game of frame buffer devices. They
0019 are defined in <linux/fb.h>.
0020 
0021 1. Outside the kernel (user space)
0022 
0023   - struct fb_fix_screeninfo
0024 
0025     Device independent unchangeable information about a frame buffer device and
0026     a specific video mode. This can be obtained using the FBIOGET_FSCREENINFO
0027     ioctl.
0028 
0029   - struct fb_var_screeninfo
0030 
0031     Device independent changeable information about a frame buffer device and a
0032     specific video mode. This can be obtained using the FBIOGET_VSCREENINFO
0033     ioctl, and updated with the FBIOPUT_VSCREENINFO ioctl. If you want to pan
0034     the screen only, you can use the FBIOPAN_DISPLAY ioctl.
0035 
0036   - struct fb_cmap
0037 
0038     Device independent colormap information. You can get and set the colormap
0039     using the FBIOGETCMAP and FBIOPUTCMAP ioctls.
0040 
0041 
0042 2. Inside the kernel
0043 
0044   - struct fb_info
0045 
0046     Generic information, API and low level information about a specific frame
0047     buffer device instance (slot number, board address, ...).
0048 
0049   - struct `par`
0050 
0051     Device dependent information that uniquely defines the video mode for this
0052     particular piece of hardware.
0053 
0054 
0055 Visuals used by the frame buffer device API
0056 ===========================================
0057 
0058 
0059 Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MONO10)
0060 --------------------------------------------------
0061 Each pixel is either black or white.
0062 
0063 
0064 Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR)
0065 ---------------------------------------------------------------------
0066 The whole pixel value is fed through a programmable lookup table that has one
0067 color (including red, green, and blue intensities) for each possible pixel
0068 value, and that color is displayed.
0069 
0070 
0071 True color (FB_VISUAL_TRUECOLOR)
0072 --------------------------------
0073 The pixel value is broken up into red, green, and blue fields.
0074 
0075 
0076 Direct color (FB_VISUAL_DIRECTCOLOR)
0077 ------------------------------------
0078 The pixel value is broken up into red, green, and blue fields, each of which
0079 are looked up in separate red, green, and blue lookup tables.
0080 
0081 
0082 Grayscale displays
0083 ------------------
0084 Grayscale and static grayscale are special variants of pseudo color and static
0085 pseudo color, where the red, green and blue components are always equal to
0086 each other.