Bug 30295 - [Piketon] extended desktop shifts left with compiz, in kernel
[Piketon] extended desktop shifts left with compiz, in kernel
Product: DRI
Classification: Unclassified
Component: DRM/Intel
All Linux (All)
: medium normal
Assigned To: Chris Wilson
: regression
: 30529 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2010-09-20 22:42 UTC by Yi Sun
Modified: 2010-12-20 05:46 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

extended desktop. The right edge of the right monitor(VGA) is wrong (97.04 KB, image/pjpeg)
2010-09-20 22:47 UTC, Yi Sun
no flags Details
Note the right edge. (93.30 KB, image/pjpeg)
2010-09-20 22:48 UTC, Yi Sun
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yi Sun 2010-09-20 22:42:53 UTC
platform: Piketon
Libdrm:         (master)2.4.21-21-g7ec9a1effa4f551897f91f3b017723a8adf011d9
Mesa:           (7.9)d46b7c9f6f91f80b7349067dd5be52f0af736ec1
Xserver:                (master)xorg-server-1.9.0
Cairo:          (master)cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
Libva:          (master)6772bdb4406edaf55da2e3604003c9eafff31c36

Bug detailed description:
we used two monitors, one is VGA and the other is DP. In extended mode, they display normally without compiz. But once compiz run, desktop become wrong(reference to attachment). 
And we found that if we change kernel to 2.6.34,the issue disappeared.

Reproduce steps:
1. VGA and DP display plugged in
2. start X and gnome desktop without compiz
3. xrandr --output DP1 --left-of VGA1
4. run compiz
Comment 1 Yi Sun 2010-09-20 22:47:20 UTC
Created attachment 38832 [details]
extended desktop. The right edge of the right monitor(VGA) is wrong
Comment 2 Yi Sun 2010-09-20 22:48:54 UTC
Created attachment 38833 [details]
Note the right edge.
Comment 3 Gordon Jin 2010-09-21 00:03:30 UTC
more notes:
1. sw screen shot shows correctly, not revealing this problem.
2. mouse effects in the "expected" location, i.e. right offset to the wrongly "appeared" display.

(suggests not to block Q3 release)
Comment 4 Chris Wilson 2010-09-21 01:24:33 UTC
This should be fixed with:

commit 52e68630d13f9668f8f4dd6978fa41039bacfaf6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Aug 8 10:15:59 2010 +0100

    drm/i915: Fix offset page-flips on i965+
    i965 uses the Display Registers to compute the offset from the display
    base so the new base does not need adjusting when flipping. The older
    chipsets use a fence to access the display and so do perceive the
    surface as linear and have a single base register which is reprogrammed
    using the flip.
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Reported-by: Marty Jack <martyj19@comcast.net>
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>

Hmm, but wasn't proposed to stable.
Comment 5 Gordon Jin 2010-09-28 19:10:20 UTC
The patch should be in 2.6.36-rc4. Yi, can you verify?
Comment 6 Chris Wilson 2010-10-01 01:53:24 UTC
*** Bug 30529 has been marked as a duplicate of this bug. ***
Comment 7 Yi Sun 2010-10-10 19:28:18 UTC
The issue doesn't come out with 2.6.36-rc4 kernel.
Comment 8 Gordon Jin 2010-10-11 18:09:50 UTC
let Chris to decide closing this.
Comment 9 Lukasz Kurylo 2010-10-11 22:00:50 UTC
I can confirm that with latest kernel this is fixed.
Comment 10 Chris Wilson 2010-12-14 16:07:14 UTC
I left this bug open in case anybody felt inspired to propose the patch for earlier stable kernels... However, that did not happen and now we have a stable release with the bug fix, I'm closing this report. Thanks.
Comment 11 Gordon Jin 2010-12-14 16:37:06 UTC
that makes sense.
Comment 12 sergio.callegari 2010-12-20 05:46:03 UTC

I think I am experiencing the same with kde, yet using
xrandr --output VGA1 --auto --above LVDS1

in this case, I get a vertical skew on the primary screen whose bottom part gets filled with garbage.

If I understand correctly, this is fixed in the kernel part of the Intel driver.
Would it be easy to backport to 2.6.35? Is it in a modularized part of the kernel that can be recompiled independently (e.g. the i915 module)?

I am asking to see if it can somehow be possibile to push a fix into distros such as ubuntu that tend to be a bit conservative about kernel changes.