[NBLUG/talk] Refresh Rates (was monitor resolution question)

Justin Thiessen thiessen at sonic.net
Sun Aug 24 10:46:02 PDT 2003


On Sat, 23 Aug 2003, Jeremy Turner wrote:

> On Sat, 2003-08-23 at 06:25, Justin Thiessen wrote:
> > You will almost certainly want to use xvidtune to tweak these, and you can
> > guarantee that you get the highest possible refresh rates this way.
>
> So the only way to tweak refresh rates is to use modelines?  I thought
> xfree86 made leaps and bounds with the modes line to specify
> resolutions, but being able to specify refresh rates like that would be
> slick.  I've never tweaked that before, only kept the default rates.

_Specifying_ actual refresh rates for a given resolution, and asking X
to generate a mode, does not really seem to be the way things are set up
under XFree86.  As you probably know, refresh rate, along with
horizontal and vertical resolution, are not independent.  Your monitor has
a set maximum amount of bandwidth it can handle, which is manipulated
within the constraints of minimum and maximum horizontal and vertical
frequencies, minimum allowable sync pulse times, and blanking intervals to
produce a display.  The XFree86 Video Timing HOWTO does an ok job of
covering this.

Essentially, it turns into an equation with several variables that has a
range of solutions, depending on how you constrain one or more variables.
The typical multisync CRT can do 800x600 for a whole range of refresh
rates.  The impression I get, from monkeying around with settings but
never reading the actual code is that X can generate VESA-standard
resolutions covering 640x480 - 1920x1440.  The VESA standard, IIRC,
includes all the typical resolutions (640x480, 800x600, 1024x768, etc.)
at a refresh rate above 70Hz (?).  Moreover, there seem to be several
canned modelines for most of the VESA standard modes, ranging in refresh
rate from the minimum value up to some typical one for today's monitors.
So you probably have modes for 1024x768 @ 70Hz, 1024x768 @ 85Hz, and
perhaps one or two in-between.  (Note that the standard 640x480 mode runs
at 60Hz, because that was the historical definition of VGA.)

If you want to eek out optimal refresh rates for your monitor, or run it
at a non-standard resolution (say, 1400x1050, which is something that lots
of 19" monitors do well, and look a lot better at than 1600x1200, due to
simple dot-pitch constraints or non-spectacular convergence), or simply
use your monitor at a VESA standard resolution but at a lower refresh rate
(I have many old monitors that run at 60Hz.), you may want to write your
own modelines.

http://koala.ilog.fr/cgi-bin/nph-colas-modelines

Tries to generate the highest possible refresh rate for a given
resolution, within the monitor constraints you provide.  It's not perfect,
because it makes some assumptions about your monitor's capabilities, but
I've used it several times and had a fair amount of luck with the results.

If you want to because the above doesn't work, or if you just think it
sounds like fun, you can always try writing a modeline by hand.  It's not
that hard, and the video timings HOWTO should get you on your way.  The
primary thing is to get as much of the relevant info about your monitor's
specs as possible.   Most manuals should give you at least the
horizontal and vertical sync ranges, as well as the maximum bandwidth
your monitor can handle.  If you can actually find out what length sync
pules and blanking times your monitor expects, then you won't have to fiddle
around nearly as much with the resulting modeline, but even if you can't,
you can still start out with the reasonable defaults the Raymond suggests.

Corrections welcome,

Justin Thiessen
thiessen at sonic.net



More information about the talk mailing list