Basic Linux – changing display resolution

I’m so sorry to bother with what is probably such a basic question, but I’ve never figured out how to get Linux (Ubuntu 9.1) to display in anything other than 800 x 600 – that and 640 x 480 are all that show up under System>Display. It lists my monitor (Dell 2408WFP) as “unknown” and detect displays does nothing.

It’s very painful and difficult to use on an LCD screen that expects 1920 x 1200. I’ve tried searching and posting to Ubuntuforums.org, but either it’s too basic to appear or (more likely) I just don’t know how to phrase the question/search.

The relevant hardware is an Asus P5KPL-CM motherboard that has integrated graphics – a 82G33/G31 Express Integrated Graphics Controller.

The only :smack: thing I can think of is that I’m connecting via a VGA cable, but I’ve had more and higher resolutions on other computers.

Any suggestions? I’m really at my wits end with this one.

Thanks,

Rhythm

Check the log file /var/log/Xorg.0.log (or wherever Ubuntu puts it) to determine whether the appropriate driver for your video card is being loaded. For example I see the following when my integrated NVIDIA card is detected.


(II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
(II) Module nouveau: vendor="X.Org Foundation"
        compiled for 1.7.1, module version = 0.0.10
        Module class: X.Org Video Driver
        ABI class: X.Org Video Driver, version 6.0
(II) NOUVEAU driver 
(II) NOUVEAU driver for NVIDIA chipset families :
        RIVA TNT    (NV04)
        RIVA TNT2   (NV05)
        GeForce 256 (NV10)
        GeForce 2   (NV11, NV15)
        GeForce 4MX (NV17, NV18)
        GeForce 3   (NV20)
        GeForce 4Ti (NV25, NV28)
        GeForce FX  (NV3x)
        GeForce 6   (NV4x)
        GeForce 7   (G7x)
        GeForce 8   (G8x)

The chipset you mentioned is reported to work well with the intel video driver. There are multiple versions of that driver, so you might need to search the Ubuntu repositories to make sure the right one is installed.

The entire file is far too long to post (even in CODE tags), but I’m not sure what parts are relevant. I hope these two bits are close to what I’m supposed to be looking for.

I see several mentions of driver and video card, but also a lot of entries that say not using default mode “X x Y” (hsync out of range)/(vrefresh out of range). It also looks like the G31isn’t specifically mentioned in the driver description, but G33 is.



X.Org X Server 1.6.4

Release Date: 2009-9-27

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.24-23-server x86_64 Ubuntu

Current Operating System: Linux GotBack 2.6.31-17-server #54-Ubuntu SMP Thu Dec 10 18:06:56 UTC 2009 x86_64

Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.31-17-server root=UUID=e3ee6afd-35e4-4886-9fa1-50e636f3aea3 ro quiet splash

Build Date: 26 October 2009  05:19:56PM

xorg-server 2:1.6.4-2ubuntu4 (buildd@) 

	Before reporting problems, check http://wiki.x.org

	to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

	(++) from command line, (!!) notice, (II) informational,

	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan  8 05:33:33 2010

(II) Loader magic: 0xb40

(II) Module ABI versions:

	X.Org ANSI C Emulation: 0.4

	X.Org Video Driver: 5.0

	X.Org XInput driver : 4.0

	X.Org Server Extension : 2.0

(II) Loader running on linux

(++) using VT number 7

(--) PCI:*(0:0:2:0) 8086:29c2:1043:82b0 Intel Corporation 82G33/G31 Express Integrated Graphics Controller rev 16, Mem @ 0xfe980000/524288, 0xe0000000/268435456, 0xfe800000/1048576, I/O @ 0x0000cc00/8

(==) Using default built-in configuration (39 lines)

(==) --- Start of built-in configuration ---

	Section "Device"

		Identifier	"Builtin Default intel Device 0"

		Driver	"intel"

	EndSection
...

(II) LoadModule: "intel"

(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so

(II) Module intel: vendor="X.Org Foundation"

	compiled for 1.6.4, module version = 2.9.0

	Module class: X.Org Video Driver

	ABI class: X.Org Video Driver, version 5.0

(II) LoadModule: "i810"

(WW) Warning, couldn't open module i810

(II) UnloadModule: "i810"

(EE) Failed to load module "i810" (module does not exist, 0)

(II) LoadModule: "vesa"

(II) Loading /usr/lib/xorg/modules/drivers//vesa_drv.so

(II) Module vesa: vendor="X.Org Foundation"

	compiled for 1.6.3, module version = 2.2.1

	Module class: X.Org Video Driver

	ABI class: X.Org Video Driver, version 5.0

(II) LoadModule: "fbdev"

(II) Loading /usr/lib/xorg/modules/drivers//fbdev_drv.so

(II) Module fbdev: vendor="X.Org Foundation"

	compiled for 1.6.0, module version = 0.4.0

	ABI class: X.Org Video Driver, version 5.0

(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,

	i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,

	E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,

	965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,

	4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale

(II) VESA: driver for VESA chipsets: vesa

(II) FBDEV: driver for framebuffer: fbdev

(II) Primary Device is: PCI 00@00:02:0

(WW) Falling back to old probe method for vesa

(WW) Falling back to old probe method for fbdev

(II) Loading sub module "fbdevhw"

(II) LoadModule: "fbdevhw"

(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so

(II) Module fbdevhw: vendor="X.Org Foundation"

	compiled for 1.6.4, module version = 0.0.2

	ABI class: X.Org Video Driver, version 5.0

(II) resource ranges after probing:

	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX**

	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX**

	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX**

	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX**

	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX**

	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX**

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 8, (OK)

drmOpenByBusid: Searching for BusID pci:0000:00:02.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 8, (OK)

drmOpenByBusid: drmOpenMinor returns 8

drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0

(II) intel(0): Creating default Display subsection in Screen section

	"Builtin Default intel Screen 0" for depth/fbbpp 24/32

(==) intel(0): Depth 24, (--) framebuffer bpp 32

(==) intel(0): RGB weight 888

(==) intel(0): Default visual is TrueColor

(II) intel(0): Integrated Graphics Chipset: Intel(R) G33

(--) intel(0): Chipset: "G33"

(II) intel(0): Output VGA1 has no monitor section

(II) intel(0): EDID for output VGA1

(II) intel(0): Not using default mode "640x350" (vrefresh out of range)

(II) intel(0): Not using default mode "640x400" (vrefresh out of range)

(II) intel(0): Not using default mode "720x400" (vrefresh out of range)

(II) intel(0): Not using default mode "640x480" (vrefresh out of range)

(II) intel(0): Not using default mode "640x480" (vrefresh out of range)

(II) intel(0): Not using default mode "640x480" (vrefresh out of range)

(II) intel(0): Not using default mode "800x600" (vrefresh out of range)

(II) intel(0): Not using default mode "800x600" (vrefresh out of range)

(II) intel(0): Not using default mode "800x600" (vrefresh out of range)

(II) intel(0): Not using default mode "800x600" (vrefresh out of range)

(II) intel(0): Not using default mode "1024x768" (hsync out of range)

(II) intel(0): Not using default mode "1024x768" (vrefresh out of range)

(II) intel(0): Not using default mode "1024x768" (vrefresh out of range)

(II) intel(0): Not using default mode "1024x768" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1280x960" (hsync out of range)

(II) intel(0): Not using default mode "1280x960" (vrefresh out of range)

(II) intel(0): Not using default mode "1280x1024" (hsync out of range)

(II) intel(0): Not using default mode "1280x1024" (vrefresh out of range)

(II) intel(0): Not using default mode "1280x1024" (vrefresh out of range)

(II) intel(0): Not using default mode "1600x1200" (hsync out of range)

(II) intel(0): Not using default mode "1600x1200" (vrefresh out of range)

(II) intel(0): Not using default mode "1600x1200" (vrefresh out of range)

(II) intel(0): Not using default mode "1600x1200" (vrefresh out of range)

(II) intel(0): Not using default mode "1600x1200" (vrefresh out of range)

(II) intel(0): Not using default mode "1792x1344" (hsync out of range)

(II) intel(0): Not using default mode "1792x1344" (vrefresh out of range)

(II) intel(0): Not using default mode "1856x1392" (hsync out of range)

(II) intel(0): Not using default mode "1856x1392" (vrefresh out of range)

(II) intel(0): Not using default mode "1920x1440" (hsync out of range)

(II) intel(0): Not using default mode "1920x1440" (vrefresh out of range)

(II) intel(0): Not using default mode "832x624" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (hsync out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1152x864" (vrefresh out of range)

(II) intel(0): Not using default mode "1360x768" (hsync out of range)

(II) intel(0): Not using default mode "1360x768" (hsync out of range)

(II) intel(0): Not using default mode "1400x1050" (hsync out of range)

(II) intel(0): Not using default mode "1400x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1400x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1400x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1440x900" (hsync out of range)

(II) intel(0): Not using default mode "1600x1024" (hsync out of range)

(II) intel(0): Not using default mode "1680x1050" (hsync out of range)

(II) intel(0): Not using default mode "1680x1050" (hsync out of range)

(II) intel(0): Not using default mode "1680x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1680x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1680x1050" (vrefresh out of range)

(II) intel(0): Not using default mode "1920x1080" (hsync out of range)

(II) intel(0): Not using default mode "1920x1200" (hsync out of range)

(II) intel(0): Not using default mode "1920x1440" (vrefresh out of range)

(II) intel(0): Not using default mode "2048x1536" (hsync out of range)

(II) intel(0): Not using default mode "2048x1536" (vrefresh out of range)

(II) intel(0): Not using default mode "2048x1536" (vrefresh out of range)

(II) intel(0): Printing probed modes for output VGA1

(II) intel(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)

(II) intel(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)

(II) intel(0): Output VGA1 connected

(II) intel(0): Using fuzzy aspect match for initial modes

(II) intel(0): Output VGA1 using initial mode 800x600

(==) intel(0): video overlay key set to 0x101fe

(==) intel(0): Using gamma correction (1.0, 1.0, 1.0)

(==) intel(0): DPI set to (96, 96)

(II) Loading sub module "fb"

(II) LoadModule: "fb"

(II) Loading /usr/lib/xorg/modules//libfb.so

(II) Module fb: vendor="X.Org Foundation"

	compiled for 1.6.4, module version = 1.0.0

	ABI class: X.Org ANSI C Emulation, version 0.4

(II) UnloadModule: "vesa"

(II) Unloading /usr/lib/xorg/modules/drivers//vesa_drv.so

(II) UnloadModule: "fbdev"

(II) Unloading /usr/lib/xorg/modules/drivers//fbdev_drv.so

(II) UnloadModule: "fbdevhw"

(II) Unloading /usr/lib/xorg/modules/linux//libfbdevhw.so

(==) Depth 24 pixmap format is 32 bpp

(II) do I need RAC?  No, I don't.

(II) resource ranges after preInit:

	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX**

	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX**

	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX**

	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX**

	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX**

	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX**

(II) intel(0): [DRI2] Setup complete

(**) intel(0): Framebuffer compression disabled

(**) intel(0): Tiling enabled

(**) intel(0): SwapBuffers wait enabled

(==) intel(0): VideoRam: 262144 KB

(II) intel(0): Attempting memory allocation with tiled buffers.

(II) intel(0): Tiled allocation successful.

(II) UXA(0): Driver registered support for the following operations:

(II)         solid

(II)         copy

(II)         composite (RENDER acceleration)

(==) intel(0): Backing store disabled

(==) intel(0): Silken mouse enabled

(II) intel(0): Initializing HW Cursor

(II) intel(0): No memory allocations

(II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.

(II) intel(0): DPMS enabled

(==) intel(0): Intel XvMC decoder disabled

(II) intel(0): Set up textured video

(II) intel(0): direct rendering: DRI2 Enabled

(--) RandR disabled




Your problem could be caused by the monitor providing incorrect resolution and refresh information (EDID), causing X to discard your desired video mode. In that case it is possible to manually provide correct information to get around the problem.

In the meantime, could you provide your /etc/X11/xorg.conf file?

ETA: It might be of interest to install the read-edid package and run ‘sudo get-edid’ to see what the monitor is providing.

So I ran sudo apt-get install read-edid, then ran sudo get-edid and recieved:


get-edid: get-edid version 2.0.0

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
	Function supported
	Call successful

	VBE version 300
	VBE string at 0x11100 "Intel(r)Q33/Q35/G33 Graphics Chip Accelerated VGA BIOS"

VBE/DDC service about to be called
	Report DDC capabilities

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
	Function supported
	Call successful

	Monitor and video card combination does not support DDC1 transfers
	Monitor and video card combination does not support DDC2 transfers
	0 seconds per 128 byte EDID block transfer
	Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
	Read EDID

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
	Function supported
	Call failed

The EDID data should not be trusted as the VBE call failed
Error: output block unchanged


Possibly part of the problem (user or installation), I can’t find xorg.conf. I turned on show hidden files, but that didn’t help. I searched as high as /etc and / but nothing showed up. The closest I find is xorg.conf.5.gz located in usr/share/man/man5.

There is a very large chance you don’t have an xorg.conf – they’re being phased out with the onset of evdev and hal taking care of everything. However, it can still be created (semi)manually, edited from /etc/X11/xorg.conf.example (at least on my system, gentoo), or automatically from running “Xorg -configure”, which should put the xorg.conf into your current directory.

[edit clarified what you might not have]

Yep, that’s what I thought too. I just wanted to make sure there was no non-standard settings around there. I would suggest auto-generating the file as Nesyut described, and manually configure the monitor’s sync settings and your desired resolution.

Oh, and Ubuntu is even phasing out hal now and will use udev for that purpose.

I’ve had to do something similar in the past (on previous versions of Ubuntu… I’ve not tried 9.1 yet), and it does involve editing/creating an xorg.conf and setting the resolution manually.

Google “Ubuntu force screen resolution” for plenty of how-to’s.

I went to the /etc/X11 directory and ran Xorg -configure and recieved:


Fatal server error:
Server is already active for display 0
	If this server is no longer running, remove /tmp/.X0-lock
	and start again.
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 

 ddxSigGiveUp: Closing log

Because this is a clean install (i.e., I can restart from zero if I muck things up, I deleted /tmp/X0-lock via sudo (all it displayed was the number 1410). I re-ran -Xorg -configure, but recieved a cannot move files error, so I ran it under sudo and recieved:


XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't already running

Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

 ddxSigGiveUp: Closing log


I’m starting to think maybe I should move the monitor about ten feet away, then everything will seem the right size.

You cannot run that command while X is running, that is the problem. If you run sudo stop gdm, you will be dropped at a terminal. There you can log in, run the Xorg -configure command. Then, to return to X, execute sudo start gdm.

Well this is confusing.

I ran sudo stop gdm

Navigated to /etc/X11

Ran Xorg -configure

Received a fatal error (can’t move) so ran sudo Xorg -configure

There was a dump to the screen (can’t copy here), and I ran sudo start gdm.

I’m here now, and xorg.conf isn’t showing up, but xorg-server.conf shows up under /etc.

I’m not sure how relevant it is, but it contains:


<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
	<policy context="default">
		<allow own="org.x.config.display0"/>
		<allow send_destination="org.x.config.display0"/>
		<allow send_interface="org.x.config.display0"/>
		<allow own="org.x.config.display1"/>
		<allow send_destination="org.x.config.display1"/>
		<allow send_interface="org.x.config.display1"/>
	</policy>
</busconfig>

ETA:
Following Improvisor’s search suggestion is turning up a lot of hits. Trying to weed through which ones I can understand and apply …

I found some more interesting information regarding the Intel driver and changes made for Ubuntu 9.10. The resolution setting code has been moved from X to the kernel to allow for a seamless boot sequence in the future with no unnecessary flickering/resolution changes, and for some other advantages. However, X had previously patched up quirks such as the ones you are experiencing, while they might not have been migrated to the kernel code yet, resulting in regressions.

While you can still override the problem by a manual xorg.conf, it might also work to disable the kernel mode setting by giving the modeset=0 option to the kernel during boot. To do this, you press Esc during the boot when it pauses to count down for a few seconds before booting. You will then be dropped to the GRUB menu. Press ‘e’ (for edit) on the top menu entry, and then move to the line beginning with ‘kernel’, and press ‘e’ again. Then, at the end of the line, add modeset=0, press enter, and then ‘b’ to boot.

This setting is not permanent, so any setting you make there will disappear upon next reboot, but it can easily be made permanent if we find that it helps.

Ugh. I just rebooted ten to fifteen times, hitting escape like a madman. I’ve seen the three-second countdown in previous installs, but not this one. I did get it to pause for a moment, but after a moment text flew by (too fast to read) and it dropped me to a desktop.
Possibly from the why the hell didn’t you say so in the first place, could I have screwed up the install by loading the desktop second? That is, this install is based on the server ISO (we need Samba and LAMP). After the first bootup, I ran sudo apt-get install ubuntu-desktop.

I’m not familiar with the Ubuntu server configuration, though I would be surprised if the boot process is much different, but you could check /boot/grub/menu.lst and there should be a timeout setting. I apologize if I’m leading you astray here, but that’s normally how one applies kernel options for a single boot. They can also be added in that configuration file, but it’s normally useful to test them out first.

I can’t guarantee that the kernel option will help, but it should move the responsibility to X to do the mode setting magic. So in case the mode setting used to work with older versions, but not in 9.10, that might be the culprit. The root of the problem is probably some EDID incompatibility, but as I said, Xorg has implemented many quirk fixes to deal with these.

It’s possible the GRUB timeout is set to 0.

Easy to fix. Edit the /boot/grub/menu.lst file (sudo nano /boot/grub/menu.lst). You’ll see a line that says “timeout”, change the value to 10. Then run the command “sudo update-grub” and reboot. You should now have a 10 second timeout before grub automatically boots.

From what I can see from your logs, the problem is your monitor. From some reason it is not responding to the EDID request, so the OS does a fall back to a safe default (800x600).

I think your solution will be to add some stuff to your xorg.conf

I’ll post again in a minute with a xorg.conf you can try.

… assuming I can find menu.lst. I searched and looked with hidden files visible, but it didn’t show up. I did find grub-menu.lst in usr/share/doc/memtest86+/examples, but that doesn’t seem like a useful location.

Could I have mucked up the installation somehow to screw this bit up?

ETA: I ran sudo nano /boot/grub/menu.lst and it was creating a new file.

Give this a try. Save it as /etc/X11/xorg.conf (probably have to save it in your home directory and then copy to /etc/X11 using sudo).

BTW, you can restart the X-server with right alt + print scrn + k instead of rebooting.

The monitor data in my config is just a 20" that goes to 1600x1200. If it does work, we can tweak the refresh values to get you 1900x1200.


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
EndSection
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HP LP2065"
    HorizSync       30.0 - 92.0
    VertRefresh     48.0 - 85.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "intel"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
EndSection

Oh boy oh boy oh boy!

almost!

I copied the xorg.conf file to a gedit window, saved to my home directory, then ran gksudo nautilus (yes, I’m feeling a bit wimpy and command-line averse at the moment) to copy it to /etc/X11. (Oh, note to anyone finding this thread at a later date with a similar noob status. Make sure that’s a capital X11, not x11. Ask me why I’m command-line averse at the moment :slight_smile: )

I rt-alt+ print scrn + k 'd my way to restarting, and initially got an error message from the monitor: “Out of range signal. Cannot display this video mode. Change computer display input to 1920 x 1200 @ 60 Hz.” Yikes.

So I rebooted and it stumbled just a bit (the error message popped up for a second or two) until I ended up back at a desktop. I checked System>Display and lo, there were a slew of resolutions that were not there before! I’m now at 1680 x 1050, which isn’t exactly correct, but it is MUCH better than it was before.

I assume I can change Identifier, VendorName and ModelName to anything I want. What is generating the list of possible resolutions?

Also, if for some reason the video error comes back and won’t go away, is it safe to assume that the install disk will allow me to boot to a command prompt so I can navigate to /etc/X11 and manually delete?

The critical part is the HorizSync and VertRefresh, without proper EDID information it does not know the monitor’s limits and thus thought the modes were out of range before. Now that you set them manually, it opened up many modes that it previously thought were out of range. You just have to adjust the ranges now to gain access to your desired mode. I’m not sure what values your monitor is supposed to have, but either you just try widening the ranges a bit, or if you have the monitor manual, find the correct information there.

Hmm. At http://support.dell.com/support/edocs/monitors/2408WFP/en/UG/about.htm#Specifications these values are given:

Vertical: 56 Hz to 75 Hz
Horizontal: 30 kHz to 83 kHz