fb.modes(5)


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)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.