This part is basically just about Linux OS because the touchscreen works right out of the box in Windows. To be fair, I downloaded Adriane Knoppix 6.7 Live CD, and when you select graphics mode (option 12) LXDE the touchscreen also works out of the box (thanks to Britta who wrote a comment on last Sep. 8th telling me about this distro).
We could go with any distro, but we choose to install Ubuntu 11.04, and it does not get the touchscreen working perfectly by default. I prefer rpm based distros and I am a huge fedora fan, but it would be pretty much the same with fedora 15.
So, first things first… we need to determine the touchscreen model/manufacturer: it´s a eGalax USB Touchscreen … and we can see the detailed info with lsusb, more precisely the info on device 002 on bus 002:
manager@geek-x:~$ lsusb Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 002: ID 13d3:3331 IMC Networks Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 062a:3657 Creative Labs Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 0eef:72e9 D-WAV Scientific Co., Ltd Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 006: ID 1e4e:0102 Bus 001 Device 003: ID 12d1:1404 Huawei Technologies Co., Ltd. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub manager@geek-x:~$ manager@geek-x:~$ lsusb -s 002:002 -v Bus 002 Device 002: ID 0eef:72e9 D-WAV Scientific Co., Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0eef D-WAV Scientific Co., Ltd idProduct 0x72e9 bcdDevice 10.15 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 (there is more but we don´t need it)
With this info we can reach the manufactures site, and the Linux driver (yes they offer a Linux driver.. kudos!):
Here we can download the suitable driver for our Kernel/OS Architecture… it will be something like eGalaxTouch-3.06.5625-32b-k26.tar.gz … gunzip … untar … and we will end with a folder named eGalaxTouch32 or eGalaxTouch64 … inside this folder there is a setup.sh script. This script will handle the entire instalaton proccess (as I said before.. one of the best linux drivers I´ve seen).
Here is the output of the installation procedure (Note that I sudo su to become root.. be carefull):
root@geek-x:/opt# cd eGalaxTouch32/ root@geek-x:/opt/eGalaxTouch32# ll total 12452 drwxr-xr-x 3 root root 4096 2011-08-25 09:39 ./ drwxr-xr-x 3 root root 4096 2011-09-20 23:39 ../ -rw-r--r-- 1 root root 12587347 2011-08-25 09:37 eGalaxTouch.tar.gz -rw-r--r-- 1 root root 54463 2009-04-22 01:17 eula.pdf drwxr-xr-x 2 root root 4096 2011-08-03 06:18 Guide/ -rw-r--r-- 1 root root 5813 2011-08-25 09:39 readme -rwxr-xr-x 1 root root 53959 2011-08-25 09:16 setup.sh* root@geek-x:/opt/eGalaxTouch32# sh setup.sh install (*) Linux driver installer for eGalaxTouch controller (I) Usage: sh setup.sh or sh setup.sh uninstall root@geek-x:/opt/eGalaxTouch32# sh setup.sh (*) Linux driver installer for eGalaxTouch controller (I) Check user permission: root, you are the supervisor. (I) Begin to setup the eGalaxTouch driver. (I) Extract eGalaxTouch driver archive to /usr/local/eGalaxTouch32. (I) Create eGalaxTouch utility shortcut in /usr/bin. (I) Create TKCal tool shortcut in /usr/bin. (I) Check X window version: 1.10.x (I) Copy X module: x110/egalax_drv.so to /usr/lib/xorg/modules/input. (Q) Which interface controller do you use? (I)  RS232  PS/2  USB : 3 (I) Using interface: USB (I) Found a HID compliant touch controller. (I) Copy udev rule: 52-egalax.conf to /usr/share/X11/xorg.conf.d. (I) Create eGalaxTouch utility shortcut. (I) Please reboot the system for some changes to take effect. (I) After booting, type "eGalaxTouch" to do calibration. root@geek-x:/opt/eGalaxTouch32# reboot Broadcast message from manager@geek-x (/dev/pts/1) at 0:17 ... The system is going down for reboot NOW! root@geek-x:/opt/eGalaxTouch32#
OK.. the driver is installed, and I rebooted because I always do that (it´s a Windows thing)…
After the reboot, there will be a program icon in Applications->Accessories->eGalaxTouch Utility … this is the setup and config util. The most important step here is to calibrate the touchscreen, so we go to the Tool tab and begin the proccess by clicking in “Clear Parameter”, the we proceed to the “4Pts Cal” which is the basic four points calibration, and the we proceed to “Linearization” with 25 points… it takes a few minutes to complete, but it increases the precision of the touch position. One last thing… I am using both gok and the onscreen for on-screen-keyboard.. they are pretty easy to understand and configure.
And now we have a fully functional touchscreen tablet with Linux and Windows working side by side!