Attach touch screen to a single display

Peter Hutterer peter.hutterer at who-t.net
Sun Jun 20 17:20:23 PDT 2010


On Fri, Jun 18, 2010 at 06:28:00AM +0200, Julian Ortiz wrote:
> There is no problem about having a single large desktop... but I need to use
> nvidia driver and as far as I understand it does not support Rand1.2.
> 
> The race condition is caused because xf86InputSetScreen is not thread safe?

sort-of, yes. input events are handled during the signal handler, which is
nearly as bad as a thread, only worse...
 
> About Peter Korsgaard matrix... where can I found it to take a look?
 
http://cgit.freedesktop.org/xorg/xserver/commit/?id=6cccf0131c8464d8838cae2200730873d7dd9e45

Cheers,
  Peter

> On Wed, Jun 16, 2010 at 3:21 AM, Peter Hutterer <peter.hutterer at who-t.net>wrote:
> 
> > On Mon, Jun 14, 2010 at 05:10:40PM +0200, Julian Ortiz wrote:
> > > Hello,
> > > After looking for a way to make a touch screen works only in its display
> > > (with nvidia configured as different XScreens) with no luck at all, I
> > > started to look at the input modules source. I realizes that
> > > the proprietary elo module calls to xf86XInputSetScreen, the function
> > name
> > > seems promising, so I just patch the evdev module to support several
> > screens
> > > by configuration and to call xf86InputSetScreen in the EvdevReadInput
> > just
> > > before the EvdevProcessEvent.
> > >
> > > The result seems to work but the behavior is very erratic and sometimes
> > the
> > > mouse/touch/keyboard get freezes and I need to restart X. And more
> > strange,
> > > after launch several OpenGL application the performance drops so, so much
> > > (obviously without the patch it doesn't happen)
> > >
> > > Is xf86InputSetScreen the best approach to handle this?
> >
> > There's a race condition that can be triggered by xf86InputSetScreen() that
> > ends up with a cursor jumping indefinitely between the two screens. This is
> > likely the freeze you're seeing.
> >
> > There's unfortunately no good way to bind the device to a single screen
> > right now. Peter Korsgaard input transformation matrix allows it for a
> > RandR 1.2 setup but not for multiple protocol screens.
> >
> > Cheers,
> >   Peter
> >
> > > Trying to find the module responsible for the mouse switch between
> > different
> > > display I saw references to something called SilkenMouse, but I can't
> > find
> > > any documentation about what is this. Any idea?
> >


More information about the xorg-devel mailing list