openSUSE :: eGalaxTouch X.Org input driver in Open Build Service
Let’s start by saying that the eGalaxTouch is a X.Org input driver developed by EETI for their touch screens.
Here you can download the suitable driver for your Linux Kernel and architecture. After untar it you will get a directory named eGalaxTouch32 or eGalaxTouch64. Inside this directory you can find a setup.sh script. This complicated script will handle the entire instalaton proccess. It works fine, but the script blasted files and symbolic links all over the filesystem, and there is no way to clean it. As a packager I want to use more professional mechanism to install or remove it. So I built a RPM/DEB packages for that.
How it works?
There are just 4 things that you needed to care about: egalax_drv.so, the binary driver used by the X.Org server; eGalaxTouch, the utility for calibrating and setting preferences; TKCal, a lower level utility for setting options in the hardware; and script also add some information about new configuration to X.Org config-file (I changed it: package create the new config file called /etc/X11/xorg.conf.d/50-egalax.conf).
Section "InputDevice" Identifier "EETI" Driver "egalax" Option "Device" "/dev/ttyS1" Option "Parameters" "/var/lib/eeti.param" Option "ScreenNo" "0" EndSection
As you can see I use /dev/ttyS1. EGalaxTouch support S232, USB, PS2, and I2C controllers. So, if you use, for example, USB, you have to change device-string like this:
Option "Device" "usbauto"
Here is also one important thing what you have to know: X.Org server and input drivers/modules should have same versions (support same API). EGalaxTouch driver contain modules for different X.Org versions. That means, that package have to check X.Org version during installation to know which input module should be used. I tested package on openSUSE 11.4/12.1 and Ubuntu 10.04 and it looks stable. Anyway, let me know if it will not works for you.
Don’t forget after installing the package and restarting X.Org Server also run eGalaxTouch and TKCal. This will let you calibrate the touchscreen. It takes a bit time to complete, but it increases the precision of the touch position.
Good luck and happy touching 🙂