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