Touch screens and Linux

Share your how-tos and guides with other users

Moderators: ChrisThornett, LXF moderators

Touch screens and Linux

Postby Dutch_Master » Thu Aug 23, 2012 2:29 pm

For a time now I have a touch screen. And in the beginning I struggled to get it working. Nowadays, it's quite easy. First, examine your system. Your kernel should be at least 2.6.34:
Code: Select all
uname -r
If it isn't update your system or install a new kernel, compiling it from scratch. Sources are at the kernel.org website. Grab the latest stable version (3.x.x). If you use a kernel from your distro, install the kernel sources corresponding to your kernel. Either way, it needs some special attention during configuration, more on that later.

Next, look up your touch screen in the list here, to see if it's supported:
http://lii-enac.fr/en/architecture/linu ... vices.html
If the field is green, you're in luck. I was lucky ;) The driver for my device (Quanta) was included into the kernel from version 2.6.34.

For the kernel to know what to do with the input it gets from the driver, it needs some rules. Quoting from an Ubuntu Forum thread on it:
Create a file /etc/udev/rules.d/99-touch.rules with the following content
Code: Select all
SUBSYSTEM=="usb", ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3000", SYMLINK+="usb/quanta_touch"
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3000", SYMLINK+="input/quanta_touch"

This is for the quanta driver I have, your rules should reflect the device you use. The lsusb command gives you the vendor and product ID's to use in the rules.

Now it's time to revisit the configuration of the (new) kernel. Go to "Device Drivers" -> "HID Devices" -> "Special HID drivers" -> "Quanta Optical Touch panels" and enter "M" into the field. Again, this is for my Quanta screen, your particular device may be noted there too, just look around for it. Have your driver compile as a module too. If you have installed this new kernel already, there's no need to compile it all over, it just needs the modules rebuilding:
Code: Select all
make modules && make modules_install
Let it finish. Note that if you haven't installed the kernel yet, you need to issue the full install command:
Code: Select all
make && make install && make modules && make modules_install
The proof of the pudding is in the eating, so insert the new module into the kernel:
Code: Select all
modprobe hid-quanta
Obviously replace the driver name with the correct one for your hardware. Now try moving the cursor with your finger on the screen :)

Mind that if you use the proprietary nVidia driver you'd need to re-install it before rebooting. Otherwise the X-server will crash on the next boot (yeah, that's experience :P ;))

Best of luck!

(this Howto was correct using Debian Stable and a 3.1.3 kernel, YMMV!)
Dutch_Master
LXF regular
 
Posts: 2471
Joined: Tue Mar 27, 2007 1:49 am

Return to Hints and tips

Who is online

Users browsing this forum: No registered users and 0 guests

cron