Bug 21626 - [i945 DRI1] Cursor movement, screenshot clipping and redraw problems on dual-headed desktop
Summary: [i945 DRI1] Cursor movement, screenshot clipping and redraw problems on dual-...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.4 (2008.09)
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Jesse Barnes
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2009-05-07 18:37 UTC by Bryce Harrington
Modified: 2009-10-08 04:35 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (27.62 KB, text/plain)
2009-05-07 18:37 UTC, Bryce Harrington
no flags Details
dsc02225 (Modified in GIMP Image Editor).jpg (264.90 KB, image/jpeg)
2009-05-07 18:38 UTC, Bryce Harrington
no flags Details
dsc02224 (Modified in GIMP Image Editor).jpg (307.71 KB, image/jpeg)
2009-05-07 18:39 UTC, Bryce Harrington
no flags Details
misplaced bars (137.20 KB, image/jpeg)
2009-07-02 18:52 UTC, ricardo banffy
no flags Details
external monitor with displaced background (106.07 KB, image/jpeg)
2009-07-02 18:53 UTC, ricardo banffy
no flags Details
/var/log/Xorg.0.log (31.90 KB, text/x-log)
2009-07-02 19:35 UTC, ricardo banffy
no flags Details
dpkg -l xserver* | grep ^ii (6.07 KB, text/plain)
2009-07-02 19:36 UTC, ricardo banffy
no flags Details

Description Bryce Harrington 2009-05-07 18:37:42 UTC
Created attachment 25621 [details]
Xorg.0.log

Forwarding this bug from a Ubuntu reporter:
https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/302227

[Problem]
On dual-head setup, mouse cursor movement is restricted to a 800x600 window unless dragging; outside this area redraw in compiz is affected as well.

[Discussion]
First shown with Compiz enabled on a two-screen netbook (Acer Aspire One, external 1024x768 screen to the right of built-in LCD) setup. Anything past the leftmost 800x600 would not be erased after being drawn and external monitor resolution would be misdetected.

Upon disabling Compiz, things are properly erased, but after login the pointer is restricted to the leftmost 800x600 rectangle and I need to drag something outside the rectangle to be able to move the pointer freely.

Since the redraw vestiges happen only outside an 800x600 window (the same size the greeter used), it is possible that the background window (or however it may be called in Z/Compiz-speak) responsible for ensuring things get erased when needed is being sized at the same size the greeter used (800x600 in this case) instead of the size of the combined monitor area (2048x768).

- Can't drag mouse outside leftmost 800x600 region
- Can't drag icons outside leftmost 800x600 region
- Screenshots only grab the leftmost 800x600 rectangle (so I can't show most of what I am experiencing)
- Right-clicking icons in the top Gnome bar makes the pop-up menu appear in the leftmost position of the external monitor

One more comment: X/Compiz work fine on the LCD-only configuration. The 800x600 rectangle the cursor is confined to in the double-headed config is notable because it's the same resolution that the GDM takes (probably because it's the largest VESA-like mode both monitors can show).

I had the opportunity to hook up the laptop to a couple odd monitors (I have a collection of "interesting computers" and recently got a couple Intergraph behemoths with coax and DB-15 connections). All were misdetected and the same rendering and pointer confinement anomalies happened.

The problem is present in Jaunty. Using xserver-xorg-video-intel 2:2.6.3-0ubuntu9 and compiz 1:0.8.2-0ubuntu8, more or less the same dual-monitor oddness persists. The difference is the login screen is not squashed in the built-in widescreen display, but is 800x600 on the secondary (still misdetected) monitor. Desktop background and mouse movement are still limited to the top-left 800x600 rectangle of the multi-head desktop until I drag the mouse. Windows are still not properly erased outside the top-left 800x600 region.

Oddly enough, the problem vanished when I started the computer with the second monitor plugged in but turned off this morning and rearranged the dual-screen config with the screen applet. X still but started with mirrored screens at 800x600.

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GME Express Memory Controller Hub [8086:27ac] (rev 03)
	Subsystem: Acer Incorporated [ALI] Device [1025:015b]
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)
	Subsystem: Acer Incorporated [ALI] Device [1025:015b]


[xorg.conf]
Section "Screen"
 Identifier "Configured Screen Device"
 Device "Configured Video Device"
 SubSection "Display"
  Virtual 2048 768
 EndSubSection
EndSection

Section "Device"
 Identifier "Configured Video Device"
EndSection
Comment 1 Bryce Harrington 2009-05-07 18:38:27 UTC
Created attachment 25622 [details]
dsc02225 (Modified in GIMP Image Editor).jpg
Comment 2 Bryce Harrington 2009-05-07 18:39:40 UTC
Created attachment 25623 [details]
dsc02224 (Modified in GIMP Image Editor).jpg

First one shows the 800x600 region where the driver works correctly that also crops the mouse pointer movement when the desktop starts.

This one shows the traces of unerased window renditions when terminal was unmaximized (as well as several other vestigial windows)
Comment 3 Jesse Barnes 2009-05-11 11:37:52 UTC
I'm not sure if your driver includes this fix?  I'm hoping it will fix this issue in DRI1 configurations.

commit 73aa23d9150121a4e4b70a78cab910acd164abf5
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Dec 5 13:06:05 2008 -0800

    DRI1: Update sarea (and other information) when CRTC configuration changes.
Comment 4 Bryce Harrington 2009-05-11 13:09:19 UTC
Debs with the above patch available at:
  http://people.ubuntu.com/~bryce/Testing/ *~bug302227*deb
Comment 5 ricardo banffy 2009-05-18 16:52:01 UTC
(In reply to comment #4)
> Debs with the above patch available at:
>   http://people.ubuntu.com/~bryce/Testing/ *~bug302227*deb
> 

Sorry to take this long to answer. The problem persists exactly as it was.

"dpkg -l xserver*" gives:

ii  xserver-xorg-video-intel         2:2.6.3-0ubuntu9.3~bug302227~1   X.Org X server -- Intel i8xx, i9xx display driver

Same symptoms. Mirrored 800x600 screen on GDM start, mouse movement restriction to top-leftmost 800x600 rectangle after login (workaround: using "Display" icon on panel to briefly upside-down external monitor and restore previous config solves the movement and redraw issues). Screenshot is still limited to top-leftmost 800x600 area.

Please let me know id I can be of further assistance.
Comment 6 ricardo banffy 2009-06-02 06:49:52 UTC
I found a workaround for the screenshot problem: if I turn off the external monitor off and then turn it back on in the monitors applet, screenshots will be full 2048x768. Hope this is a useful clue.

Please let me know if I can be of further assistance.
Comment 7 Jesse Barnes 2009-06-16 15:41:28 UTC
Have you tried the xorg edgers bits?  If those work I'm inclined to close this one...
Comment 8 ricardo banffy 2009-06-16 17:00:27 UTC
What are xorg edgers bits and how do I use them?
Comment 9 Bryce Harrington 2009-06-17 13:18:22 UTC
https://edge.launchpad.net/~xorg-edgers/+archive/ppa
Comment 10 Jesse Barnes 2009-06-23 10:57:30 UTC
Pretty sure this isn't an issue with the DRI2 & UXA bits, so I'm closing this out
Comment 11 ricardo banffy 2009-06-23 11:50:06 UTC
Can we wait to close the bug until I can properly test the package? Unless someone else with a similar hardware config (Acer Aspire One, dual headed) can test it, I would prefer to keep it open for a couple days until I can test the packages.

Comment 12 Jesse Barnes 2009-06-23 11:56:58 UTC
I've been using my AspireOne for awhile with recent bits w/o these problems, but we can wait until you test to close this.
Comment 13 Jesse Barnes 2009-07-02 16:12:37 UTC
Ricardo, have you had a chance to test this?  I'm hoping we can close this...
Comment 14 ricardo banffy 2009-07-02 18:50:52 UTC
I did.

I added the edgers sources do my sources.list, imported the key and apt-get updated/upgraded without incident. Upon restart, gdm came up fine, but, after login, the screen went blank and the mouse pointer clipped at 800x600. Restarting under xfce yielded a workable desktop, but without the second monitor. Gnome's gnome-display-properties found the second screen and was able to set it up, but, still, on Gnome, the screen was blank and the mouse got clipped. Deleting the xorg.conf file and restarting Gnome let me in a very weird screen with displaced bars and pointer (clicks were happening a couple hundred pixels up from the pointer).

I downgraded the packages back to former configuration, deleted xorg.conf and everything worked fine.

I made a small movie of the mouse movement clipping and of the displaced elements.

Interestingly enough, now, with Compiz off, everything works fine - screenshots and mouse movement are absolutely perfect (if boring)

I will attach the images. Let me know if you want the movie. I am reluctant to attach a 7.5 megabyte file.
Comment 15 ricardo banffy 2009-07-02 18:52:12 UTC
Created attachment 27352 [details]
misplaced bars

The laptop screen with the misplaced display elements showing
Comment 16 ricardo banffy 2009-07-02 18:53:44 UTC
Created attachment 27353 [details]
external monitor with displaced background

This shows the external screen with the background showing what appears to be the same displacement as the bars on the left screen
Comment 17 ricardo banffy 2009-07-02 19:34:47 UTC
Actually, something went awfully wrong. Upon restart Compiz no longer works, mouse clips after Gnome login, icon placement also clips to 800x600. Can't move firefox window to second screen and I feel utterly miseable.

I am attaching my /var/log/Xorg.0.log and the relevant package list.
Comment 18 ricardo banffy 2009-07-02 19:35:13 UTC
Created attachment 27356 [details]
/var/log/Xorg.0.log
Comment 19 ricardo banffy 2009-07-02 19:36:12 UTC
Created attachment 27357 [details]
dpkg -l xserver* | grep ^ii
Comment 20 ricardo banffy 2009-07-03 05:03:57 UTC
It seems I will have to reinstall a vanilla X from the Ubuntu repos. I will prepare to preserve any important data that's here and proceed wiping the system. You won't hear from me for a couple days.
Comment 21 Jesse Barnes 2009-08-31 10:12:14 UTC
Any news Ricardo?
Comment 22 Jesse Barnes 2009-10-05 10:32:17 UTC
Should be fixed with recent bits (i.e. with DRI2), closing out due to inactivity.
Comment 23 ricardo banffy 2009-10-08 04:35:58 UTC
Tested with Ubuntu Karmic Koala Beta, booted of a live CD on 2009-10-08. Mouse movement clipping and other screen anomalies seem corrected, and everything seems smooth. There is another different problem that happened after I rearranged the screens a couple times and re-enabled Compiz: the framebuffer seemed orderly shuffled with a repeated interleaved pattern, but I could not reproduce it reliably, so I am not opening a new ticket. Bug 21626 is rightfully closed.

Sorry for the delay in testing, but it took a while to arrange the time needed to do it properly. Thanks to all involved.


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.