Comment 35 for bug 296167

Revision history for this message
xianthax (xianthax) wrote : Re: X.org will intermittently stop responding to mouse clicks on Ibex with Xinerama

confirmed and killing my productivity...

this may be helpful in tracking it down.

system specs:

Ubuntu 8.10
Intel Q6600 @ 3.2Ghz
Asus P5E WS Pro Mainboard
8GB ram
2 x Nvidia 8600GTS (177.80 drivers)

Screen setup: 3 screens, each a separate x session all merged with xinerama, arranged from left to right as: GPU0(screen0), GPU1(Screen0), GPU1(screen1). All normal orientation and all 1680 x 1050 screens.

Always appears to happen when the mouse is moving across the GPU boundary. And here is the interesting bit that may help solve this. I often run 1 application on each screen but not maximized to the screen, there is a one inch gap or so around the edges of each application window on each screen. The apps that are on GPU1S0 (middle) and GPU1S1(right) have custom cursor icons, when the mouse bugs out, if i move the mouse to GPU0S0 (left) and put it in the area where the windows are on the other screens, the cursor icon changes and moving it around more subtly i can get the various cursor from the apps that are running on the other 2 screens (2 instances of the same app so i can't tell which screen X thinks the mouse is really on). Clicking anywhere has no effect, despite attempts to click on the left screen to create action on one of the others.

Testing: To test this hypothesis i setup 3 instances of xev, one on each screen roughly the same size and in the same place. I trigger the bug (waving mouse back and forth quickly across the gpu boundary seems to be 100% effective at causing this in a short amount of time, thus i recommend everyone avoid doing this when you don't want to reboot X).

results: movement on GPU0S0 (left) in the area of the xev window on GPU1S0 (center) triggers events on the xev on GPU1S0 (center), indicating that X thinks the mouse is one screen to the right of where it is displayed, presses and releases are also recorded although they have no effect on running applications (probably because the coordinates sent to the app are out of bounds). Mouse movement / events anywhere on GPU1S0 or GPU1S1 cause no xev events on any screen indicating its not simply an off by 1 screen issue.

this and everything else we've seen indicates to me this is a problem in handing off cursor control from 1 gpu to the the other gpu.

I'm out of time tonight but i will try disabling hardware acceleration of the cursor to see if it has any effect on this. I could also rearrange my screens to further test the GPU boundary theory.

cheers,

x