videogen - generate Modelines for XFree86 servers
videogen [-v|-q] [-fb|-nfb] [-nv|-nnv] [-f=<file|->]
    [-m=<mode>] [-mdc=<n>] [-mhf=<n>] [-mvf=<n>]
    [-dvf=<n>] [-hv=<n>] [-vv=<n>] [-hfp=<n>]
    [-hbp=<n>] [-hsp=<n>] [-vfp=<n>] [-vbp=<n>]
    [-vsp=<n>]
videogen can be used to generate Modelines for XFree86
    servers to reach the highest possible vertical refresh (screen update) rate
    at all resolutions, or to match the refresh rate you desire. As a new
    feature, it can obey the non-free NVidia driver's timing constraints. It can
    print the calculated results in the Linux framebuffer device format as
  well.
ATTENTION! You only have to specify the maximum dot clock,
    the maximum horizontal frequency, the maximum vertical refresh, and of
    course the modes (resolutions) to generate the appropriate Modelines. The
    other options are only there for tweaking or solving special problems, there
    are hardcoded defaults for them which are suitable for the vast majority of
    cases.
A configuration file can be used to specify all or part of the
    parameters needed by videogen to perform its calculations. This can
    be very comfortable in many cases. You can also specify a configuration file
    path on the command line other than the default (~/.videogen) or read from
    stdin which might be helpful if you want to call videogen from another
    program or from a script.
The general syntax rules are the following: the parameters can be
    specified using name=value pairs. The parameter names are matched in a case
    insensitive manner. Blanks are optional. More name=value pairs can be
    specified on a single line separated by ";" characters. Any string
    after a "#" character is treated as a comment up to the end of the
    line.
The command line options always override the parameters set in the
    configuration file. This also applies to the mode list, so when one or more
    modes are specified on the command line, the entire list of modes read from
    the configuration file is replaced by these.
The command line options are described below together with their
    configuration file variable counterparts (if present).
  - -v
 
  
  - -q
 
  
  - verbose=on|off
 
  - Turn on/off verbose output. FYI -q stands for quiet ;)
    
     (default=on) 
  - -fb
 
  
  - -nfb
 
  
  - fbset=on|off
 
  - Turn on/off fbset (Linux framebuffer timings) mode. In this mode fbset
      timings are printed instead of Modelines.
    
     (default=off) 
  - -nv
 
  
  - -nnv
 
  
  - nvidia=on|off
 
  - Turn on/off non-free NVidia Linux driver compatibility mode.
    
     (default=on) 
  - -f=filespec
 
  - Use filespec as the configuration file. This accepts - to
      read the options from the standard input. The "~" character gets
      expanded to the home directory of the user running videogen.
    
     (default=~/.videogen) 
  - -m=modespec
 
  
  - mode=modespec
 
  - Adds modespec to the list of modes to calculate a Modeline for.
      This must be in the form 800x600 (width x height) and it can be
      specified more than once to add several modes.
 
  - -mdc=freq
 
  - Set freq to the maximum dot clock rate of your video card or the
      bandwidth of your monitor, whichever is lower, in MHz.
 
  - -mhf=freq
 
  - Set freq to the maximum horizontal refresh frequency of your
      monitor in kHz.
 
  - -mvf=freq
 
  - Set freq to the maximum vertical refresh frequency of your monitor
      in Hz.
 
  - -dvf=freq
 
  - Set freq to the vertical refresh frequency which you think it would
      be optimal for you, in Hz. The program will try to match this frequency at
      all resolutions, instead of the maximum frequency that would be
      technically possible. (optional)
 
  - -hv=percent
 
  - Set percent to the percentage of the horizontal frame length you
      want the visible resolution to be. (optional)
 
  - -vv=percent
 
  - Set percent to the percentage of the vertical frame length you want
      the visible resolution to be. (optional)
 
  - -hfp=duration
 
  - Set duration to the horizontal front porch duration of your monitor
      in clock ticks. (optional)
 
  - -hbp=duration
 
  - Set duration to the horizontal back porch duration of your monitor
      in clock ticks. (optional)
 
  - -hsp=duration
 
  - Set duration to the minimum horizontal sync pulse duration of your
      monitor. (optional)
 
  - -vfp=duration
 
  - Set duration to the vertical front porch duration of your monitor
      in clock ticks. (optional)
 
  - -vbp=duration
 
  - Set duration to the vertical back porch duration of your monitor in
      clock ticks. (optional)
 
  - -vsp=duration
 
  - Set duration to the minimum vertical sync pulse duration of your
      monitor. (optional)
 
You can expect the following error codes to be returned by
    videogen:
  - 100
 
  - system error (memory allocation problems, or other)
 
  - 101
 
  - command line option error
 
  - 102
 
  - configuration file error
 
  - 103
 
  - bad resolution error, currently returned when no (valid) modes have been
      specified anywhere
 
  - 104
 
  - bad maximum dot clock rate, currently returned when a proper value has not
      been specified anywhere
 
  - 105
 
  - bad maximum horizontal refresh, currently returned when a proper value has
      not been specified anywhere
 
  - 106
 
  - bad maximum vertical refresh, currently returned when a proper value has
      not been specified anywhere
 
If your display adapter does not have a programmable clockchip
    then you will need to get a list of available clocks somehow and enter these
    as the maximum dot clock frequency. This way videogen will have to adjust
    (decrease) the horizontal refresh frequency to get exactly the given dot
    clock rate. A similar method can be used to match the proper frequencies of
    a fixed frequency monitor.
  - ~/.videogen
 
  - This is the default location for the videogen configuration file.
 
  - /usr/X11/lib/X11/XF86Config
 
  - This is the common Xserver configuration file where the Modelines
      generated with videogen can be used. Currently this must be done by
      hand.
 
X(1), XF86Setup(1), xvidtune(1), kvideogen(1)
Szabolcs Rumi <rumi_at_rtfm_dot_hu>
GNU General Public License Version 2