My generous brother sent me a Dell 2001FP as a gift. The flat panel does 1600x1200. Since my old circa-1998 graphics card did not have DVI out, I decided to upgrade video cards. I didn't want to spend a lot and bought the Giga-byte GV-R925128D based on the Radeon 9250 (RV280) chip from ATI.
Well, analog worked fine but DVI was really flaky. I would get many noisy horizontal lines across the screen. Many times, the monitor just refused to display the signal from the card. Going to a lower resolution didn't help. As it turns out, the X.Org Radeon driver chose to always drive the monitor link at 1600x1200x60hz and use the ATI card's internal scaler to scale smaller resolutions (like 1024x768 or 1280x1024) to 1600x1200.
After reading up on the web, I found that the ATI Windows driver has some workarounds that involved using "alternate timings". I'm not sure what they mean but here's what I discovered in my quest to get my setup working:
One thing that may suprise you is that 1600x1200 becomes 2160x1250 by the time it makes it out onto the DVI link. This is to support CRTs, which need the time to move the electron gun back to the beginning of the line or to the top of the screen. Well, 2160x1250x60hz spews pixels at 162.5Mhz. Either my RV280 had trouble driving the DVI link at that frequency or the cheap Dell panel had trouble dealing with some in-spec DVI signals (a chat with an engineer at display-related company indicated that both had problems in the past but the Dell problem might be more likely).
Since flat panels don't need all that extra time, the guys at VESA who define standard monitor timings have created reduced blanking interval timings. For 1600x1200, the reduced blanking interval means that we only have to send 1760x1235 to the monitor on each frame; at 1760x1235x60hz, we're spewing pixels at 130.25Mhz. It turns out my RV280 can handle spewing pixels at 130.25Mhz. And my Dell 2001FP syncs and displays beautiful 1600x1200.
I couldn't figure out how to get the X.org Radeon driver to take my modified timings without hacking the driver. So, here's my hacked version of the driver for X.org 6.8.1/CentOS 4. Here's a source code diff against X.org 6.8.2. This hack also tries not to do autoscaling; my Dell 2001FP already autoscales beautifully.
Here's the monitor section of my xorg.conf with the reduced blanking timings:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Dell 2001FP (Digital)"
DisplaySize 410 310
HorizSync 31.0 - 80.0
VertRefresh 56.0 - 76.0
# Recent versions of Xorg need you to uncomment the Option "ReducedBlanking" line below
# Thanks Adam Sampson (http://offog.org) for the info.
# Option "ReducedBlanking"
Option "dpms"
Option "DDCMode" "off"
Modeline "1600x1200" 130.25 1600 1648 1680 1760 1200 1203 1207 1235
Modeline "1280x960" 85.25 1280 1328 1360 1440 960 963 967 988
EndSection
Occasionally, when I enter X, the display is shifted over to the right
by several pixels. Switching to a text mode console and back to X seems
to fix it for me.
You can use this spreadsheet to calculate the reduced blanking timing. OpenOffice 1.1 users will have to disable the error check on question 6. Select cell K23, go to Data then Validity then Error Alert and uncheck "Show Error Message".