[Spice-devel] unsupported partial overlap

Serge Hallyn serge.hallyn at ubuntu.com
Tue Sep 10 11:28:45 PDT 2013


Quoting Alon Levy (alevy at redhat.com):
> > Quoting Alon Levy (alevy at redhat.com):
> > > > Hi,
> > > > 
> > > > it has been reported
> > > > (https://bugs.launchpad.net/ubuntu/+source/spice/+bug/1212704)
> > > > that in a multi-monitor setup with partial overlap, spicy runs fine but
> > > > spicec refused to run.  This is explicitly checked for in
> > > > client/x11/platform.cpp:crtc_overlap_test().
> > > > 
> > > > I've looked at the git tree for the origins, but it's been there since
> > > > the first commit ("fresh start").  Is this something that's really
> > > > needed i.e. due to the way spicec does rendering?
> > > >
> > > 
> > > I am not sure. Have you tried removing crtc_overlap_test and testing?
> > 
> > Yup, that works perfectly.  (just removing the 3 lines which test and
> > throw the exception).
> 
> Want to send a patch? I'm a bit hesitant because I still don't know the original reason, perhaps this is not supported somehow by older X servers? maybe you will get more comments with a patch ;)

Here's the patch I tested.  As you say we don't know why it was put
there originally so I can't claim it won't regress something, somewhere.
I can only claim it "works for me".

Subject: [PATCH 1/1] client: don't refuse due to partial overlapping

Running with partially overlapped multiple displays seems to work
fine.  Removing this check allows me to view a windows display
on 2 partially overlapped monitors.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 client/x11/platform.cpp | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp
index 14c6e0c..88ca85d 100644
--- a/client/x11/platform.cpp
+++ b/client/x11/platform.cpp
@@ -1373,9 +1373,6 @@ XMonitor* MultyMonScreen::crtc_overlap_test(int x, int y, int width, int height)
             return mon;
         }
 
-        if (x < pos.x + size.x && x + width > pos.x && y < pos.y + size.y && y + height > pos.y) {
-            THROW("unsupported partial overlap");
-        }
     }
     return NULL;
 }
-- 
1.8.1.2



More information about the Spice-devel mailing list