<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - intel-virtual-output virtual screens behaving strangely."
href="https://bugs.freedesktop.org/show_bug.cgi?id=76146#c14">Comment # 14</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - intel-virtual-output virtual screens behaving strangely."
href="https://bugs.freedesktop.org/show_bug.cgi?id=76146">bug 76146</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>What's odd here is that we try to explicitly disable panning when copying the
modes across. How about if we disable the remote outputs upon startup instead?
diff --git a/tools/virtual.c b/tools/virtual.c
index 8b8d511..2e94365 100644
--- a/tools/virtual.c
+++ b/tools/virtual.c
@@ -510,7 +510,18 @@ static int clone_update_modes__randr(struct clone *clone)
}
}
- clone->dst.rr_crtc = from_info->crtc;
+ /* Disable the remote output */
+ if (from_info->crtc) {
+ XRRPanning panning;
+
+ DBG(("%s(%s-%s): disabling active CRTC\n", __func__,
+ DisplayString(clone->dst.dpy), clone->dst.name));
+ XRRSetCrtcConfig(clone->dst.dpy, from_res, from_info->crtc,
CurrentTime,
+ 0, 0, None, RR_Rotate_0, NULL, 0);
+ XRRSetPanning(dst->dpy, res, from_info->crtc, memset(&panning,
0, sizeof(panning)));
+ }
+
+ clone->dst.rr_crtc = 0;
/* Clear all current UserModes on the output, including any active ones
*/
if (to_info->crtc) {</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>