Comment 6 for bug 531000

Revision history for this message
In , Bryce Harrington (bryce) wrote :

Created an attachment (id=33773)
Xorg.0.log

Hi Keith, I'm forwarding this bug report from Felix Kuehling. He provides a patch however since it sounds like it only partially fixes the problem I want to run it by you first.

[Problem]
After setting a panning region, xrandr errors "Configure crtc0 invalid time" and is no longer able to change resolution settings.

[Original Report]
The problem was observed on both Karmic and Lucid (current as at March 2, 2010) using both the open-source radeon driver and the proprietary fglrx driver on different ATI cards (at least RV730 and RV740).

Steps to reproduce (with a 1900x1200 DFP monitor using the fglrx driver, output names are different with radeon):
- xrandr --output DFP1 --mode 1440x900
- xrandr --output DFP1 --panning 1920x1200
- pan around
- xrandr --output DFP1 --panning 1440x900
- xrandr --output DFP1 --mode 1920x1200

Expected result:
- DFP1 should switch mode to 1920x1200, adjusting the desktop size as appropriate

Actual result:
- mode does not change from 1440x900
- the terminal shows the following message: "xrandr: Configure crtc0 invalid time"
- the system remains usable but the mode cannot be changed using xrandr on DFP1

After restarting the Xserver, modes can be changed again.

One of our engineers found a workaround in xrandr. It allows the mode to be changed but there are still other error messages:

--- bak/x11-xserver-utils-7.4+2ubuntu3/xrandr/xrandr.c 2009-04-01 11:01:55.000000000 -0400
+++ x11-xserver-utils-7.4-panningchg/xrandr/xrandr.c 2010-03-01 18:54:30.000000000 -0500
@@ -1346,7 +1346,10 @@ crtc_apply (crtc_t *crtc)
                              rr_outputs, crtc->noutput);
        if (s == RRSetConfigSuccess && crtc->panning_info) {
            if (has_1_3)
+ {
+ crtc->panning_info->timestamp = CurrentTime;
                s = XRRSetPanning (dpy, res, crtc->crtc.xid, crtc->panning_info);
+ }
            else
                fatal ("panning needs RandR 1.3\n");
        }

Attached are files from a system with two monitors that reproduces the problem as described. Two other systems with only one monitor show slightly different symptoms after the last xrandr --mode call: the screen freezes or stops updating while the mouse pointer is still responsive. I can still move windows around and by the shape of the mouse pointer I can tell that I did move the window. But the image on the screen is not getting updated.

02:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon HD 4770 [RV740] [1002:94b3]
 Subsystem: ATI Technologies Inc Device [1002:0d00]