Bug 71838

Summary: intel-virtual-output: Cursor not shown on third monitor
Product: xorg Reporter: Kirill Müller <krlmlr+bugs-fd>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=71846
i915 platform: i915 features:
Description Flags
As requested, result of intel-virtual-output -b -f | tee ivo.txt none

Description Kirill Müller 2013-11-20 15:39:29 UTC
I am testing a tri-head setup on 13.10 with my Lenovo T430 with the new xserver-xorg-video-intel and the intel-virtual-output tool. I have my laptop screen, DP1 right of it, and DP2 right of it.

The cursor is not shown at all on the third (rotated) display. I have suspected 7b0771180dc9bb72 to be the cause, but reverting it (or otherwise modifying affected code) did not seem to help.
Comment 1 Chris Wilson 2013-11-20 16:11:47 UTC
I'll be honest and say that I haven't checked with rotations or general transformations. Can you please attach the output of xrandr --verbose?
Comment 2 Kirill Müller 2013-11-20 17:46:02 UTC
I can do it tomorrow morning, in about 15 hours, when I'm in my office again. If you have access to a tri-head system, this should be easy to replicate.
Comment 3 Kirill Müller 2013-11-21 09:55:17 UTC
I have attached my files to the other ticket: https://bugs.freedesktop.org/show_bug.cgi?id=71846
Comment 4 Chris Wilson 2013-11-21 12:12:13 UTC
Can you please update your driver (xf86-video-intel) to the tip of git and so install the fix for rotation in the ddx and a more recent version of intel-virtual-overlay?
Comment 5 Kirill Müller 2013-11-22 12:29:57 UTC
Updated to tip of Git:

git pull
sudo make install

Cursor is still not shown on the third display, even if it's not rotated. Have I forgotten to install something?
Comment 6 Chris Wilson 2013-11-22 13:14:23 UTC
Everything should be ready...

Can you please cd /path/to/xf86-video-intel/tools and change the #if 0 on line 69 of virtual.c and make it #if 1, i.e.

diff --git a/tools/virtual.c b/tools/virtual.c
index 2d5a4e4..c623875 100644
--- a/tools/virtual.c
+++ b/tools/virtual.c
@@ -66,7 +66,7 @@
 #include <fcntl.h>
 #include <assert.h>
-#if 0
+#if 1
 #define DBG(x) printf x
 #define DBG(x)

Run intel-virtual-output -f | tee ivo.txt and set everything up as desired and try moving the cursor onto the third display. Please then attach ivo.txt.
Comment 7 Kirill Müller 2013-11-22 15:29:50 UTC
Created attachment 89644 [details]
As requested, result of intel-virtual-output -b -f | tee ivo.txt

git pull
sudo make install

After starting `intel-virtual-output`, all three monitors were on. The third was in landscape mode. I have moved the cursor from the first to the second (DP-1) to the third (DP-2) monitor, then back to the second monitor. After this I terminated recording with Ctrl+C.

Note that (a part of) the cursor is visible on the *third* monitor if it is right on the edge of the *second* monitor. It disappears as soon as the "hot spot" is on the third monitor.

Thanks a lot for looking into this! I hope you don't have to go through the log line by line ;-)
Comment 8 Kirill Müller 2013-11-22 15:30:22 UTC
(Of course I've applied the patch before.)
Comment 9 Chris Wilson 2013-11-22 17:41:13 UTC

commit 12e974c7bc8c85dbccd3d9ef91c1315e85bbeb6c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Nov 22 17:37:57 2013 +0000

    Revert "intel-virtual-output: Only track the most recent visibility status of the cursor"
    This reverts commit abf1a16914d993cc150005879375d4bb17fdccf3.
    We need to track visibility over all clones on a display, not just the
    Regression from
    commit abf1a16914d993cc150005879375d4bb17fdccf3 [2.99.906]
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Fri Nov 8 17:09:35 2013 +0000
        intel-virtual-output: Only track the most recent visibility status of the curso
    Reported-by: Kirill Müller <mail@kirill-mueller.de>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71838
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

If you would like to attach a similar ivo.txt for the rotation failure, I can look at that whilst I try to reproduce.
Comment 10 Kirill Müller 2013-11-25 13:12:55 UTC
Cursor is still not shown on the third display (after git pull, make clean, make, sudo make install)
Comment 11 Kirill Müller 2013-11-25 13:23:00 UTC
Apologies. Everything works after `git pull` (for some reason I keep saying `git fetch` instead...).
Comment 12 Chris Wilson 2013-11-25 14:27:04 UTC
No worries, thank you for testing.

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.