1
|
1 .TH fb.modes 8 "Aug 1996" local "Linux frame buffer utils"
|
|
2 .SH NAME
|
|
3 fb.modes \- frame buffer modes file
|
|
4 .SH DESCRIPTION
|
|
5 .I /etc/fb.modes
|
|
6 contains an unlimited number of video mode descriptions. The general format
|
|
7 of a video mode is:
|
|
8 .sp
|
|
9 mode
|
|
10 .RI \" name \"
|
|
11 .RS
|
|
12 geometry
|
|
13 .RI < xres >
|
|
14 .RI < yres >
|
|
15 .RI < vxres >
|
|
16 .RI < vyres >
|
|
17 .RI < depth >
|
|
18 .br
|
|
19 timings
|
|
20 .RI < pixclock >
|
|
21 .RI < left >
|
|
22 .RI < right >
|
|
23 .RI < upper >
|
|
24 .RI < lower >
|
|
25 .RI < hslen >
|
|
26 .RI < vslen >
|
|
27 .br
|
|
28 .B options
|
|
29 .RI < value >
|
|
30 .RE
|
|
31 endmode
|
|
32 .SH OPTIONS
|
|
33 geometry options:
|
|
34 .RS
|
|
35 .TP
|
|
36 .I xres
|
|
37 visible horizontal resolution (in pixels)
|
|
38 .TP
|
|
39 .I yres
|
|
40 visible vertical resolution (in pixels)
|
|
41 .TP
|
|
42 .I vxres
|
|
43 virtual horizontal resolution (in pixels)
|
|
44 .TP
|
|
45 .I vyres
|
|
46 virtual vertical resolution (in pixels)
|
|
47 .TP
|
|
48 .I depth
|
|
49 display depth (in bits per pixel)
|
|
50 .RE
|
|
51 .PP
|
|
52 timing options:
|
|
53 .RS
|
|
54 .TP
|
|
55 .I pixclock
|
|
56 length of one pixel (in picoseconds)
|
|
57 .TP
|
|
58 .I left
|
|
59 left margin (in pixels)
|
|
60 .TP
|
|
61 .I right
|
|
62 right margin (in pixels)
|
|
63 .TP
|
|
64 .I upper
|
|
65 upper margin (in pixel lines)
|
|
66 .TP
|
|
67 .I lower
|
|
68 lower margin (in pixel lines)
|
|
69 .TP
|
|
70 .I hslen
|
|
71 horizontal sync length (in pixels)
|
|
72 .TP
|
|
73 .I vslen
|
|
74 vertical sync length (in pixel lines)
|
|
75 .RE
|
|
76 .PP
|
|
77 other options:
|
|
78 .RS
|
|
79 the first value of this options is the default
|
|
80 .TP
|
|
81 .IR \fBhsync "\ {" low | high }
|
|
82 the horizontal sync polarity
|
|
83 .TP
|
|
84 .IR \fBvsync "\ {" low | high }
|
|
85 the vertical sync polarity
|
|
86 .TP
|
|
87 .IR \fBcsync "\ {" low | high }
|
|
88 the composite sync polarity
|
|
89 .TP
|
|
90 .IR \fBextsync "\ {" false | true }
|
|
91 enable or disable external resync. If enabled the sync timings are not
|
|
92 generated by the frame buffer device and must be provided externally
|
|
93 instead. Note that this option may not be supported by every frame buffer
|
|
94 device
|
|
95 .TP
|
|
96 .IR \fBlaced "\ {" false | true }
|
|
97 enable or disable interlace. If enabled the display will be split in two
|
|
98 frames, each frame contains only even and odd lines respectively. These two
|
|
99 frames will be displayed alternating, this way twice the lines can be
|
|
100 displayed and the vertical frequency for monitor stays the same, but the
|
|
101 visible vertical frequency gets halved
|
|
102 .TP
|
|
103 .IR \fBdouble "\ {" false | true }
|
|
104 enable or disable doublescan. If enabled every line will be displayed twice
|
|
105 and this way the horizontal frequency can easily be doubled, so that the
|
|
106 same resolution can be displayed on different monitors, even if the
|
|
107 horizontal frequency specification differs. Note that this option may not be
|
|
108 supported by every frame buffer device
|
|
109 .RE
|
|
110 .SH INTERNALS
|
|
111 Generally a frame buffer display is organized as follows:
|
|
112 .sp
|
|
113 .ad c
|
|
114 +\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
115 .br
|
|
116 .RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
117 .br
|
|
118 .RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI5 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
119 .br
|
|
120 .RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
121 .br
|
|
122 +\-\-\-#################\-\-\-+\-\-\-+
|
|
123 .br
|
|
124 .RB "|\ \ \ #\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
125 .br
|
|
126 .RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
127 .br
|
|
128 .RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
129 .br
|
|
130 .RI "| " 1 " # " \fB| " " 2 " # " 3 " | " 4 " |"
|
|
131 .br
|
|
132 .RB "|" "<\->" "#" "<\-\-\-\-\-\-+\-\-\-\-\-\->" "#" "<\->" "|" "<\->" "|"
|
|
133 .br
|
|
134 .RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
135 .br
|
|
136 .RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ " \fI6 "\ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
137 .br
|
|
138 .RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
139 .br
|
|
140 .RB "|\ \ \ #\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
141 .br
|
|
142 +\-\-\-#################\-\-\-+\-\-\-+
|
|
143 .br
|
|
144 .RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
145 .br
|
|
146 .RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI7 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
147 .br
|
|
148 .RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
149 .br
|
|
150 +\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
151 .br
|
|
152 .RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
153 .br
|
|
154 .RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI8 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
155 .br
|
|
156 .RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
157 .br
|
|
158 +\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
159 .sp
|
|
160 .ad n
|
|
161 .RS
|
|
162 .I 1
|
|
163 \t left margin
|
|
164 .br
|
|
165 .I 2
|
|
166 \t xres
|
|
167 .br
|
|
168 .I 3
|
|
169 \t right margin
|
|
170 .br
|
|
171 .I 4
|
|
172 \t horizontal sync len
|
|
173 .br
|
|
174 .I 5
|
|
175 \t upper margin
|
|
176 .br
|
|
177 .I 6
|
|
178 \t yres
|
|
179 .br
|
|
180 .I 7
|
|
181 \t lower margin
|
|
182 .br
|
|
183 .I 8
|
|
184 \t vertical sync len
|
|
185 .RE
|
|
186 .sp
|
|
187 The area bordered with `#' is the visible display area. Horizontal and
|
|
188 vertical frequencies can now easily be calculated, for this the sum of
|
|
189 horizontal or vertical values are important
|
|
190 .RS
|
|
191 .sp
|
|
192 htotal\ =\ left\ +\ xres\ +\ right\ +\ hslen
|
|
193 .br
|
|
194 vtotal\ =\ upper\ +\ yres\ +\ lower\ +\ vslen
|
|
195 .sp
|
|
196 .RE
|
|
197 The length of one line can now be calculated with pixclock
|
|
198 .RS
|
|
199 .sp
|
|
200 line\ =\ pixclock\ *\ htotal
|
|
201 .sp
|
|
202 .RE
|
|
203 and we have the horizontal frequency
|
|
204 .RS
|
|
205 .sp
|
|
206 hfreq\ =\ 1E12\ /\ line\ =\ 1E12\ /\ (pixclock\ *\ htotal)
|
|
207 .sp
|
|
208 .RE
|
|
209 To get the vertical frequency vtotal must eventually adjusted. If the
|
|
210 display is laced, vtotal must be halved or if the display is a doublescan
|
|
211 one, vtotal must be doubled. Now we can calculate the length of one frame
|
|
212 .RS
|
|
213 .sp
|
|
214 if\ (lace)\ \ \ vtotal\ /=\ 2
|
|
215 .br
|
|
216 if\ (double)\ vtotal\ *=\ 2
|
|
217 .sp
|
|
218 frame\ =\ vtotal\ *\ line
|
|
219 .sp
|
|
220 .RE
|
|
221 and we get also the vertical frequency
|
|
222 .RS
|
|
223 .sp
|
|
224 vfreq\ =\ 1E12\ /\ frame\ =\ hfreq\ /\ vtotal
|
|
225 .sp
|
|
226 .RE
|
|
227 .SH SEE ALSO
|
|
228 .BR fbset "(8), " fbdev (4)
|