VIDEOGEN(1)

NAME
videogen - generate Modelines for XFree86 servers

SYNOPSIS
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>]

DESCRIPTION
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.

  CONFIGURATION FILE
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.

  COMMAND 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.

  OPTIONS
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)

  ERRORS
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

  FIXED DOT CLOCKS
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.

FILES

~/.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.

SEE ALSO
X(1), XF86Setup(1), xvidtune(1), kvideogen(1)

AUTHOR
Szabolcs Rumi <rumi_at_rtfm_dot_hu>

COPYING
GNU General Public License Version 2