Bug 17013 - Xinerama + XCopyArea/Xdamage
Summary: Xinerama + XCopyArea/Xdamage
Status: ASSIGNED
Alias: None
Product: xorg
Classification: Unclassified
Component: Protocol/Core (show other bugs)
Version: 7.3 (2007.09)
Hardware: Other All
: medium normal
Assignee: Aaron Plattner
QA Contact: Xorg Project Team
URL:
Whiteboard: 2012BRB_Reviewed
Keywords:
Depends on:
Blocks: xserver-1.13
  Show dependency treegraph
 
Reported: 2008-08-06 09:37 UTC by Anton Fedorov
Modified: 2014-04-07 17:56 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Fedorov 2008-08-06 09:37:39 UTC
XCopyArea copies blank from second monitor.
Also, seems that Xdamage doesn't produce messages for changes on second monitor.

As result, correctly working in single-screen setups applications fail to work on xinerama setups.

F.e., vino ( http://bugzilla.gnome.org/show_bug.cgi?id=346258 ) shows completely blank second screen, and if disable XCoypArea, it shows no changes on second screen (seems, with no Xdamage information on it).
Comment 1 Anton Fedorov 2008-08-06 10:26:05 UTC
as i see in code, difference is XCopyArea uses (*pGC->ops->CopyArea), while XGetSubImage uses (*pDraw->pScreen->GetImage)

so, problem in CopyArea, and have no problem in GetImage
Comment 2 Aaron Plattner 2011-09-23 12:15:08 UTC
This is a two-part bug, but the damage half of it affects composite managers on X servers that recently re-allowed Xinerama and Composite at the same time.
Comment 3 Aaron Plattner 2011-09-26 15:16:52 UTC
Assigning.  Fix for the Damage extension is out for review: http://lists.x.org/archives/xorg-devel/2011-September/025701.html
Comment 4 Jeremy Huddleston Sequoia 2011-10-03 00:47:56 UTC
Adding to the 1.11 tracker.
Comment 5 Aaron Plattner 2011-11-01 13:51:45 UTC
Since this is on the 1.11 tracker, I should probably post a status update.  My change sent to the list was never reviewed, but I think it also probably doesn't work for damage listeners attached to windows, which my short-sighted test app doesn't catch.  I'll need to fix up the test app and extend the patch before sending it out for re-review.  The current change should be enough to fix Vino, since I think it only watches for damage on the root, so I'll leave it up to Jeremy whether to take the current patch as-is or wait for my limited free time in my schedule to allow me to fix it.

As for the XCopyArea part of this bug, I think that's a duplicate of bug 25113.
Comment 6 Jeremy Huddleston Sequoia 2011-11-01 14:17:47 UTC
Yeah, I'd rather wait for a complete fix.  Do you have an ETA?
Comment 7 Adam Jackson 2014-04-07 17:56:50 UTC
The Damage half of this should be fixed in 1.15 and later by:

commit f10f36d91db1b21c2ce5a531b4fa5f96fcbdc2f0
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Sep 16 15:17:26 2013 -0400

    damageext: Xineramify (v7)

What's the CopyArea part of the problem?  PanoramiXCopyArea definitely includes code to handle MIT-SHM pixmaps already, I don't see anything obviously wrong with it.


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.