How to configure a Touchscreen under X for Linux. (Fedora 8)

Installing the OS

Please follow the Installing_Fedora5 instructions for Fedora installations.

Additional configuration

This document was written with a unit from Senor Tech. The machine must be setup using a standard USB mouse (for graphical mode) because initially the touch screen will not work. The touch screen is internally connected to serial port ttyS1. ttyS0 is hooked up to the internal Customer display. ttyS2 and ttyS3 are cabled out through the back and are available for other serial devices.

Before installing over the default windows XP installation, I checked the touch screen drivers and they were provided by a company called "ELO Touch systems". Precompiled drivers are available for a lot of Linux distributions/kernels. It would have been simple to just use the provided pre-compiled driver for Fedora Core 8's default kernel, but this kernel lacks support for the internal 10/100/1000 ethernet port. A later version of the kernel (using yum) would now support the ethernet port, but the driver would have to be recompiled.

The Unified Serial Driver can be found here or just download the latest from their website on this link:http://www.elotouch.com/Support/Downloads/dnld.asp#linux Copy the driver files to /etc/opt/elo directory

mv <Extracted Path> /etc/opt/elo

Note the new drivers should go to /etc/opt/elo-ser. If you get some segmentation faults with the utility programs this would be one the causes.

Compile and build the kernel module "elok_s.ko". Check if kernel module compiles without any errors and then copy it to /etc/opt/elo directory. You need gcc and kernel-devel installed

yum install gcc kernel-devel
cd /etc/opt/elo/elok_s-source
cp makefile_2.6 Makefile

Copy elok_s.ko to the /etc/opt/elo folder.

cp /etc/opt/elo/elok_s-source/elok_s.ko /etc/opt/elo/

Use chmod to grant full permissions to all the files

cd /etc/opt/elo
chmod 777 *

Copy and place the X display Elo component file in the proper location (this is for fedora 8/xorg 1.3, for other version, read the readme file)

cp /etc/opt/elo/elo_drv.so_13 /usr/lib/xorg/modules/input/elo_drv.so

Modify the /etc/X11/xorg.conf file:

  1. Add the Following lines to the end of the file to create a new Elo device configuration.
    Section "InputDevice"
        Identifier "elo"
        Driver "elo"
        Option "Device" "/dev/input/elo_ser"
        Option "SendCoreEvents" "True"
    EndSection
  2. Add the following line to the ServerLayout section to include the elo input device.

         InputDevice "elo" "SendCoreEvents"

Install the elocontrol(elok_S) module by running:

./install.sh

Edit the /etc/rc.d/rc.local file and append the following lines to the end:

/etc/opt/elo/loadelo
/etc/opt/elo/eloser ttyS1

Reboot the system to complete installation:

shutdown -r now

After rebooting, calibrate the touch screen using the following commands:

cd /etc/opt/elo
./elova -nvram

use ./elova /? to view other calibration options.

If the above does not run, you will need to install openmotif. A rpm is available from the ccrma repository. Install this and create a symbolic link to libXm.so.4:

rpm -ivh openmotif-2.3.0-0.3.fc8.ccrma.i386.rpm
cd /usr/lib
ln -s libXm.so.4.0.0 libXm.so.3

That should allow elova to run. There is also a graphical control panel called cpl.

On a side note, you may want to disable the built in screen blanker since LCD panels do not burn in, it is safe to leave the screen on the whole time. Run gnome-control-center. Go to power management and then set "put display to sleep when inactive for" to never


Installing_Touchscreen_on_Linux (last edited 2013-09-18 06:09:34 by localhost)