xref: /linux/Documentation/driver-api/frame-buffer.rst (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1Frame Buffer Library
2====================
3
4The frame buffer drivers depend heavily on four data structures. These
5structures are declared in include/linux/fb.h. They are fb_info,
6fb_var_screeninfo, fb_fix_screeninfo and fb_monospecs. The last
7three can be made available to and from userland.
8
9fb_info defines the current state of a particular video card. Inside
10fb_info, there exists a fb_ops structure which is a collection of
11needed functions to make fbdev and fbcon work. fb_info is only visible
12to the kernel.
13
14fb_var_screeninfo is used to describe the features of a video card
15that are user defined. With fb_var_screeninfo, things such as depth
16and the resolution may be defined.
17
18The next structure is fb_fix_screeninfo. This defines the properties
19of a card that are created when a mode is set and can't be changed
20otherwise. A good example of this is the start of the frame buffer
21memory. This "locks" the address of the frame buffer memory, so that it
22cannot be changed or moved.
23
24The last structure is fb_monospecs. In the old API, there was little
25importance for fb_monospecs. This allowed for forbidden things such as
26setting a mode of 800x600 on a fix frequency monitor. With the new API,
27fb_monospecs prevents such things, and if used correctly, can prevent a
28monitor from being cooked. fb_monospecs will not be useful until
29kernels 2.5.x.
30
31Frame Buffer Memory
32-------------------
33
34.. kernel-doc:: drivers/video/fbdev/core/fbmem.c
35   :export:
36
37Frame Buffer Colormap
38---------------------
39
40.. kernel-doc:: drivers/video/fbdev/core/fbcmap.c
41   :export:
42
43Frame Buffer Video Mode Database
44--------------------------------
45
46.. kernel-doc:: drivers/video/fbdev/core/modedb.c
47   :internal:
48
49.. kernel-doc:: drivers/video/fbdev/core/modedb.c
50   :export:
51
52Frame Buffer Macintosh Video Mode Database
53------------------------------------------
54
55.. kernel-doc:: drivers/video/fbdev/macmodes.c
56   :export:
57
58Frame Buffer Fonts
59------------------
60
61Refer to the file lib/fonts/fonts.c for more information.
62
63