Native Multitouch support on Linux

109 views
Skip to first unread message

Mathieu Virbel

unread,
Apr 30, 2010, 5:01:56 AM4/30/10
to pymt-dev
Hi everyone,

In 0.4, we introduced multitouch support on Windows (WM_Touch and
WM_Pen), on MacOSX... but not on Linux.
That's done now ! In latest master, you have a new input provider: HIDInput.

A fast video : http://vimeo.com/11342272

If you have a multitouch screen (Acer T230H, Ntrig, Stantum, 3M...),
on the latest kernel, they have already drivers for them. Just modify
your configuration to add your device:

[input]
acer = hidinput,/dev/input/event2
stantum = hidinput,/dev/input/event6

# And prevent them to do some jitter processing :
[pymt]
jitter_ignore_devices = mouse,acer,stantum


You must have read access to your device. Just try with:
cat /dev/input/event2

If you got permission denied, you can create a specific udev rules.
Here is 2 rules for Acer and Stantum screen :
SUBSYSTEM=="input", SYSFS{idVendor}=="0408", MODE="0644",
SYMLINK="input/event-acer"
SUBSYSTEM=="input", SYSFS{idVendor}=="1f87", MODE="0644",
SYMLINK="input/event-stantum"
Theses rules will also create a symlink to /dev/input/event-acer +
/dev/input/event-stantum.

I'll put this on a wiki page.

Enjoy !

Mathieu

--
You received this message because you are subscribed to the Google Groups "pymt-dev" group.
To post to this group, send email to pymt...@googlegroups.com.
To unsubscribe from this group, send email to pymt-dev+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/pymt-dev?hl=en.

Jonathan Gossage

unread,
Aug 23, 2010, 5:46:06 PM8/23/10
to Mathieu Virbel, pymt...@googlegroups.com
I tried to follow your suggestions in this post to enable my Acer
T230H. One problem seems to be that /dev/input/event2 on my system
seems to be allocated to Macintosh mouse button emulation as reported
in the Xorg.0.log file. I am running on Ubuntu 10.04 with the vanilla
kernel supplied with Ubuntu. I am completely inexperienced in this
area and would appreciate any suggestions that you might have.

Mathieu Virbel

unread,
Aug 23, 2010, 6:02:08 PM8/23/10
to Jonathan Gossage, pymt...@googlegroups.com
If you are really really up-to-date (from this afternoon), you could
test probesysfs.
add this line on your config file:

[input]
device_%(name)s = probesysfs

It will auto detect device with multitouch (linux only).

Otherwise, send the full log of pymt :)

Mathieu

2010/8/23 Jonathan Gossage <jgos...@gmail.com>:

Jonathan Gossage

unread,
Aug 23, 2010, 6:20:13 PM8/23/10
to Mathieu Virbel, pymt...@googlegroups.com
I was just trying to get the cat /dev/input/eventx to work and had not even tried to modify PyMT config. I figured that if I could not access the device, configuring PyMT would not help. And yes  I am up to date as of this morning.
349.gif

Mathieu Virbel

unread,
Aug 23, 2010, 6:27:56 PM8/23/10
to pymt...@googlegroups.com
You could chmod 777 the device. 
lsinput  will give you a list of device
Try to found the one of your screen :

/dev/input/event3
   bustype : BUS_USB
   vendor  : 0x408
   product : 0x3000
   version : 272
   name    : "Acer T230H"
   phys    : "usb-0000:00:1a.1-1/input0"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_ABS EV_MSC



2010/8/24 Jonathan Gossage <jgos...@gmail.com>
349.gif

Jonathan Gossage

unread,
Aug 23, 2010, 6:53:42 PM8/23/10
to pymt...@googlegroups.com
The problem is that the system is not picking up the Acer USB touch interface at all. I know the hardware works because I dual boot this system between Ubuntu 10.04 and Windows 7 and the multi-touch functionality works fine there. It seems that I have a missing driver perhaps on Ubuntu.
349.gif

Mathieu Virbel

unread,
Aug 23, 2010, 7:41:18 PM8/23/10
to pymt...@googlegroups.com
You need a 2.6.34 kernel minimum. Which kernel did you got ?

2010/8/24 Jonathan Gossage <jgos...@gmail.com>
349.gif

Jonathan Gossage

unread,
Aug 23, 2010, 8:00:02 PM8/23/10
to pymt...@googlegroups.com
I have 2.6.32.24-generic. Does this mean I have to learn to compile a kernel myself and figure out how to integrate the Ubuntu patches? That would be more work than it is worth and I would probably be better off waiting for the next Ubuntu release and doing touch testing on Windows in the mean while.
349.gif

Mathieu Virbel

unread,
Aug 23, 2010, 8:22:42 PM8/23/10
to pymt...@googlegroups.com
You could: 
* switch to ubuntu maverick, they are pushing mt on next ubuntu, and kernel is ready

Mathieu
349.gif

Jonathan Gossage

unread,
Aug 23, 2010, 11:46:59 PM8/23/10
to pymt...@googlegroups.com
I tried installing the 2.6.34 kernel. Unfortunately it was unable to load the Nvidia kernel driver - no particular reason given. Is that driver compiled into the kernel or is it a loadable driver. If loadable, do you know where a compatible version could be obtained. Sorry for having to ask you so many questions but I would really like to be to test with multi-touch hardware on Linux and this exercise also provides some debugging and validation before anything goes up on the wiki.

Incidentally my Nvidia GLX module is 173.14.22 and the driver version is 173.14.22
349.gif

Mathieu Virbel

unread,
Aug 24, 2010, 3:33:40 AM8/24/10
to pymt...@googlegroups.com
You can use the nvidia module given on nvidia website, it's work for 2.6.34. (but not on ubuntu maverick with new xorg).

If you're going to upgrade, everything work :)
349.gif

Jonathan Gossage

unread,
Aug 24, 2010, 6:29:24 AM8/24/10
to pymt...@googlegroups.com
I am going to look at putting a copy of Maverick up under Virtual Box because I can not afford to have potential instability in my main development environment right now.
349.gif
Reply all
Reply to author
Forward
0 new messages