fb.modes

fb.modes(8)                Linux frame buffer utils                fb.modes(8)



NAME
       fb.modes - frame buffer modes file

DESCRIPTION
       /etc/fb.modes contains an unlimited number of video mode descriptions.
       The general format of a video mode is:

       mode
              geometry <xres> <yres> <vxres> <vyres> <depth>
              timings <pixclock> <left> <right> <upper> <lower> <hslen>
              <vslen>
              options <value>
       endmode

OPTIONS
       geometry options:

              xres   visible horizontal resolution (in pixels)

              yres   visible vertical resolution (in pixels)

              vxres  virtual horizontal resolution (in pixels)

              vyres  virtual vertical resolution (in pixels)

              depth  display depth (in bits per pixel)

       timing options:

              pixclock
                     length of one pixel (in picoseconds)

              left   left margin (in pixels)

              right  right margin (in pixels)

              upper  upper margin (in pixel lines)

              lower  lower margin (in pixel lines)

              hslen  horizontal sync length (in pixels)

              vslen  vertical sync length (in pixel lines)

       other options:
              the first value of this options is the default

              hsync {low|high}
                     the horizontal sync polarity

              vsync {low|high}
                     the vertical sync polarity

              csync {low|high}
                     the composite sync polarity

              extsync {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

              laced {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

              double {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

INTERNALS
       Generally a frame buffer display is organized as follows:

       +---+---------------+---+---+
       |   |       ^       |   |   |
       |   |       | 5     |   |   |
       |   |       v       |   |   |
       +---#################---+---+
       |   #       ^       #   |   |
       |   #       |       #   |   |
       |   #       |       #   |   |
       | 1 #       |   2   # 3 | 4 |
       |<->#<------+------>#<->|<->|
       |   #       |       #   |   |
       |   #       | 6     #   |   |
       |   #       |       #   |   |
       |   #       v       #   |   |
       +---#################---+---+
       |   |       ^       |   |   |
       |   |       | 7     |   |   |
       |   |       v       |   |   |
       +---+---------------+---+---+
       |   |       ^       |   |   |
       |   |       | 8     |   |   |
       |   |       v       |   |   |
       +---+---------------+---+---+

              1  left margin
              2  xres
              3  right margin
              4  horizontal sync len
              5  upper margin
              6  yres
              7  lower margin
              8  vertical sync len

       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

              htotal = left + xres + right + hslen
              vtotal = upper + yres + lower + vslen

       The length of one line can now be calculated with pixclock

              line = pixclock * htotal

       and we have the horizontal frequency

              hfreq = 1E12 / line = 1E12 / (pixclock * htotal)

       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

              if (lace)   vtotal /= 2
              if (double) vtotal *= 2

              frame = vtotal * line

       and we get also the vertical frequency

              vfreq = 1E12 / frame = hfreq / vtotal


SEE ALSO
       fbset(8), fbdev(4)



local                              Aug 1996                        fb.modes(8)