[multi screen] mouse position sometimes wrong

Bug #363375 reported by Stork
This bug report is a duplicate of:  Bug #357901: xinerama mouse cursor on every screen. Edit Remove
84
This bug affects 8 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers-180 (Ubuntu)
Incomplete
Undecided
Unassigned
Nominated for Jaunty by Marius B. Kotsbak
Nominated for Karmic by Marius B. Kotsbak

Bug Description

Binary package hint: xserver-xorg-core

using: Jaunty beta release, nvidia driver version 180.44 (nvidia-glx-180 version: 180.44-0ubuntu1)

relevant hardware: Dell Vostro 1700 laptop (it's LCD screen is primary monitor) with an LCD monitor (1280x1024 res) connected via VGA.
lspci -nn | grep VGA: 01:00.0 VGA compatible controller [0300]: nVidia Corporation GeForce 8600M GT [10de:0407] (rev a1)

problem: mouse pointer acts oddly when using xinerama on two (different resolution) monitors. I have encountered three different scenarios:

1) mouse pointer works fine. transition between screens works how you'd expect, clicking works fine.
2) transition between screens works fine, but the mouse pointer clicks where it shouldn't, for instance right now if I were to click on the 'File' menu in firefox I'd have to move the mouse pointer a centimeter to the left of where I actually wanted to click. This problem only seems to occur one the secondary screen.
3) transition between screens is broken, moving the mouse pointer from one screen (usually from secondary screen to primary) past a (seemingly random) vertical line the pointer is reset to the opposite end of the screen it originated in.

Have not figured out a concrete way to fix 3) yet but shifting workspaces or switching windows often seems to do the trick.

Tags: jaunty
Revision history for this message
Stork (alex-storkey) wrote :
Revision history for this message
Stork (alex-storkey) wrote :
Revision history for this message
Stork (alex-storkey) wrote :
Revision history for this message
Stork (alex-storkey) wrote :
Revision history for this message
Stork (alex-storkey) wrote :

Was hoping this was just a jaunty beta bug, but I upgraded to the full version of jaunty and this still occours.

Still no closer to find a way of solving it. Maybe it would help if I attached a video?

Revision history for this message
Stork (alex-storkey) wrote :

If you'll look in the Xorg.0.log file there's a lot of messages like this...

miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerConstrainCursor: Invalid input device pointer
miPointerConstrainCursor: Invalid input device pointer

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote :

I can confirm this on a setup with 2 8800gt's.
The mouse wrapping issue just pops up sometimes while moving from card to card.

Revision history for this message
Stork (alex-storkey) wrote :

Also relevant: I was using Xinerama when the bug appeared, is this the same with you Jan?

Since I've switched to Nvidia's TwinView it hasn't been a problem.

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote :

Yes, im also using Xinerama, but i cannot use Twinview as i have 3 screens attached to two different cards.
There's a bunch of xinerama problems since this new driver.

Revision history for this message
robjderr (robjderr) wrote :

Confirmed for me with Quadro NVS 440 with 4 monitors using twinview, xinerama, and 180.51 driver from NVIDIA. I'm also getting pointer error messages in Xorg.0.log

miPointerUpdateSprite: Invalid input device pointer
miPointerWarpCursor: Invalid input device pointer
miPointerConstrainCursor: Invalid input device pointer

Martin Olsson (mnemo)
affects: xorg-server (Ubuntu) → nvidia-graphics-drivers-180 (Ubuntu)
Revision history for this message
naesk (naesk) wrote :

I too have encountered cursor issues within xinerama on a dual screen setup (2x Compaq 1501 @ 1024x768 resolution).

There are two cursor instances, one on each display, although only the respective cursor on the focused screen is active.

Also, occasionally the cursor can suddenly track back over onto the primary screen and be confined to the screen.

If any logs or config files required let me know.

Revision history for this message
puzza007 (puzza007) wrote :

I can confirm using Xinerama, nvidia-glx-180 180.44-0ubuntu1 and xserver-xorg-core 2:1.6.0-0ubuntu14.

Usually when my mouse gets stuck in one screen I can move it into the lower part of the other screen. A workaround to get the mouse working properly again seems to be moving a window half in one screen, half in the other, then clicking on the border of that window in the other screen. ;} Works for me, YMMV.

Revision history for this message
Aries-Belgium (aries-belgium-deactivatedaccount) wrote :

I'm having a similar problem with Kubuntu 9.04 but I'm not using Xinerama or TwinView. I attach my laptop on my tv to watch video. The display on my is just a standard X11 session (black screen and the standard X-cursor). I can move my cursor from my primary screen to my secondary screen but I can't move it back.

Revision history for this message
puzza007 (puzza007) wrote :
Revision history for this message
Leon van der Ree (lvanderree) wrote :

I have this same issue and THINK I FOUND THE TRIGGER..

I have two different Nvidia's (PCIe) and 3 monitors.
I setup xinerama to link the displays, which is working great! Until once in a while my mouse isn't working as expected anymore.

When I run
tail -f Xorg.0.log

I can see that the messages:
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerConstrainCursor: Invalid input device pointer

start appearing once you hold a key (however not Shift).

Run tail -f and press some enters to get some white lines.
Now hold enter (to get more white lines even faster...) You will see the messages will also appear immediately! And of course your mouse cursor is out of sync.

Maybe this can help to fix the problem.

Revision history for this message
Bugsy (carlo-suomi24-deactivatedaccount) wrote :

I can also confirm this with Jaunty and gf 7600gs. Also it seems to happen only with Firefox and especially when writing in html-fields.

Revision history for this message
Vanessa Dannenberg (vanessadannenberg) wrote :

This also affects my system (Jaunty 32 bit, GF 6800 using two LCD monitors via Xinerama). My workaround is fairly simple: Grab any window (I use Alt + LeftButton) on the screen you're stuck on, such as a terminal, and try to drag it over to the other monitor. Keep dragging until you see it wrap once or twice, then drag it back to the monitor you were stuck on. For me, this un-sticks it every time, without fail.

Revision history for this message
Vanessa Dannenberg (vanessadannenberg) wrote :

To clarify Leon's method a little, the terminal with the Xorg.0.log trace needs to be on the *secondary* screen, and your enter key needs to be held down while focused on it. In my case, this will trigger the bug 90% of the time, and I get those "invalid input device" messages in 40-50 line blocks.

However, if I put the terminal on primary screen, the mouse doesn't get stuck. I still get those "invalid input device" messages, but they are far less frequent in this case.

Revision history for this message
Thomas NOEL (thomas-noel) wrote :

"miPointer*: Invalid input device pointer" lines in Xorg.0.log are coming from the patch "169_mipointer_nullptr_checks.patch" in xorg-server (seems to be an Ubuntu patch).

Perhaps this bug insert some side effects ?... It was proposed to resolve this bug : https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/324465

Just my 0.00002 cents.

Thanks

Revision history for this message
Chris Miller (chrisamiller) wrote :

Confirming this bug on my system.
Jaunty
proprietary Nvidia driver version 173
Dual monitors, Xinerama, with one monitor rotated 90 degrees

xorg.conf and Xorg.0.log attached

Revision history for this message
Jan Klopper (janklopper-innerheight) wrote :

alt-tab to a window in the screen you can't reach, and press alt-f7 (move window toggle) fixes this every time.
You don't even need to move the window, the mouse will be on the other screen, and the issie will be solved.

Revision history for this message
Nicholas Wheeler (dragoncow2) wrote :

Neat, I can replicate this bug. If on my second monitor, if I tail the Xorg.0.log and hold down Enter, I occasionally see *only* the "miPointerConstrainCursor: Invalid input device pointer" message...but nothing acts up. If I switch over to my third or fourth monitor however, I start to see "miPointerWarpCursor: and miPointerUpdateSprite:" errors. When holding enter, and I go to the third monitor, it will "jump" over to the fourth monitor....but I can go back "left" to my third monitor and that seems to work fine. However, if I go to the fourth monitor and the mouse hovers *over* any application (tested: gnome-terminal, firefox, vmware), it'll "loop" within the fourth monitor...over the application. If I put the mouse over the desktop, and then try to go back left to the third/second/first monitor, it works (this is all the while holding down enter on the tail).

Not sure if this clears up anything or not....but it is an interesting bug.

Revision history for this message
mathew (meta23) wrote :

I just had this problem.

I managed to get mouse warping between screens to work again by holding down the right shift key, believe it or not.

So it seems as though there's some kind of interaction going on between modifier keys and transitions between screens.

I don't know what triggered the condition, however.

Revision history for this message
iamSpOOk (learn) wrote :

I can crash X reliably - probably because of this bug.

Jaunty
Dual screens.
mga driver <<<<<<< note (It might not be a nvidia problem...
hp 2035 monitors
xinerama
650 Mhz CPU (old thing)
G550 AGP video card.

Open terminal window on primary screen.
tail -f /var/log/Xorg.0.log

Open another terminal window in the other screen, hold down the shift key with a wedge of paper and you will probably see errors in the other
terminal windows. Leave it like that and after a while the mouse pointer might be constrained to one window. This can be released as described by ALT-dragging a screen around for a while.

Grab the window and madly drag it between screens until X crashes.

Sometimes it takes 5 min to make it crash.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I mark it as confirmed, as I have seen it on 2 different PCs running ubuntu with nvidia card as well as a lot of other people.

Changed in nvidia-graphics-drivers-180 (Ubuntu):
status: New → Confirmed
Revision history for this message
Robert Henjes (henjes) wrote :

Using the new Matrox mtx drivers and Xinerama produces the same behavior. Workarounds as described work in most cases.
My setup is using three independent screens and two graphics adapters.

Revision history for this message
Nythain (nythain) wrote :

Same bug here https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/359840

really annoying. any actual fixes or workarounds better than grabbing a window border? that doesnt work so well in tiling window managers, where this bug is VERY annoying.

Revision history for this message
Bryce Harrington (bryce) wrote :

I've posted a new version of the -nvidia driver to our xorg-edgers PPA,
would you mind testing it either on Jaunty or Karmic and see if it
resolves this bug?

Get nvidia-graphics-drivers-180 - 185.18.14 here:

  https://edge.launchpad.net/~xorg-edgers/+archive/ppa

Changed in nvidia-graphics-drivers-180 (Ubuntu):
status: Confirmed → New
status: New → Incomplete
Revision history for this message
Mª Jesús Alvarez (chus-alvarez) wrote :

I think is NOT an Nvidia bug.

I have the same problem:
-Jaunty distribution
-Dual Monitor
-mga driver (not nvidia), patched from Bryce Harrington PPA:

http://ppa.launchpad.net/bryceharrington/ppa
xserver-xorg-video-mga 1:1.4.9.dfsg-3ubuntu1~bug292214
xserver-xorg-video-openchrome 1:0.2.903+svn713-1ubuntu1.1~bug367442~1
xserver-xorg-video-intel 2:2.6.3-0ubuntu10

-Xinerama

¿A Xinerama problem, maybe?

Revision history for this message
Robert Henjes (henjes) wrote :

It's my opinion too, I think it is NOT a nvidia only problem.

Using mtx drivers with Jaunty and dual monitor the bug occurs also.

I'm assuming it's related to xinerama. Switching to pure Xrandr / mergedfb mode of the mtx driver removed the bug completely. But once in a while an addtional mouse cursor blinks on the second screen, which wasn't the case with older versions.

Robert

Revision history for this message
Leon van der Ree (lvanderree) wrote :

I too think it is not a Nvidia Problem, my guess is a Xinerama bug.

I don't like to say it, but I was so annoyed with this bug, I tried out Fedora 11.

Fedora is working above expectations! The bug has gone, it boots a little faster and on my Sony-laptop All my keys are working and functional (inc. eject and brightness: keys that were not recognised in Ubuntu). Also My bluetooth adapter on my laptop is recognised. Fedora contains the latest releases (like Firefox 3,5 and Thunderbird 3) while being amazingly stable. I also have the freedom to remove Evolution without breaking dependencies; one of those little things that bothered me in Ubuntu.

For now I keep using Fedora:
On the downside YUM isn' t apt-get, but isn't that bad either and you have to get used to some different locations, like http instead of apache, and restarting is not done with /etc/init.d/gdm

If someone wants to know versions numbers, configurations or other info to compare with Ubuntu (9.04) please let me know.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Well, the workaround to use twinview instead of xinerama works perfectly for me. Can't see any of the problems other people here have experienced. The separate screens are even recognized so that maximized windows maximize to the current screen. The configuration made by the Nvidia configuration is working (just remove the keyboard and mouse configuration).

Revision history for this message
Leon van der Ree (lvanderree) wrote :

Maurius, I think we all already knew this.

The reason people are using Xinerama is because they have more than 2 monitors. Twinview "only" supports 2 monitors...

Revision history for this message
Chris Miller (chrisamiller) wrote :

Marius, Twinview does not support dual monitor setups where just one monitor is rotated 90 degrees (one in landscape, one in portrait)

FWIW, it seems clear at this point that it's a bug in Xinerama

Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

I can confirm that I have this problem on Jaunty on setup with three screens/xinerama: two on Nvidia 6600GT AGP and one FX5200 PCI. Obviously I can't use TwinView. :) Using the NVidia 173 drivers.

I also have GLX disabled, since the driver doesn't work correctly with it enabled.

Revision history for this message
Nelson (nrescobar+lp) wrote :

I also have a matrox g550 agp video card and using xinerama, and I'm also seeing this problem with the mouse suddenly jumping to the primary screen. At that point it becomes hard to get on the second screen, as the cursor keeps jumping back. Grabbing a window and moving it between the two screens fixes the problem until it happens again.

I also am getting the messages in my log:
miPointerWarpCursor: Invalid input device pointer
miPointerUpdateSprite: Invalid input device pointer
miPointerConstrainCursor: Invalid input device pointer

Revision history for this message
Nelson (nrescobar+lp) wrote :

Doesn't seem to be an nvidia bug, but a bug in xinerama.

affects: nvidia-graphics-drivers-180 (Ubuntu) → xorg (Ubuntu)
Revision history for this message
Wil Clouser (clouserw) wrote :

Bug 357901 may have a patch for this. However, reproducing this problem is fairly easy, you just need to hold down any key. Example:

1) Move your mouse/focus to an application in the second screen (firefox works)
2) Hold down the up arrow for a few seconds
3) Move the mouse around a bit - it'll jump back to the first monitor and the errors above will show up in the log

Revision history for this message
quokka (cdavenport) wrote :

I have also had this problem with Jaunty 64 bit. Environment is two Nvidia NVS 285 PCI-E cards and four monitors. Errors as reported above appear in the Xorg log.

I may have stumbled on a work around, which is (for the above config)

1. Configure xorg.conf for Nvidia twinview for each pair of monitors

2. Install fake Xinerama : http://ktown.kde.org/~seli/fakexinerama/ and configure it for the monitor sizes and layout. You need to install the libxinerama-dev package to compile fake xinerama.

I have had no issues with the cursor going walkabout after several days of use. A really big bonus is that graphics performance is VERY MUCH better than the former Xinerama setup. That glue like feel that seems to accompany Xinerama has just disappeared. Windows maximize correctly and apps know the screen boundaries.

Although my setup uses twinview, I suspect that this work around may work in other configurations.

Bryce Harrington (bryce)
affects: xorg (Ubuntu) → nvidia-graphics-drivers-180 (Ubuntu)
Revision history for this message
Pete (pete123) wrote :

quokka:

So you are no longer using Xinerama to tie the screens together? Essentially this removes your ability to move windows between the two twinview pairs then right?

Revision history for this message
quokka (cdavenport) wrote :

Hi Pete,

No it works just like a four screen Xinerama setup should. The two twinview pairs are tied together with Xinerama the X config:

    Option "Xinerama" "1"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen1" RightOf "Screen0"

The fake Xinerama installation then allows the dimensions and layout of the physical screens to be defined for the benefit of window managers and apps.

The fake Xinerama config file for four 1280x1024 monitors in a row:

4
0 0 1280 1024
1280 0 1280 1024
2560 0 1280 1024
3840 0 1280 1024

It is working well for me. And firefox doesn't crash all time now.

Revision history for this message
Lee-Ping Wang (officer-ping) wrote :

Hi there,

I also have a four-monitor setup, but my two leftmost monitors are vertical. So my "fake Xinerama" would be:

4
0 0 1024 768
0 768 1024 768
1024 578 1680 1050
2704 578 1900 1200

Clearly I have an eclectic mix of monitors ;) My gfx cards are 2x Nvidia 9550GT.

I've been getting cursor misplacement issues ever since upgrading to Jaunty, along with the errors in Xorg.0.log. My fix has been to move the mouse pointer into the upper left corner, and keep moving it to the upper left --- this seems to line them up for a few minutes, then the problem appears again.

Attempted fixes: I have the patched NVidia drivers from the Bryce Harrington PPA, and the bugfix in https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/357901 (I also had the dual-pointer problem in #357901, which was fixed by the patch.)

I can't use Twinview, because of the way Twinview treats my vertical monitors.. eagerly awaiting a Xinerama fix.

Revision history for this message
Lee-Ping Wang (officer-ping) wrote :

The problem might not be a Xinerama problem. I got the same issues when using fake-Xinerama (I used ldd /usr/sbin/gdm to make sure it was loading the right .so file.)

I got Twinview to treat my vertical monitors properly, and I used fake Xinerama to patch them together. I still got issues with "Invalid input device pointer". If I use fake Xinerama without Twinview (four screens), I still get errors.

I think that the issue has much to do with the physical arrangement of monitors and the number of screens. I had my screens configured in such a way that Monitor 0 and Monitor 2 were on one card, and Monitors 1 and 3 were on the other (I wanted both my large DFPs to have DVI inputs.)

If I plug the screens in such that Monitors 0 and 1 were on one card, and Monitors 2 and 3 on the other, the issues seem to go away somewhat.

Bryce Harrington (bryce)
tags: added: jaunty
Revision history for this message
rakslice (rakslice) wrote :

I'm running the ubuntu packaged nvidia 180.44 drivers with three monitors in xinerama.

Left monitor: 1920x1080 at +0+425
Middle monitor: 1050x1680 (i.e. rotated) at +1920+0
Right monitor: 1680x1050 at +2970+500

If I try move the mouse cursor from the second monitor to the first monitor at any point below about absolute Y 780 (about 355 from the top of the first monitor), it renders a frame or two of the cursor on the first monitor and then it jumps to the third monitor. If I move the mouse cursor across above that point it works fine.

Is this something like what happens to you in the third scenario, marius?

Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

I upgraded to the xorg-edgers PPA version of Xorg ( xorg-server 2:1.6.3+git20090805+server-1.6-branch.f274e595-0ubuntu0sarvatt3~jaunty ), and my mouse is no longer getting stuck in the rightmost screen. :) :) :)

Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

Oh, and I didn't have to change my Xorg config or anything. Granted, the xinerama setup is a bit slow, but it works, and no mouse problems anymore. I was able to confirm that the issue happened before the upgrade when holding a random key as Nicolas mentioned in comment #22. It no longer happens when doing that.

Revision history for this message
matthijs (l-m-aangeenbrug+launchpad) wrote :

@Dustin: where can i get this package / what is a easy way to install this?

Revision history for this message
matthijs (l-m-aangeenbrug+launchpad) wrote :

My search ended up here: https://launchpad.net/~xorg-edgers/+archive/ppa/+build/1151959 Do i need all these debs / built files below on the page? Or can i add some lines to the repo? I can't find anywhere the right code to do this.

Revision history for this message
David Schneider (dnschneid) wrote :

The PPA page is here: https://launchpad.net/~xorg-edgers/+archive/ppa
As it says, you should use the packages as a whole, not picking and choosing, since the packages tend to require the other packages with the same version.

Down below on the page is a "Adding this PPA to your system". If you're not using Karmic, you can open up the Technical Details section there, and add that to your sources list.
You'll also want to add the signing key to your apt-key, the process which can be found under the "what is this" link.

Installing a bleeding edge x-server is asking for trouble, though--for me, the server didn't match the nvidia driver version I had, which prevented x windows from starting. I had to get updated nvidia drivers from the nvidia-vdpau page.
If you're not comfortable with fixing a broken x-windows install from the console, I wouldn't recommend going this route...

Revision history for this message
matthijs (l-m-aangeenbrug+launchpad) wrote :

Fixing from CLI isn't my favorite part. But the bug is driving me crazy ...

Revision history for this message
Michel Nacouzi (michelnacouzi) wrote :

I don't think that's duplicate of bug #357901. #357901 talks about cursor left on another screen... but here we're talking about mouse position offset, which is more a duplicate of bug #1306550

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.