bionic (5) fb.modes.5.gz

Provided by: fbset_2.1-30_amd64 bug

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>
              rgba <red,green,blue,alpha>
       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)

       rgba options (only valid with truecolor):

              red    red color bitfields (in length or length/offset)

              green  green color bitfields (in length or length/offset)

              blue   blue color bitfields (in length or length/offset)

              alpha  alpha color bitfields (in length or length/offset)

       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

              gsync {low|high}
                     the sync on green polarity

              bcast {false|true}
                     enable or disable broadcast modes. If enabled the frame buffer generates the exact  timings
                     fot  several broadcast modes (e.g. PAL or NTSC). Note that this option may not be supported
                     by every frame buffer

              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

              sync <number>
                     custom sync flags (frame buffer driver dependent)

              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

              nostd <number>
                     select nonstandard video mode

              accel {false|true}
                     enable or disable hardware text acceleration

              grayscale {false|true}
                     enable or disable graylevels instead of colors

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)