About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / fb / internals.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

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.
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog