Bug 681257

Summary: nvidia [Quadro NVS 285]: X fails to detect best resolution for DELL 2007FP monitor
Product: Red Hat Enterprise Linux 6 Reporter: Michal Nowak <mnowak>
Component: kernelAssignee: Ben Skeggs <bskeggs>
Status: CLOSED NOTABUG QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: high Docs Contact:
Priority: high    
Version: 6.1CC: ddumas, hancockrwd, ohudlick
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
With newer kernels, such as the kernel shipped in Red Hat Enterprise Linux 6.1, Nouveau has corrected the Transition Minimized Differential Signalling (TMDS) bandwidth limits for pre-G80 nVidia chipsets. Consequently, the resolution auto-detected by X for some monitors may differ from that used in Red Hat Enterprise Linux 6.0.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-18 17:17:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 682670, 702988    
Attachments:
Description Flags
Xorg.0.log from CentOS 5.4 with the NVIDIA binary driver
none
Xorg log from 6.1 kernel using Nouveau none

Comment 11 Ryan Lerch 2011-05-09 22:28:03 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-With newer kernels, such as that in RHEL6.1, Nouveau has corrected the TMDS bandwidth limits for pre-G80 nVidia chipsets.  Therefore, the resolution auto-detected by X for some monitors may differ from that used in (e.g.) RHEL6.0.+With newer kernels, such as the kernel shipped in Red Hat Enterprise Linux 6.1, Nouveau has corrected the Transition Minimized Differential Signalling (TMDS) bandwidth limits for pre-G80 nVidia chipsets. Consequently, the resolution auto-detected by X for some monitors may differ from that used in Red Hat Enterprise Linux 6.0.

Comment 15 Denise Dumas 2011-05-18 17:17:37 UTC
Nouveau corrected the TMDS bandwidth limits for pre-G80 nVidia chipsets. We picked up the change in 6.1, which means that the resolution auto-detected by X for some monitors may differ from 6.0.  Release note is in, closing this bug per Ben.

Comment 16 Robert Hancock 2011-06-13 15:54:34 UTC
Sorry, this is definitely a bug given that the NVIDIA proprietary driver allows using 1600x1200 resolution on this monitor and graphics card but Nouveau in the 6.1 kernel does not. This should be reopened and fixed.

Comment 17 Ben Skeggs 2011-06-14 00:06:58 UTC
(In reply to comment #16)
> Sorry, this is definitely a bug given that the NVIDIA proprietary driver allows
> using 1600x1200 resolution on this monitor and graphics card but Nouveau in the
> 6.1 kernel does not. This should be reopened and fixed.

I would be very interested to see the exact modeline the binary driver is programming your display with.  My guess is that it's making up a reduced-blanking mode for it.

Comment 18 Robert Hancock 2011-06-14 15:23:32 UTC
Created attachment 504704 [details]
Xorg.0.log from CentOS 5.4 with the NVIDIA binary driver

Here is the Xorg output from the NVIDIA binary driver with these monitors and graphics card. Not sure if it is useful, the interesting part might be:

(II) Mar 21 09:17:32 NVIDIA(0): NVIDIA GPU Quadro NVS 285 (NV44GL) at PCI:64:0:0 (GPU-0)
(--) Mar 21 09:17:32 NVIDIA(0): Memory: 131072 kBytes
(--) Mar 21 09:17:32 NVIDIA(0): VideoBIOS: 05.44.02.63.04
(II) Mar 21 09:17:32 NVIDIA(0): Detected PCI Express Link width: 16X
(--) Mar 21 09:17:32 NVIDIA(0): Interlaced video modes are supported on this GPU
(--) Mar 21 09:17:32 NVIDIA(0): Connected display device(s) on Quadro NVS 285 at PCI:64:0:0
(--) Mar 21 09:17:32 NVIDIA(0):     DELL 2007FP (DFP-0)
(--) Mar 21 09:17:32 NVIDIA(0):     DELL 2007FP (DFP-1)
(--) Mar 21 09:17:32 NVIDIA(0): DELL 2007FP (DFP-0): 155.0 MHz maximum pixel clock
(--) Mar 21 09:17:32 NVIDIA(0): DELL 2007FP (DFP-0): Internal Single Link TMDS
(--) Mar 21 09:17:32 NVIDIA(0): DELL 2007FP (DFP-1): 155.0 MHz maximum pixel clock
(--) Mar 21 09:17:32 NVIDIA(0): DELL 2007FP (DFP-1): Internal Single Link TMDS
(**) Mar 21 09:17:32 NVIDIA(0): TwinView enabled
(II) Mar 21 09:17:32 NVIDIA(0): Display Devices found referenced in MetaMode: DFP-0, DFP-1
(II) Mar 21 09:17:32 NVIDIA(0): Assigned Display Devices: DFP-0, DFP-1
(II) Mar 21 09:17:32 NVIDIA(0): Validated modes:
(II) Mar 21 09:17:32 NVIDIA(0):    
(II) Mar 21 09:17:32 NVIDIA(0):     "DFP-0:nvidia-auto-select+0+0,DFP-1:nvidia-auto-select+1600+0"
(II) Mar 21 09:17:32 NVIDIA(0):     "DFP-0:640x480+0+0,DFP-1:NULL"
(II) Mar 21 09:17:32 NVIDIA(0): Virtual screen size determined to be 3200 x 1200
(--) Mar 21 09:17:32 NVIDIA(0): DPI set to (99, 98); computed from "UseEdidDpi" X config
(--) Mar 21 09:17:32 NVIDIA(0):     option
(==) Mar 21 09:17:32 NVIDIA(0): Disabling 32-bit ARGB GLX visuals.

Comment 19 Robert Hancock 2011-06-14 15:26:25 UTC
Created attachment 504705 [details]
Xorg log from 6.1 kernel using Nouveau

Here is the log from the 6.1 kernel with Nouveau by comparison.

Comment 20 Robert Hancock 2011-06-14 15:39:49 UTC
Also FYI, this card lists modes up to 1900x1200x60Hz on DVI according to the spec sheet:

http://h18000.www1.hp.com/products/quickspecs/12312_na/12312_na.HTML

I assume the binary driver must be using a reduced blanking mode then. With regular CVT timings, according to the CVT timing utility (http://www.uruk.org/~erich/projects/cvt/)  you get 161 MHz for a pixel clock, but with Reduced Blank you only get 130 MHz which is within spec (1920x1200 gets you 152 which also squeaks by).

Comment 21 Ben Skeggs 2011-06-15 00:49:54 UTC
Okay, so the NVIDIA binary driver X log confirms that nouveau is indeed using the correct TMDS bandwidth limits for your chipset now.

Comment 22 Robert Hancock 2011-06-21 16:38:06 UTC
FYI, I was able to work around this by adding to the kernel command line:

video=DVI-I-1:1600x1200MR@60 video=DVI-I-2:1600x1200MR@60

and to /etc/X11/xorg.conf:

Section "Monitor"
    Identifier "Monitor0"
    Modeline "1600x1200R"  130.25  1600 1648 1680 1760  1200 1203 1207 1235 +hsync -vsync
    Option "PreferredMode" "1600x1200R"
EndSection

Section "Monitor"
    Identifier "Monitor1"
    Modeline "1600x1200R"  130.25  1600 1648 1680 1760  1200 1203 1207 1235 +hsync -vsync
    Option "PreferredMode" "1600x1200R"
EndSection

Section "Device"
    Identifier "nVidia Corporation NV44 [Quadro NVS 285]"
    Driver "nouveau"
    Option  "Monitor-DVI-I-1" "Monitor0"
    Option  "Monitor-DVI-I-2" "Monitor1"
EndSection

It would still be nice if Nouveau would do this automatically though, given that the binary driver does.