1fb.modes(8) Linux frame buffer utils fb.modes(8)
2
3
4
6 fb.modes - frame buffer modes file
7
9 /etc/fb.modes contains an unlimited number of video mode descriptions.
10 The general format of a video mode is:
11
12 mode
13 geometry <xres> <yres> <vxres> <vyres> <depth>
14 timings <pixclock> <left> <right> <upper> <lower> <hslen>
15 <vslen>
16 options <value>
17 endmode
18
20 geometry options:
21
22 xres visible horizontal resolution (in pixels)
23
24 yres visible vertical resolution (in pixels)
25
26 vxres virtual horizontal resolution (in pixels)
27
28 vyres virtual vertical resolution (in pixels)
29
30 depth display depth (in bits per pixel)
31
32 timing options:
33
34 pixclock
35 length of one pixel (in picoseconds)
36
37 left left margin (in pixels)
38
39 right right margin (in pixels)
40
41 upper upper margin (in pixel lines)
42
43 lower lower margin (in pixel lines)
44
45 hslen horizontal sync length (in pixels)
46
47 vslen vertical sync length (in pixel lines)
48
49 other options:
50 the first value of this options is the default
51
52 hsync {low|high}
53 the horizontal sync polarity
54
55 vsync {low|high}
56 the vertical sync polarity
57
58 csync {low|high}
59 the composite sync polarity
60
61 extsync {false|true}
62 enable or disable external resync. If enabled the sync
63 timings are not generated by the frame buffer device and
64 must be provided externally instead. Note that this
65 option may not be supported by every frame buffer device
66
67 laced {false|true}
68 enable or disable interlace. If enabled the display will
69 be split in two frames, each frame contains only even and
70 odd lines respectively. These two frames will be dis‐
71 played alternating, this way twice the lines can be dis‐
72 played and the vertical frequency for monitor stays the
73 same, but the visible vertical frequency gets halved
74
75 double {false|true}
76 enable or disable doublescan. If enabled every line will
77 be displayed twice and this way the horizontal frequency
78 can easily be doubled, so that the same resolution can be
79 displayed on different monitors, even if the horizontal
80 frequency specification differs. Note that this option
81 may not be supported by every frame buffer device
82
84 Generally a frame buffer display is organized as follows:
85
86 +---+---------------+---+---+
87 | | ^ | | |
88 | | | 5 | | |
89 | | v | | |
90 +---#################---+---+
91 | # ^ # | |
92 | # | # | |
93 | # | # | |
94 | 1 # | 2 # 3 | 4 |
95 |<->#<------+------>#<->|<->|
96 | # | # | |
97 | # | 6 # | |
98 | # | # | |
99 | # v # | |
100 +---#################---+---+
101 | | ^ | | |
102 | | | 7 | | |
103 | | v | | |
104 +---+---------------+---+---+
105 | | ^ | | |
106 | | | 8 | | |
107 | | v | | |
108 +---+---------------+---+---+
109
110 1 left margin
111 2 xres
112 3 right margin
113 4 horizontal sync len
114 5 upper margin
115 6 yres
116 7 lower margin
117 8 vertical sync len
118
119 The area bordered with `#' is the visible display area. Horizontal and
120 vertical frequencies can now easily be calculated, for this the sum of
121 horizontal or vertical values are important
122
123 htotal = left + xres + right + hslen
124 vtotal = upper + yres + lower + vslen
125
126 The length of one line can now be calculated with pixclock
127
128 line = pixclock * htotal
129
130 and we have the horizontal frequency
131
132 hfreq = 1E12 / line = 1E12 / (pixclock * htotal)
133
134 To get the vertical frequency vtotal must eventually adjusted. If the
135 display is laced, vtotal must be halved or if the display is a doubles‐
136 can one, vtotal must be doubled. Now we can calculate the length of one
137 frame
138
139 if (lace) vtotal /= 2
140 if (double) vtotal *= 2
141
142 frame = vtotal * line
143
144 and we get also the vertical frequency
145
146 vfreq = 1E12 / frame = hfreq / vtotal
147
148
150 fbset(8), fbdev(4)
151
152
153
154local Aug 1996 fb.modes(8)