1 ============================= 1 ============================= 2 Frame Buffer device internals 2 Frame Buffer device internals 3 ============================= 3 ============================= 4 4 5 This is a first start for some documentation a 5 This is a first start for some documentation about frame buffer device 6 internals. 6 internals. 7 7 8 Authors: 8 Authors: 9 9 10 - Geert Uytterhoeven <geert@linux-m68k.org>, 21 10 - Geert Uytterhoeven <geert@linux-m68k.org>, 21 July 1998 11 - James Simmons <jsimmons@user.sf.net>, Nov 26 11 - James Simmons <jsimmons@user.sf.net>, Nov 26 2002 12 12 13 ---------------------------------------------- 13 -------------------------------------------------------------------------------- 14 14 15 Structures used by the frame buffer device API 15 Structures used by the frame buffer device API 16 ============================================== 16 ============================================== 17 17 18 The following structures play a role in the ga 18 The following structures play a role in the game of frame buffer devices. They 19 are defined in <linux/fb.h>. 19 are defined in <linux/fb.h>. 20 20 21 1. Outside the kernel (user space) 21 1. Outside the kernel (user space) 22 22 23 - struct fb_fix_screeninfo 23 - struct fb_fix_screeninfo 24 24 25 Device independent unchangeable informatio 25 Device independent unchangeable information about a frame buffer device and 26 a specific video mode. This can be obtaine 26 a specific video mode. This can be obtained using the FBIOGET_FSCREENINFO 27 ioctl. 27 ioctl. 28 28 29 - struct fb_var_screeninfo 29 - struct fb_var_screeninfo 30 30 31 Device independent changeable information 31 Device independent changeable information about a frame buffer device and a 32 specific video mode. This can be obtained 32 specific video mode. This can be obtained using the FBIOGET_VSCREENINFO 33 ioctl, and updated with the FBIOPUT_VSCREE 33 ioctl, and updated with the FBIOPUT_VSCREENINFO ioctl. If you want to pan 34 the screen only, you can use the FBIOPAN_D 34 the screen only, you can use the FBIOPAN_DISPLAY ioctl. 35 35 36 - struct fb_cmap 36 - struct fb_cmap 37 37 38 Device independent colormap information. Y 38 Device independent colormap information. You can get and set the colormap 39 using the FBIOGETCMAP and FBIOPUTCMAP ioct 39 using the FBIOGETCMAP and FBIOPUTCMAP ioctls. 40 40 41 41 42 2. Inside the kernel 42 2. Inside the kernel 43 43 44 - struct fb_info 44 - struct fb_info 45 45 46 Generic information, API and low level inf 46 Generic information, API and low level information about a specific frame 47 buffer device instance (slot number, board 47 buffer device instance (slot number, board address, ...). 48 48 49 - struct `par` 49 - struct `par` 50 50 51 Device dependent information that uniquely 51 Device dependent information that uniquely defines the video mode for this 52 particular piece of hardware. 52 particular piece of hardware. 53 53 54 54 55 Visuals used by the frame buffer device API 55 Visuals used by the frame buffer device API 56 =========================================== 56 =========================================== 57 57 58 58 59 Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MON 59 Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MONO10) 60 ---------------------------------------------- 60 -------------------------------------------------- 61 Each pixel is either black or white. 61 Each pixel is either black or white. 62 62 63 63 64 Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VIS 64 Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR) 65 ---------------------------------------------- 65 --------------------------------------------------------------------- 66 The whole pixel value is fed through a program 66 The whole pixel value is fed through a programmable lookup table that has one 67 color (including red, green, and blue intensit 67 color (including red, green, and blue intensities) for each possible pixel 68 value, and that color is displayed. 68 value, and that color is displayed. 69 69 70 70 71 True color (FB_VISUAL_TRUECOLOR) 71 True color (FB_VISUAL_TRUECOLOR) 72 -------------------------------- 72 -------------------------------- 73 The pixel value is broken up into red, green, 73 The pixel value is broken up into red, green, and blue fields. 74 74 75 75 76 Direct color (FB_VISUAL_DIRECTCOLOR) 76 Direct color (FB_VISUAL_DIRECTCOLOR) 77 ------------------------------------ 77 ------------------------------------ 78 The pixel value is broken up into red, green, 78 The pixel value is broken up into red, green, and blue fields, each of which 79 are looked up in separate red, green, and blue 79 are looked up in separate red, green, and blue lookup tables. 80 80 81 81 82 Grayscale displays 82 Grayscale displays 83 ------------------ 83 ------------------ 84 Grayscale and static grayscale are special var 84 Grayscale and static grayscale are special variants of pseudo color and static 85 pseudo color, where the red, green and blue co 85 pseudo color, where the red, green and blue components are always equal to 86 each other. 86 each other.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.