Bug 22853

Summary: ati driver doesn't honnor aymore resolution specified in xorg.conf on CRT monitors
Product: xorg Reporter: Thierry Vignaud <thierry.vignaud>
Component: Server/GeneralAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.4 (2008.09)   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log
none
xorg.conf
none
xrandr output
none
Xorg.0.log with 6.12.99 snapshot none

Description Thierry Vignaud 2009-07-20 08:36:06 UTC
Similarly to bug #16065, the ati driver doesn't honnor resolution specified in xorg.conf on CRT monitors with an RS480 card.

This bug is somewhat different since:
- it's about a CRT monitor (instead of a flat panel)
- unlike this older bug, xrandr does list all (really most)
  availlable modes (but the requested 1280x1024 mode)
- unlike this older bug, using either the "PanelSize" option
  or the "PreferredMode" option resulted in no changes

The resolution was previously honored with the same monitor with the sis driver.
See attached logs.
Comment 1 Thierry Vignaud 2009-07-20 08:38:17 UTC
Created attachment 27852 [details]
Xorg.0.log
Comment 2 Thierry Vignaud 2009-07-20 08:39:12 UTC
Created attachment 27853 [details]
xorg.conf
Comment 3 Thierry Vignaud 2009-07-20 08:39:30 UTC
Created attachment 27854 [details]
xrandr output
Comment 4 Alex Deucher 2009-07-20 10:04:09 UTC
Your monitor's edid is the problem.  It's limiting the modes since it specifies a max pix clock of 110 Mhz and the pix clock of the 1280x1024 mode is 135 Mhz:

(II) RADEON(0): 1280x1024@75Hz
Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz)
Ranges: V min: 50 V max: 120 Hz, H min: 30 H max: 72 kHz, PixClock max 110 MHz

To override, you need to specify the modeline for the preferred mode in your xorg.conf monitor section, e.g.,:

Modeline "1280x1024"  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync
Option "PreferredMode" "1280x1024"

You can also manually add the modeline at runtime with xrandr:
xrandr --newmode "1280x1024"  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync
xrandr --addmode VGA-0 "1280x1024"
xrandr --output VGA-0 --mode "1280x1024"

If the 1280x1024 mode works, then we probably need an edid quirk for your monitor in the xserver.
Comment 5 Thierry Vignaud 2009-07-21 00:52:30 UTC
Well:
- according to its specs, Acer 77e can do 1280x1024@67Hz
- 1280x1024 did was supported with the SiS driver with this Acer

AFAIC, there's two bugs in ati driver:
- when a mode is not supported, it should be written down in
  the logs, thus it's easier to understand the issues
- we should select alesser refresh frequency when the suggested
  one is too high.
Comment 6 Alex Deucher 2009-07-21 07:01:52 UTC
(In reply to comment #5)
> Well:
> - according to its specs, Acer 77e can do 1280x1024@67Hz
> - 1280x1024 did was supported with the SiS driver with this Acer
> 

The monitor's edid does not contain an modeline for 1280x1024@67hz, as such you'd need to add a modeline to use it.  The edid does contain a a 1280x1024@75hz mode, however it conflicts with the max pixclock specified in the same edid.  So either the max pixclock is wrong or the the 1280x1024@75hz mode shouldn't be there.  If the 1280x1024@75hz mode does work, then an edid quirk needs to be added to the xserver.

> AFAIC, there's two bugs in ati driver:
> - when a mode is not supported, it should be written down in
>   the logs, thus it's easier to understand the issues

This is handled by the common randr code in the xserver, not the driver.  If you enable more verbose server logging you can see which modes get rejected and why.

> - we should select alesser refresh frequency when the suggested
>   one is too high.
> 

You'll need to specify an modeline if you want to use a mode that's not in the monitor's edid.  It's not really feasible to add every possible mode to the output there are just too many possibilities.  Plus, most monitors (especially LCDs) are very picky about what mode timings they will accept.
Comment 7 Thierry Vignaud 2009-07-30 02:56:49 UTC
Created attachment 28185 [details] [review]
Xorg.0.log with 6.12.99 snapshot

With a git snapshot, this bug is somewhat "fixed" (because getting EDID failed or wasn't performed)
Comment 8 Adam Jackson 2018-06-12 18:43:05 UTC
Mass closure: This bug has been untouched for more than six years, and is not obviously still valid. Please file a new report if you continue to experience issues with a current server.

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.