Bug 26895 - Setting mode with xrandr fails after changing panning region
Summary: Setting mode with xrandr fails after changing panning region
Alias: None
Product: xorg
Classification: Unclassified
Component: App/xrandr (show other bugs)
Version: 7.3 (2007.09)
Hardware: Other Linux (All)
: medium major
Assignee: Keith Packard
QA Contact: Xorg Project Team
Whiteboard: 2011BRB_Reviewed
Keywords: patch
Depends on:
Reported: 2010-03-04 16:30 UTC by Bryce Harrington
Modified: 2018-08-10 20:33 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

Xorg.0.log (52.38 KB, text/plain)
2010-03-04 16:30 UTC, Bryce Harrington
no flags Details

Description Bryce Harrington 2010-03-04 16:30:35 UTC
Created attachment 33773 [details]

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.

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);
+ }
                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]
Comment 1 GitLab Migration User 2018-08-10 20:33:22 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/app/xrandr/issues/7.

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.