Dutch_Master LXF regular
Joined: Tue Mar 27, 2007 2:49 am Posts: 2353
|
Posted: Thu Aug 23, 2012 3:29 pm Post subject: Touch screens and Linux |
|
|
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:
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/linux-input/multitouch-devices.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:
| Quote: | Create a file /etc/udev/rules.d/99-touch.rules with the following content
| Code: | 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: | | 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: | | 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: | | 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 )
Best of luck!
(this Howto was correct using Debian Stable and a 3.1.3 kernel, YMMV!) |
|