mirror of https://github.com/mpv-player/mpv
229 lines
5.0 KiB
Groff
229 lines
5.0 KiB
Groff
.TH fb.modes 8 "Aug 1996" local "Linux frame buffer utils"
|
|
.SH NAME
|
|
fb.modes \- frame buffer modes file
|
|
.SH DESCRIPTION
|
|
.I /etc/fb.modes
|
|
contains an unlimited number of video mode descriptions. The general format
|
|
of a video mode is:
|
|
.sp
|
|
mode
|
|
.RI \" name \"
|
|
.RS
|
|
geometry
|
|
.RI < xres >
|
|
.RI < yres >
|
|
.RI < vxres >
|
|
.RI < vyres >
|
|
.RI < depth >
|
|
.br
|
|
timings
|
|
.RI < pixclock >
|
|
.RI < left >
|
|
.RI < right >
|
|
.RI < upper >
|
|
.RI < lower >
|
|
.RI < hslen >
|
|
.RI < vslen >
|
|
.br
|
|
.B options
|
|
.RI < value >
|
|
.RE
|
|
endmode
|
|
.SH OPTIONS
|
|
geometry options:
|
|
.RS
|
|
.TP
|
|
.I xres
|
|
visible horizontal resolution (in pixels)
|
|
.TP
|
|
.I yres
|
|
visible vertical resolution (in pixels)
|
|
.TP
|
|
.I vxres
|
|
virtual horizontal resolution (in pixels)
|
|
.TP
|
|
.I vyres
|
|
virtual vertical resolution (in pixels)
|
|
.TP
|
|
.I depth
|
|
display depth (in bits per pixel)
|
|
.RE
|
|
.PP
|
|
timing options:
|
|
.RS
|
|
.TP
|
|
.I pixclock
|
|
length of one pixel (in picoseconds)
|
|
.TP
|
|
.I left
|
|
left margin (in pixels)
|
|
.TP
|
|
.I right
|
|
right margin (in pixels)
|
|
.TP
|
|
.I upper
|
|
upper margin (in pixel lines)
|
|
.TP
|
|
.I lower
|
|
lower margin (in pixel lines)
|
|
.TP
|
|
.I hslen
|
|
horizontal sync length (in pixels)
|
|
.TP
|
|
.I vslen
|
|
vertical sync length (in pixel lines)
|
|
.RE
|
|
.PP
|
|
other options:
|
|
.RS
|
|
the first value of this options is the default
|
|
.TP
|
|
.IR \fBhsync "\ {" low | high }
|
|
the horizontal sync polarity
|
|
.TP
|
|
.IR \fBvsync "\ {" low | high }
|
|
the vertical sync polarity
|
|
.TP
|
|
.IR \fBcsync "\ {" low | high }
|
|
the composite sync polarity
|
|
.TP
|
|
.IR \fBextsync "\ {" false | true }
|
|
enable or disable external resync. If enabled the sync timings are not
|
|
generated by the frame buffer device and must be provided externally
|
|
instead. Note that this option may not be supported by every frame buffer
|
|
device
|
|
.TP
|
|
.IR \fBlaced "\ {" false | true }
|
|
enable or disable interlace. If enabled the display will be split in two
|
|
frames, each frame contains only even and odd lines respectively. These two
|
|
frames will be displayed alternating, this way twice the lines can be
|
|
displayed and the vertical frequency for monitor stays the same, but the
|
|
visible vertical frequency gets halved
|
|
.TP
|
|
.IR \fBdouble "\ {" false | true }
|
|
enable or disable doublescan. If enabled every line will be displayed twice
|
|
and this way the horizontal frequency can easily be doubled, so that the
|
|
same resolution can be displayed on different monitors, even if the
|
|
horizontal frequency specification differs. Note that this option may not be
|
|
supported by every frame buffer device
|
|
.RE
|
|
.SH INTERNALS
|
|
Generally a frame buffer display is organized as follows:
|
|
.sp
|
|
.ad c
|
|
+\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI5 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
+\-\-\-#################\-\-\-+\-\-\-+
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RI "| " 1 " # " \fB| " " 2 " # " 3 " | " 4 " |"
|
|
.br
|
|
.RB "|" "<\->" "#" "<\-\-\-\-\-\-+\-\-\-\-\-\->" "#" "<\->" "|" "<\->" "|"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ " \fI6 "\ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " | "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ #\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ #\ \ \ |\ \ \ |"
|
|
.br
|
|
+\-\-\-#################\-\-\-+\-\-\-+
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI7 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
+\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " ^ "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " | "\ " \fI8 "\ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
.RB "|\ \ \ |\ \ \ \ \ \ \ " v "\ \ \ \ \ \ \ |\ \ \ |\ \ \ |"
|
|
.br
|
|
+\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-+\-\-\-+
|
|
.sp
|
|
.ad n
|
|
.RS
|
|
.I 1
|
|
\t left margin
|
|
.br
|
|
.I 2
|
|
\t xres
|
|
.br
|
|
.I 3
|
|
\t right margin
|
|
.br
|
|
.I 4
|
|
\t horizontal sync len
|
|
.br
|
|
.I 5
|
|
\t upper margin
|
|
.br
|
|
.I 6
|
|
\t yres
|
|
.br
|
|
.I 7
|
|
\t lower margin
|
|
.br
|
|
.I 8
|
|
\t vertical sync len
|
|
.RE
|
|
.sp
|
|
The area bordered with `#' is the visible display area. Horizontal and
|
|
vertical frequencies can now easily be calculated, for this the sum of
|
|
horizontal or vertical values are important
|
|
.RS
|
|
.sp
|
|
htotal\ =\ left\ +\ xres\ +\ right\ +\ hslen
|
|
.br
|
|
vtotal\ =\ upper\ +\ yres\ +\ lower\ +\ vslen
|
|
.sp
|
|
.RE
|
|
The length of one line can now be calculated with pixclock
|
|
.RS
|
|
.sp
|
|
line\ =\ pixclock\ *\ htotal
|
|
.sp
|
|
.RE
|
|
and we have the horizontal frequency
|
|
.RS
|
|
.sp
|
|
hfreq\ =\ 1E12\ /\ line\ =\ 1E12\ /\ (pixclock\ *\ htotal)
|
|
.sp
|
|
.RE
|
|
To get the vertical frequency vtotal must eventually adjusted. If the
|
|
display is laced, vtotal must be halved or if the display is a doublescan
|
|
one, vtotal must be doubled. Now we can calculate the length of one frame
|
|
.RS
|
|
.sp
|
|
if\ (lace)\ \ \ vtotal\ /=\ 2
|
|
.br
|
|
if\ (double)\ vtotal\ *=\ 2
|
|
.sp
|
|
frame\ =\ vtotal\ *\ line
|
|
.sp
|
|
.RE
|
|
and we get also the vertical frequency
|
|
.RS
|
|
.sp
|
|
vfreq\ =\ 1E12\ /\ frame\ =\ hfreq\ /\ vtotal
|
|
.sp
|
|
.RE
|
|
.SH SEE ALSO
|
|
.BR fbset "(8), " fbdev (4)
|