When I change modes with ctrl-alt-(keypad''+) or ctrl-alt-(keypad''-) I get a virtual screen. I don't want that

In X the size of the root window (ie. your desktop) is fixed. When you change the video mode using the hotkey sequence of xvidtune you therefore get a 'virtual' screen, ie. a screen that is bigger than your desktop and you can use your mouse to 'pan' thru it.

There now is an extension which allows to change the video mode along with the size of the root window. It is called the RandR extension. You can use xrandr to set the desired mode. Use xrandr --query to get a list of available modes. With xrandr --size <width>x<height> you can pick one of the available resolutions. Try man 1x xrandr or xrandr -help to get more information on xrandr.

Please note! If your application/window manager doesn't support the RandR extension you are likely to lose those windows which are entirely located outside of your new desktop. You can get them back when you restore your desktop to the original size.

Why can't I get a 1400x1050 video mode (or some other size)

Some drivers are limited to the set of modes in the video BIOS. The most common examples is vesa. Usually there's nothing you can do in this situation, because it's not possible to modify the BIOS. Sorry. The exception is some Intel chips, where you can use the 855resolution or 915resolution hacks, and it might work and it might not.

Obtaining modelines from Xorg log

The Xorg log may contain the information needed to manually create an optimized modeline. Usually the more user friendly automatic setup tools will do this job for you. But sometimes those tools fail. In those cases you are left with the task of reading the Xorg log file to figure out what to do.

Using this information does require manually editing the configuration file, but this is not a terribly difficult process. The key is to have a mostly correct configuration file as a starting point. In my situation I had a valid configuration file, but it was for the old monitor. The new LCD panel has a much more limited frequency range than the old monitor, and it could not accept the previous setup. I could have done a full re-install of X (I think), but it was easier to just edit the configuration file.

I switched into a text mode VT (CTL-ATL-F2), edited the config file, and restarted X. Voila.

The VertRefresh range, HorizSync range, and DisplaySize were obtained from the log. I copied the ModelName and VendorName but these do not really matter.

Modeline "1600x1200" 162.00 1600 1664 1856 2160 1200 1201 1204 1250

The name 1600x1200 is just a normal convention. The recommended clock speed of 162.00 and the pixel timings are taken from the log.

Obtaining modelines from Windows program PowerStrip

If you have a dual boot system and a monitor / graphics card that works fine under MS Windows but you can't figure out the equivalent modeline parameters for Linux, you can use the Windows program PowerStrip.

I used this to configure X.org to work correctly with my Sun X7200A 20.1" LCD monitor and my Dell C400 Latitude notebook.

?DisplaySize, if included really should be the actual size of your display in mm. This is best assessed by determining the LCD's native resolution and dotpitch and multiplying the two. For a Dell 2001FP, the native resolution is 1600x1200 and the dotpitch is .255 mm, thus the display size should be 408 306. The display size listed above will not correctly display paper sizes in word processing or other programs (e.g., openoffice, gv).