Huge Resolutions and Video Timings
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:
- 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. - The horizontal timings: H display, start of H sync, end of H sync, H total.
- The vertical timings: V display, start of V sync, end of V sync, V total.
- Flags.
These values are to be set bearing the following concepts in mind:
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:
- We stay in the horizontal sync range. There should be one optimal value given in the specifications, so that's one fixed parameter.
- We stay in the vertical refresh range. That's another fixed parameter.
- There's no pixel mismatch, lest we result in wavy pixels and an overall blurry display.
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:
- There are one or two missing lines at the H and V borders;
- The mode is fine for a 16-bits depth, but a different mode will be necessary for 24 bit.
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