Jérôme Belleman
Home  •  Tools  •  Posts  •  Talks  •  Travels  •  Graphics  •  About Me

Huge Resolutions and Video Timings

12 Apr 2009

Some old X.Org versions aren't good at telling optimal resolutions when these are higher than usual. Some uncommon parameters such as timing must then be set.

1 Guidelines

X.Org is normally smart enough to determine the appropriate video timings as long as the resolution doesn't grow to high for its generation. If it does, you'll have to specify the timings manually, typically by writing a ModeLine in /etc/X11/xorg.conf. To quote man xorg.conf:

ModeLine "name" mode-description

The mode-description is made of 4 sections:

  1. The dot (or pixel) clock, which should be the lowest one between the display's maximum dot clock and the maximum GPU dot clock. They should be described in the screen specifications but if they aren't, run Xorg -probeonly, possibly increasing the verbosity by adding the -verbose n option.
  2. The horizontal timings: H display, start of H sync, end of H sync, H total.
  3. The vertical timings: V display, start of V sync, end of V sync, V total.
  4. Flags.

These values are to be set bearing the following concepts in mind:

Timing Concepts
Timing Concepts

In a line, the displayed pixels are followed by a handful of invisible and unused ones, themselves followed by a sync range (or top), followed by more unused pixels. The same idea works vertically. The idea is to get the timings right such that:

Even when bearing these guidelines in mind, you'll find that the monitor won't like some settings and will display distorted images. Use xvidtune to fine-tune the settings, making sure everything is perfect.

Eventually, it is a good idea to draw a black image the size of the display, padded with a pixel-wide white frame that you'll show full-screen to then let the screen auto-position itself.

2 Example

Here's a sample mode for a 2048×1152 Samsung SyncMaster 2343NW:

ModeLine "2048x1152" 157.00 2048 2076 2126 2208 1152 1165 1168 1192

It's not perfect, in particular:

3 Cheating with Windows

I can't believe I'm suggesting this, but one way to work out refresh ranges is to let another operating system that's usually better at supporting hardware set up the display properly and get e.g. the resulting vertical refresh from the monitor's OSD.

In fact, while you're at it, you could use a Windows program such as PowerStrip get the timings once the display is properly configured, which you can then use to write a good mode. This is how I could determine an even better mode for that same 2048×1152 Samsung SyncMaster 2343NW:

ModeLine "2048x1152" 156.60 2048 2104 2136 2208 1152 1155 1160 1185

4 References