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