fb.modes

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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 horizon-
		     tal  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	 dou-
       blescan	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)