Several Ubuntu users are reporting this issue: https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/160871 With an ATI 7500, the lcd screen shows 1400x1050, but xrandr offers no other resolutions, although several are supported. http://launchpadlibrarian.net/12221450/xorg.conf http://launchpadlibrarian.net/12221452/Xorg.0.log (II) RADEON(0): Printing DDC gathered Modelines: (II) RADEON(0): Modeline "1400x1050"x0.0 108.00 1400 1448 1560 1688 1050 1051 1054 1068 -hsync -vsync (64.0 kHz) (II) RADEON(0): DDC Type: 4, Detected Monitor Type: 2 (II) RADEON(0): EDID data from the display on connector: Proprietary/LVDS ---------------------- (II) RADEON(0): Manufacturer: HTC Model: 17b0 Serial#: 420189172 ... (II) RADEON(0): First detailed timing not preferred mode in violation of standard!(II) RADEON(0): redX: 0.590 redY: 0.340 greenX: 0.320 greenY: 0.560 Looks like it's using DDC instead of EDID, and DDC is only returning the one resolution. Adding Option "NoDDC" to xorg.conf fixes the issue.
It's using DDC (Display Data Channel) to get the EDID (Extended Display Identification Data). DDC is the method by which an EDID is obtained. The EDID is list of supported modes and features from the monitor. Generally LVDS panels only support one resolution: the native mode of the panel. Other modes are supported by scaling a non-native mode to the native mode of the panel using the scaling hardware. In the cases where a monitor provides an EDID, we use that data since it should contain the monitor's preferred modelines. In monitors without an EDID, we attempt to add the modes in the display subsection of screen section of the config. You can add new modes at run time using xrandr: xrandr --newmode 1024x768 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode LVDS 1024x768
Ah, thanks for the explanation! But why does NoDDC make it work for these guys? I'd have expected the opposite based on this description. Also, if EDID only gives one resolution and the scaler should be used for the others, why aren't scaled resolutions provided through xrandr in this case?
Created attachment 18465 [details] [review] Always add the screen modes to LVDS (In reply to comment #2) > Ah, thanks for the explanation! > > But why does NoDDC make it work for these guys? I'd have expected the opposite > based on this description. Because in that case the driver ignores the edid and just adds the modes defined in the screen section which may include non-native modes. > > Also, if EDID only gives one resolution and the scaler should be used for the > others, why aren't scaled resolutions provided through xrandr in this case? > We rely on the EDID unless it's not available. The question is which modes should we add by default? 800x600? 1024x768? 1152x864? I suppose we could always add the screen modes even when an EDID is present (maybe just for LVDS). I'm not sure what the best solution is. The attached patch always adds the modes specified in the screen section to LVDS outputs. Note that users can still add new modes at runtime using xrandr: xrandr --newmode 800x600 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync xrandr --addmode LVDS 800x600
This has been fixed for a while.
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.