Jonathan Corbet | dcec3c8 | 2016-08-20 13:17:32 -0600 | [diff] [blame] | 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 | |