TX2 28.2.1 HDMI Dual Monitor Support

Hello,

We are trying to develop a custom board with an integrated Jetson TX2. One of the features we would like to add is hdmi dual monitor support, but we are running into an issue with duplicate mouse cursors.

The link below is the closest thread I was able to find. I wasn’t sure if our problem was different since it isn’t just when the mouse is around the edge of the screen.
https://devtalk.nvidia.com/default/topic/1036295/jetson-tx2/two-mouse-cursors-on-tx2-dual-monitor-hdmi-amp-displayport-/1

We see the issue when we have two hdmi monitors connected and we are in extended mode.

When the mouse is on the right monitor there is no duplicate cursor on the left.
When the mouse is on the left monitor, the mouse gets duplicated only at the left edge of the right monitor. The duplicate mouse cursor only moves vertically with the actual mouse, never left or right (and it can’t actually click anything).

The especially strange thing is that there is only a duplicate mouse on the right monitor after moving passed a certain distance into the left monitor.
I’ll try to attach images depicting our issue.

Changing the resolution or the order of the monitors doesn’t seem to have any effect.
I’ve also tried messing around with the xorg configurations to see if maybe the xserver screen was messing up but nothing seems to do the trick.

Is this the same issue as the link above? If so, is it possible to know if upgrading our TX2 version to R32 will resolve this issue?

Thank you,
Steve


Sorry that this issue is still pending and no update. Would you mind moving to jetpack4.2 with ubuntu 18.04 and see if it it resolved?

Hi WayneWWW,

Thank you for the quick reply! We will try moving to the newer version and see how it works out.

-Steve

Hi WayneWWW,

I’ve come across an interesting observation.

I’m not sure if you’re team has already found this, but If you invert the screen on either axis (vertically or horizontally it doesn’t matter) using the xrandr command, the problem resolves itself.

Running either of the following commands to flip the screen causes the duplicate mouse to disappear:

xrandr -x 
xrandr -y

I’m not entirely sure why this happens but hopefully it is of some use to your team.

-Steve

Many thanks for this interesting finding. I will share this info to them.

Hi WayneWWW,

Just a quick update/question.

We tried getting dual monitors to work using jetpack4.2 but ran into the same issue.
Are you able to confirm that the error is resolved when switching to jetpack4.2 on your end? If so, then perhaps there is something wrong with how we are setting up our environment.

-Steve

No, the dual cursor issue is still not resolved.

Please try to apply this patch.

diff --git a/drivers/video/tegra/dc/nvdisp/nvdisp_cursor.c b/drivers/video/tegra/dc/nvdisp/nvdisp_cursor.c
index ce0f6a9..24f4beb 100644
--- a/drivers/video/tegra/dc/nvdisp/nvdisp_cursor.c
+++ b/drivers/video/tegra/dc/nvdisp/nvdisp_cursor.c
@@ -1,7 +1,7 @@
 /*
  * drivers/video/tegra/dc/nvdisp/nvdisp_cursor.c
  *
- * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -102,8 +102,9 @@
 		if ((x + cursor_width) > 0) {
 			point_in_x = 0 - x;
 			cursor_size_in_width -= point_in_x;
-		} else {
+		} else { /* entire cursor is offscreen on left edge */
 			point_in_x = 0;
+			cursor_size_in_width = 0; /* hw will disable cursor */
 		}
 		x = 0;
 	}
@@ -113,8 +114,9 @@
 		if ((y + cursor_height) > 0) {
 			point_in_y = 0 - y;
 			cursor_size_in_height -= point_in_y;
-		} else {
+		} else { /* entire cursor is offscreen above top edge */
 			point_in_y = 0;
+			cursor_size_in_height = 0; /* hw will disable cursor */
 		}
 		y = 0;
 	}

Hi WayneWWW,

After re-building with your patch the problem was resolved.
Just out of curiosity, will this patch be in an update for the L4T packages or a new version?

Thank you for the help!

-Steve

Yes, this patch would be in next release on both rel-28 and rel-32 based release. Current release does not have it yet.

Great, thank you for the quick reply and thanks again for the update.