blob: e04458b319d576ac076a0e09211108a8b4390f7b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
2
3 modedb default video mode support
4
5
6Currently all frame buffer device drivers have their own video mode databases,
7which 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
17When a frame buffer device receives a video= option it doesn't know, it should
18consider that to be a video mode option. If no frame buffer device is specified
19in a video= option, fbmem considers that to be a global video mode option.
20
21Valid mode specifiers (mode_option argument):
22
23 <xres>x<yres>[-<bpp>][@<refresh>]
24 <name>[-<bpp>][@<refresh>]
25
26with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
27Things between square brackets are optional.
28
29To find a suitable video mode, you just call
30
31int __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
37with db/dbsize your non-standard video mode database, or NULL to use the
38standard video mode database.
39
40fb_find_mode() first tries the specified video mode (or any mode that matches,
41e.g. there can be multiple 640x480 modes, each of them is tried). If that
42fails, the default mode is tried. If that fails, it walks over all modes.
43
44To specify a video mode at bootup, use the following boot options:
45 video=<driver>:<xres>x<yres>[-<bpp>][@refresh]
46
47where <driver> is a name from the table below. Valid default modes can be
48found in linux/drivers/video/modedb.c. Check your driver's documentation.
49There 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
60BTW, only a few drivers use this at the moment. Others are to follow
61(feel free to send patches).