Root/
1 | |
2 | This is a first start for some documentation about frame buffer device |
3 | internals. |
4 | |
5 | Geert Uytterhoeven <geert@linux-m68k.org>, 21 July 1998 |
6 | James Simmons <jsimmons@user.sf.net>, Nov 26 2002 |
7 | |
8 | -------------------------------------------------------------------------------- |
9 | |
10 | *** STRUCTURES USED BY THE FRAME BUFFER DEVICE API *** |
11 | |
12 | The following structures play a role in the game of frame buffer devices. They |
13 | are defined in <linux/fb.h>. |
14 | |
15 | 1. 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 | |
36 | 2. 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 | |
54 | Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MONO10) |
55 | ------------------------------------------------- |
56 | Each pixel is either black or white. |
57 | |
58 | |
59 | Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR) |
60 | --------------------------------------------------------------------- |
61 | The whole pixel value is fed through a programmable lookup table that has one |
62 | color (including red, green, and blue intensities) for each possible pixel |
63 | value, and that color is displayed. |
64 | |
65 | |
66 | True color (FB_VISUAL_TRUECOLOR) |
67 | -------------------------------- |
68 | The pixel value is broken up into red, green, and blue fields. |
69 | |
70 | |
71 | Direct color (FB_VISUAL_DIRECTCOLOR) |
72 | ------------------------------------ |
73 | The pixel value is broken up into red, green, and blue fields, each of which |
74 | are looked up in separate red, green, and blue lookup tables. |
75 | |
76 | |
77 | Grayscale displays |
78 | ------------------ |
79 | Grayscale and static grayscale are special variants of pseudo color and static |
80 | pseudo color, where the red, green and blue components are always equal to |
81 | each other. |
82 | |
83 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9