diff options
Diffstat (limited to 'Documentation/fb/modedb.txt')
-rw-r--r-- | Documentation/fb/modedb.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Documentation/fb/modedb.txt b/Documentation/fb/modedb.txt new file mode 100644 index 000000000000..e04458b319d5 --- /dev/null +++ b/Documentation/fb/modedb.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | |||
2 | |||
3 | modedb default video mode support | ||
4 | |||
5 | |||
6 | Currently all frame buffer device drivers have their own video mode databases, | ||
7 | which is a mess and a waste of resources. The main idea of modedb is to have | ||
8 | |||
9 | - one routine to probe for video modes, which can be used by all frame buffer | ||
10 | devices | ||
11 | - one generic video mode database with a fair amount of standard videomodes | ||
12 | (taken from XFree86) | ||
13 | - the possibility to supply your own mode database for graphics hardware that | ||
14 | needs non-standard modes, like amifb and Mac frame buffer drivers (which | ||
15 | use macmodes.c) | ||
16 | |||
17 | When a frame buffer device receives a video= option it doesn't know, it should | ||
18 | consider that to be a video mode option. If no frame buffer device is specified | ||
19 | in a video= option, fbmem considers that to be a global video mode option. | ||
20 | |||
21 | Valid mode specifiers (mode_option argument): | ||
22 | |||
23 | <xres>x<yres>[-<bpp>][@<refresh>] | ||
24 | <name>[-<bpp>][@<refresh>] | ||
25 | |||
26 | with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string. | ||
27 | Things between square brackets are optional. | ||
28 | |||
29 | To find a suitable video mode, you just call | ||
30 | |||
31 | int __init fb_find_mode(struct fb_var_screeninfo *var, | ||
32 | struct fb_info *info, const char *mode_option, | ||
33 | const struct fb_videomode *db, unsigned int dbsize, | ||
34 | const struct fb_videomode *default_mode, | ||
35 | unsigned int default_bpp) | ||
36 | |||
37 | with db/dbsize your non-standard video mode database, or NULL to use the | ||
38 | standard video mode database. | ||
39 | |||
40 | fb_find_mode() first tries the specified video mode (or any mode that matches, | ||
41 | e.g. there can be multiple 640x480 modes, each of them is tried). If that | ||
42 | fails, the default mode is tried. If that fails, it walks over all modes. | ||
43 | |||
44 | To specify a video mode at bootup, use the following boot options: | ||
45 | video=<driver>:<xres>x<yres>[-<bpp>][@refresh] | ||
46 | |||
47 | where <driver> is a name from the table below. Valid default modes can be | ||
48 | found in linux/drivers/video/modedb.c. Check your driver's documentation. | ||
49 | There may be more modes. | ||
50 | |||
51 | Drivers that support modedb boot options | ||
52 | Boot Name Cards Supported | ||
53 | |||
54 | amifb - Amiga chipset frame buffer | ||
55 | aty128fb - ATI Rage128 / Pro frame buffer | ||
56 | atyfb - ATI Mach64 frame buffer | ||
57 | tdfxfb - 3D Fx frame buffer | ||
58 | tridentfb - Trident (Cyber)blade chipset frame buffer | ||
59 | |||
60 | BTW, only a few drivers use this at the moment. Others are to follow | ||
61 | (feel free to send patches). | ||