Bug 73286

Summary: X server does not find all resolutions on monitor connected via displayport
Product: xorg Reporter: Guido Winkelmann <guido-xorgbugs>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.7 (2012.06)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg log
none
output of xrandr --verbose
none
Output of dmesg none

Description Guido Winkelmann 2014-01-04 19:40:38 UTC
Created attachment 91493 [details]
xorg log

When I connect one of my monitors via DisplayPort, xrandr only shows resolutions up to 1280x1024 for that monitor and won't let me select anything higher than this:

===========
Screen 0: minimum 320 x 200, current 5120 x 1440, maximum 8192 x 8192
DisplayPort-0 connected (normal left inverted right x axis y axis)
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1280x800       59.8  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0     59.9  
   720x400        70.1
===========

The same model of monitor connected via DVI will instead give this output from xrandr:

===========
DVI-0 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   2560x1440      60.0*+
   1920x1200      60.0  
   1920x1080      60.0     50.0     59.9  
   1600x1200      60.0  
   1680x1050      59.9  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1280x800       59.9  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     70.1     60.0  
   832x624        74.6                                                                                                                                                                                                                                                                                                                          
   800x600        72.2     75.0     60.3     56.2                                                                                                                                                                                                                                                                                               
   720x576        50.0                                                                                                                                                                                                                                                                                                                          
   720x480        60.0     59.9                                                                                                                                                                                                                                                                                                                 
   640x480        75.0     72.8     66.7     60.0     59.9                                                                                                                                                                                                                                                                                      
   720x400        70.1
===========

This is with an ATI Radeon HD5870 card with radeon driver version 7.2.0.

I'm attaching a log file from the X server. This is with three connected monitors, two via DVI, one via DisplayPort. The monitor connected via DisplayPort was switched on only later during the operation of the X server.
Comment 1 Michel Dänzer 2014-01-06 03:42:54 UTC
(In reply to comment #1)
> When I connect one of my monitors via DisplayPort, [...]

To a DisplayPort connector on the monitor, or another kind of input connector? If the latter, are you using an active or passive adapter for the DisplayPort output on the Radeon card?
Comment 2 Alex Deucher 2014-01-06 15:03:07 UTC
Please attach the output of dmesg and xrandr --verbose with the displayport monitor attached.
Comment 3 Guido Winkelmann 2014-01-06 19:45:42 UTC
(In reply to comment #1)
> (In reply to comment #1)
> > When I connect one of my monitors via DisplayPort, [...]
> 
> To a DisplayPort connector on the monitor, or another kind of input
> connector? If the latter, are you using an active or passive adapter for the
> DisplayPort output on the Radeon card?

I am connecting the DisplayPort-out connector on the graphics card to the DisplayPort-in connector on the monitor with normal DisplayPort cable. No adapters involved.

I should maybe add that, when booting up and before X is running, the Kernel (with KMS) automatically chooses and successfully enables the highest possible resolution (2560x1440) on all connected monitors, including the one on DisplayPort. It's only when X starts that the monitor is switched back to 1280x1024.

Also, the same hardware setup works with all resolutions supported by the monitor under Microsoft Windows 7.
Comment 4 Guido Winkelmann 2014-01-06 19:46:47 UTC
Created attachment 91555 [details]
output of xrandr --verbose
Comment 5 Guido Winkelmann 2014-01-06 19:47:42 UTC
Created attachment 91556 [details]
Output of dmesg
Comment 6 Guido Winkelmann 2014-01-06 19:49:27 UTC
(In reply to comment #2)
> Please attach the output of dmesg and xrandr --verbose with the displayport
> monitor attached.

I have attached both of those now. These are with all three monitors connected and switched on throughout.
Comment 7 Alex Deucher 2014-01-06 21:03:48 UTC
I think the problem is in your xorg config file:

[    21.612] (II) RADEON(0): Output DisplayPort-0 using monitor section Monitor0
...
[ 11840.987] (II) RADEON(0): EDID vendor "SAM", prod id 2108
[ 11840.987] (II) RADEON(0): Using hsync ranges from config file
[ 11840.987] (II) RADEON(0): Using vrefresh ranges from config file

Looks like the hsync and vrefresh ranges from the Monitor0 section of your config file are overriding the values from the monitor.
Comment 8 Guido Winkelmann 2014-01-06 21:14:19 UTC
(In reply to comment #7)
> I think the problem is in your xorg config file:
> 
> [    21.612] (II) RADEON(0): Output DisplayPort-0 using monitor section
> Monitor0
> ...
> [ 11840.987] (II) RADEON(0): EDID vendor "SAM", prod id 2108
> [ 11840.987] (II) RADEON(0): Using hsync ranges from config file
> [ 11840.987] (II) RADEON(0): Using vrefresh ranges from config file
> 
> Looks like the hsync and vrefresh ranges from the Monitor0 section of your
> config file are overriding the values from the monitor.

Woops, I totally forgot I even had an xorg config file. I removed it, and now everything works fine, thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.