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.