#573849 xserver-xorg-video-radeon: Be verbose about discarding modes

Package:
xserver-xorg-video-radeon
Source:
xserver-xorg-video-ati
Description:
X.Org X server -- AMD/ATI Radeon display driver
Submitter:
Bas Wijnen
Date:
2010-03-14 20:00:05 UTC
Severity:
wishlist
#573849#5
Date:
2010-03-14 12:50:20 UTC
From:
To:
Since fairly recently (a few months, I think), by Radeon refuses to set
my monitor to 1600x1200.  Looking at the server log, I found (in random
order):

(II) RADEON(0): #6: hsize: 1600  vsize 1200  refresh: 60  vid: 16553
(II) RADEON(0): Modeline "1600x1200"x0.0  162.00  1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz)
(II) RADEON(0): Ranges: V min: 56 V max: 75 Hz, H min: 31 H max: 81 kHz, PixClock max 170 MHz
(II) RADEON(0): Not using mode "1600x1200" (mode clock too high)

This makes no sense.  It should be able to go up to 170 MHz, but it
refuses 162 MHz.  In the source I found:

    /* clocks over 135 MHz have heat issues with DVI on RV100 */
    if ((radeon_output->MonType == MT_DFP) &&
        (info->ChipFamily == CHIP_FAMILY_RV100) &&
        (pMode->Clock > 135000))
            return MODE_CLOCK_HIGH;

This explains why it refuses the mode.

Looking at the source should not be required for understanding the log
file.  Please make it more readable by adding a line about the heat
issues.  It may also be a good idea to allow overriding the check.  I
never had any trouble using 1600x1200 with this card and monitor.

Thanks,
Bas

#573849#10
Date:
2010-03-14 15:21:02 UTC
From:
To:
You can start the xserver with higher verbosity levels and it will
tell you why modes were rejected.  You can also manually specify
modelines in your xorg.conf or at run time using xrandr to override
what the driver/xserver's selections.

Alex

#573849#15
Date:
2010-03-14 15:21:02 UTC
From:
To:
You can start the xserver with higher verbosity levels and it will
tell you why modes were rejected.  You can also manually specify
modelines in your xorg.conf or at run time using xrandr to override
what the driver/xserver's selections.

Alex

#573849#20
Date:
2010-03-14 19:32:38 UTC
From:
To:
I didn't test, but looking at the source I find it hard to believe that
there will be more information than "mode clock too high".  After all,
the rejecting code (which I quoted above) doesn't provide any more
information than that.

That might work, but I'm not sure.  This is the code when a modeline is
already present (in this case it's a default modeline), and is checked
for validity.  I expect that check to be performed when specifying it
manually as well.

But I didn't test, because I recompiled the package with the check
removed, and so I have a workaround already.

Thanks,
Bas

#573849#25
Date:
2010-03-14 19:46:15 UTC
From:
To:
yeah, that's what it will tell you, but I that's all you should need.

It will work.  The point of manual modelines is that you can use them
to override what the driver/xserver decides or to add modes that may
not be in your monitor's edid.  If you specify one, then presumably
you know what you are doing.  Running TMDS above 135 Mhz on those
cards is out of spec, so you are on your own, it might work for you,
but will not work for others (in fact the check was added as a bug
fix).

Alex

#573849#30
Date:
2010-03-14 19:50:26 UTC
From:
To:
It now says "The maximum I can handle is 170 MHz, this mode is 162 MHz,
I can't handle this one because the clock is too high".  It doesn't make
sense. ;-)

Ok, that sounds good.

Thanks,
Bas

#573849#35
Date:
2010-03-14 19:56:56 UTC
From:
To:
Well, the monitor says it can handle a max of 170 Mhz, but in this
case, the gpu cannot.  It can be a bit confusing.

Alex