Bug 31724 - Screen rotation broken for evergreen?!
Summary: Screen rotation broken for evergreen?!
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.4 (2008.09)
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 31984 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-11-18 06:00 UTC by Felix Blanke
Modified: 2010-11-30 12:53 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg output (93.94 KB, text/plain)
2010-11-18 06:02 UTC, Felix Blanke
no flags Details
Xorg logfile (49.42 KB, text/plain)
2010-11-18 06:02 UTC, Felix Blanke
no flags Details
xdm logfile (2.78 KB, text/plain)
2010-11-18 06:03 UTC, Felix Blanke
no flags Details
xrandr --verbose (10.70 KB, text/plain)
2010-11-18 06:04 UTC, Felix Blanke
no flags Details
dmesg output (40.73 KB, text/plain)
2010-11-30 12:31 UTC, Matthew Cox
no flags Details
Xorg log (52.84 KB, text/plain)
2010-11-30 12:32 UTC, Matthew Cox
no flags Details

Description Felix Blanke 2010-11-18 06:00:29 UTC
Hi,

I'm using a HD5750 with 3 monitors connected. On at the middle is not rotated, while the left and the right monitors are rotated.

That worked fine since yesterday. I did some updates (xf86-video-ati and a xorg-server update) and now I only see dearanged stripes on the left and right monitors (the ones which are rotated).

Any ideas?

I'll try to bisect now but I don't know which was the version I used before. I'll try to find that out.
Hardware: HD 5750

Software:

kernel: 2.6.37-rc1-git11 (worked with that one before)
mesa: 7.9
xorg-server: 1.9.2.901
xf86-video-ati: git @3455a3b58532ea3ad901a317126968ab6cbb21b7
Comment 1 Felix Blanke 2010-11-18 06:02:19 UTC
Created attachment 40381 [details]
dmesg output
Comment 2 Felix Blanke 2010-11-18 06:02:51 UTC
Created attachment 40382 [details]
Xorg logfile
Comment 3 Felix Blanke 2010-11-18 06:03:32 UTC
Created attachment 40383 [details]
xdm logfile
Comment 4 Felix Blanke 2010-11-18 06:04:16 UTC
Created attachment 40384 [details]
xrandr --verbose
Comment 5 Felix Blanke 2010-11-18 06:27:44 UTC
Thats what bisect says:

3455a3b58532ea3ad901a317126968ab6cbb21b7 is the first bad commit
commit 3455a3b58532ea3ad901a317126968ab6cbb21b7
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Wed Nov 17 17:32:41 2010 -0500

    radeon/kms: fix buffer base alignment for tiling
    
    On r6xx+, 2D tiling can require larger than 4k base alignment.

:040000 040000 874334c47dbebbc481423faf4fac86f6cffb1911 e2c6083d44a4f393802e4cbec491b317cf1c802b M	src
Comment 6 Felix Blanke 2010-11-28 03:32:52 UTC
Are there any kind of informations I could provide to help solving this bug? :)

It seems to be still there.
Comment 7 Felix Blanke 2010-11-30 01:29:46 UTC
*** Bug 31984 has been marked as a duplicate of this bug. ***
Comment 8 Alex Deucher 2010-11-30 07:28:48 UTC
Are either you running a compositing manager like compiz?  If so which one?  Unfortunately, I can't reproduce this with either 2 or 3 monitors with or without compiz.
Comment 9 Alex Deucher 2010-11-30 07:41:12 UTC
Does this help?

--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -605,7 +605,7 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags)
     if (info->ChipFamily >= CHIP_FAMILY_R600) {
        /* set default group bytes, overriden by kernel info below */
        if (info->ChipFamily >= CHIP_FAMILY_CEDAR)
-           info->group_bytes = 512;
+           info->group_bytes = 256;//512;
        else
            info->group_bytes = 256;
        if (info->dri->pKernelDRMVersion->version_minor >= 6) {
Comment 10 Matthew Cox 2010-11-30 08:46:26 UTC
I can reproduce it two ways. The first is with a static xorg.conf, in which case the problem manifests at GDM startup and compiz is not running. Alternatively, if I don't use an xorg.conf file, and let gnome+compiz start in landscape mode, then I can trigger the corruption by using xrandr to rotate the display.

The common denominator between Felix and myself seems to be multihead setups. I have two displays in portrait hooked up via DVI-0 and DVI-1, Felix has three monitors.
Comment 11 Alex Deucher 2010-11-30 09:18:38 UTC
(In reply to comment #10)
> I can reproduce it two ways. The first is with a static xorg.conf, in which
> case the problem manifests at GDM startup and compiz is not running.
> Alternatively, if I don't use an xorg.conf file, and let gnome+compiz start in
> landscape mode, then I can trigger the corruption by using xrandr to rotate the
> display.
> 
> The common denominator between Felix and myself seems to be multihead setups. I
> have two displays in portrait hooked up via DVI-0 and DVI-1, Felix has three
> monitors.

Ok, I've tried both static configs and manual rotation on juniper, redwood, and cedar using different combinations of 2 and 3 monitors (DVI and displayport) both with and without compiz.  Unfortunately, all situations work fine.  Does suggested the patch help?
Comment 12 Felix Blanke 2010-11-30 11:34:05 UTC
I don't use any kind of compositing manager, just a clean xorg-server :)

The patch seems to work for me. Pulled the newest version from the master tree, applied the patch and installed the driver.

No screen corruption anymore.
Comment 13 Matthew Cox 2010-11-30 12:31:56 UTC
Created attachment 40678 [details]
dmesg output
Comment 14 Matthew Cox 2010-11-30 12:32:23 UTC
Created attachment 40679 [details]
Xorg log
Comment 15 Matthew Cox 2010-11-30 12:34:30 UTC
Alex's patch from comment 9 works for me, applied on top of 90f831.

Dmesg and xorg log attached.
Comment 16 Alex Deucher 2010-11-30 12:53:57 UTC
Fix pushed:
e142e55c56d8440d7185b594c696ec9eeb699cda


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.