Got a new monitor, a 19" Samsung SyncMaster 953BW DFP (digital flat panel, what I'd call an LCD). Nu, now trials and tribulations ensued…
"Things will get worse before they get better". Story begins with confusion… and FUD.
- KDE's control center (system settings) → monitor: this specific model, 953BW, isn't listed. Whatever, pick another, they use the same driver anyway. Requires restarting X (hell, there goes my session, might as well require a reboot).
- It offers a choice between two refresh frequencies: 60Hz, 75Hz. Monitor says its native ("optimal") resolution is 1440x900@60Hz. This one doesn't work at all: most of the desktop is off screen. With 75Hz it fits horizontally, but about 30 pixels get clipped off the bottom. And the text is blurred something crazy, unreadable, unusable. (Lower, standard resolutions, look better, but still ugly. Switching the monitor from widescreen to normal mode gives an almost clear picture, but distorted, of course, compressed horizontally.)
- I'm using: Kubuntu 7.04 "Feisty Fawn", Xorg 7.2.0 (built 2007-04), Linux 2.6.20 (AMD64), nv driver 2.0.0 (Xorg's), nVidia GeForce 6100 on-board, VGA cable.
- Monitor's automatic adjustment seems to sweep through its range of coarse and fine tuning, slightly moving and stretching the picture horizontally, presumably looking for a better fit, but never finding the correct setup. Vertically, it does nothing.
- Hacked at /etc/X11/xorg.conf ad nauseum: tried enabling and disabling modelines, modelines suggested in forums, probed EDID (extended display identification data, probed by X's I2C and DDC (display data channel) modules)… Tried various calculators, and the modeline parameters probed with DDC, extracted from /var/log/Xorg.0.log, various flags to disable probing — nothing helps.
(--) NV(0): DDC detected a CRT: (II) NV(0): Manufacturer: SAM Model: 377 Serial#: 1095840057 (II) NV(0): Year: 2008 Week: 37 (II) NV(0): EDID Version: 1.3 (II) NV(0): First detailed timing is preferred mode (II) NV(0): Supported Future Video Modes: (II) NV(0): #0: hsize: 1440 vsize 900 refresh: 60 vid: 149 (II) NV(0): #1: hsize: 1440 vsize 900 refresh: 75 vid: 3989 (II) NV(0): Supported additional Video Mode: (II) NV(0): clock: 106.5 MHz Image Size: 410 x 257 mm (II) NV(0): h_active: 1440 h_sync: 1520 h_sync_end 1672 h_blank_end 1904 h_border: 0 (II) NV(0): v_active: 900 v_sync: 903 v_sync_end 909 v_blanking: 934 v_border: 0 (II) NV(0): Ranges: V min: 56 V max: 75 Hz, H min: 30 H max: 81 kHz, PixClock max 140 MHz (II) NV(0): Monitor name: SyncMaster
Eg, VESA generalized timing formula:
$ gtf 1440 900 60 # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz Modeline "1440x900_60.00" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync $ gtf 1440 900 75 # 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz Modeline "1440x900_75.00" 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync
- Frequencies mess: with the 60Hz modeline, monitor's OSD (on-screen display) reports receiving 51.8KHz/55Hz; the 75Hz modeline produces 64.6KHz/69Hz. Foo.
- On a whim, I start xvidtune, which I haven't used in about ten years, and playing around with the modeline I stumble on a setting that fixes the vertical spill over.
Modeline "1440x900@75" 136.49 1440 1536 1688 1936 900 905 908 960 -hsync +vsync
Finally, 1440x900. And this fixes the vertical blurring, ie, horizontal lines are crisp, clean. Still, punctuation sometimes disappears, some letters are unrecognizable…
- And all the while googling like mad, but… nothing?! Inconceivable. Not even an understanding of what causes the blurring, who to blame (monitor, video card, driver, modeline?)… Nothing.
- What's this
(--) Chipset Unknown NVIDIA chip found
in Xorg.0.log? The nv driver lists lots of video cards, including my GeForce 6100, and, besides, X does probe PCI:
(--) PCI:*(0:13:0) nVidia Corporation GeForce 6100 nForce 405 rev 162, Mem @ 0xf2000000/24, 0xe0000000/28, 0xf3000000/24
- What I did find, though, are endless complaints about setting up Xorg and LCD monitors, modelines, etc. This is so not user friendly. Yuck.
- Long story short: an eternity later, I googled for details about what causes blurring, and found nothing, but stumbled upon some bug reports in Xorg's bugzilla, one of which suggests that the modeline pixel clock calculation, in the nv driver, is borked, and that raising it by 8% solves (eh, works around) the problem. Not sure why, I find this report more convincing than others, and, indeed, this tweaked modeline just works for me:
Modeline "1440x900_60_tweaked_pc" 115.76 1440 1520 1672 1904 900 903 909 934 -hsync +vsync
Monitor now reports receiving a 56.4KHz/60Hz signal.
- Why was finding this workaround so painful? (Recommendations? Ideas?)
- Troubleshooting systematically? Expert system?
- Who's fault? (Analysis.)
(Appending notes disabled temporarily.)
Last modified 2009-07-03 08:46:51 +0000