Linux Public Driver Touchscreen Installation Instructions

Linux drivers for Elo touchscreens are available in the public domain, typically on Linux installation CDs and various FTP sites such as www.xfree86.org.  These Linux drivers are compatible with Elo AT4 2215, AccuTouch E271-2210, IntelliTouch E281-2310, IntelliTouch 2500S, and CarrollTouch 4000S controllers.  Elo TouchSystems is not responsible for the functionality of these drivers. TouchSystems is not responsible for the functionality of these drivers.

Driver Installation

1. Install Linux and verify that the X Windows System is working correctly. We strongly recommend the system be configured to start in the command line mode and not be configured to start X Windows automatically.

2. Verify that the Elo touchscreen driver file, elographics_drv.o exists. Typically, the file can be found at the following location: /usr/X11R6/lib/modules/input/elographics_drv.o.

For Redhat Linux 7.1 and 7.2

Edit the Configuration File

1. Edit the XF86Config-4 file, normally found in the /etc/X11 directory. The instructions below are for a touchscreen connected to COM one. In step three below, Option "Device" "/dev/ttyS0" specifies the COM port the touchscreen is connected to. Use Option "Device" "/dev/ttyS0" for COM one, Option "Device" "/dev/ttyS1" for COM two, Option "Device" "/dev/ttyS2" for COM three, and Option "Device" "/dev/ttyS3" for COM four.

2. Add the following line to the "ServerLayout" Section:

  Inputdevice "touchscreen1" "SendCoreEvents"

3. Add the following section to the "Inputdevice" section:

  Section "Inputdevice"
    Identifier "touchscreen1"
    Driver "elographics"
    Option "Device" "/dev/ttyS0"
    Option "AlwaysCore"
    Option "screenno" "0"
    Option "MinimumXPosition" "600"
    Option "MaximumXPosition" "3600"
    Option "MinimumYPosition" "600"
    Option "MaximumYPosition" "3600"
    Option "UntouchDelay" "3"
    Option "ReportDelay" "1"
  EndSection

4. Save changes to the XF86Config-4 file.

For Redhat Linux 7.3

Edit the Configuration File

1. Edit the XF86Config-4 file, normally found in the /etc/X11 directory. The instructions below are for a touchscreen connected to COM one. In step three below, Option "Device" "/dev/ttyS0" specifies the COM port the touchscreen is connected to. Use Option "Device" "/dev/ttyS0" for COM one, Option "Device" "/dev/ttyS1" for COM two, Option "Device" "/dev/ttyS2" for COM three, and Option "Device" "/dev/ttyS3" for COM four.

2. Add the following line to the "ServerLayout" Section:

  Inputdevice "touchscreen1" "SendCoreEvents"

3. Add the following section to the "Inputdevice" section:

  Section "Inputdevice"
    Identifier "touchscreen1"
    Driver "elographics"
    Option "Device" "/dev/ttyS0"
    Option "AlwaysCore"
    Option "screenno" "0"
    Option "MinX" "600"
    Option "MaxX" "3600"
    Option "MinY" "600"
    Option "MaxY" "3600"
    Option "UntouchDelay" "3"
    Option "ReportDelay" "1"
  EndSection

4. Save changes to the XF86Config-4 file.For Redhat Linux 8.0.

Edit the Configuration File

1. Edit the XF86Config file, normally found in the /etc/X11 directory. The instructions below are for a touchscreen connected to COM one. In step three below, Option "Device" "/dev/ttyS0" specifies the COM port the touchscreen is connected to. Use Option "Device" "/dev/ttyS0" for COM one, Option "Device" "/dev/ttyS1" for COM two, Option "Device" "/dev/ttyS2" for COM three, and Option "Device" "/dev/ttyS3" for COM four.

2. Add the following line to the "ServerLayout" Section:

  Inputdevice "touchscreen1" "SendCoreEvents"

3. Add the following section to the "Inputdevice" section:

  Section "Inputdevice"
    Identifier "touchscreen1"
    Driver "elographics"
    Option "Device" "/dev/ttyS0"
    Option "AlwaysCore"
    Option "screenno" "0"
    Option "MinX" "600"
    Option "MaxX" "3600"
    Option "MinY" "600"
    Option "MaxY" "3600"
    Option "UntouchDelay" "3"
    Option "ReportDelay" "1"
  EndSection

4. Save changes to the XF86Config file.

Restart X

1. If you configured your system to start X automatically, restart X by pressing Ctrl, Alt, Backspace. If you configured your system to start in a command line mode, type "startx" at the command line prompt. The touchmonitor should automatically be identified and the driver installed. Complete the steps in the Touchscreen Calibration section for accurate video to touch alignment.

Touchscreen Calibration

For Redhat Linux 7.1 and 7.2, the default calibration values in the XF86Config-4 file are MinimumXPosition 600, MaximumXPosition 3600, MinimumYPosition 600, MaximumYPosition 3600.

For Redhat Linux 7.3, the default calibration values in the XF86Config-4 file are MinX 600, MaxX 3600, MinY 600, MaxY 3600.

For Redhat Linux 8.0, the default calibration values in the XF86Config file are MinX 600, MaxX 3600, MinY 600, MaxY 3600.

Whatever version of Linux you are using, the default calibration values need to be manually adjusted for the touchscreen to be calibrated.

1. On CRTs, adjust the video image size and position as desired. The picture must lie within the touchscreen's active area. Using a felt-tip pen or dry marker, mark the video extremes in the corners. The touchscreen must be calibrated to the position of the video image. This step may not be necessary if you are using an LCD since the touchscreen active area should equal the display active area.

2. Boot the PC into DOS mode (booting from a DOS floppy if necessary).

3. Unzip the linux.zip file (available from the Driver and File Downloads page). Load the DOS touch driver, Elodev.exe, with the correct command for the model of controller you are using:

Elodev 2210,1,9600 — if you are using a 2210 controller on COM1
Elodev 2210,2,9600 — if you are using a 2210 controller on COM2
Elodev 2310,1,9600 — if you are using a 2310 controller on COM1
Elodev 2310,2,9600 — if you are using a 2310 controller on COM2
Elodev 2500,1,9600 — if you are using a 2500S controller on COM1
Elodev 2500,2,9600 — if you are using a 2500S controller on COM2
Elodev 4000,1,9600 — if you are using a 4000S controller on COM1
Elodev 4000,2,9600 — if you are using a 4000S controller on COM2

If you are using COM three or above type Elodev at the command prompt for the correct Elodev command line usage.

Once you see "Elodev installed", go to the next step.

4. Start the DOS calibration routine by typing: Elocallx

5. Select the video resolution (VGA, SVGA, etc.) that X Windows will be using with the cursor keys and then press the "Enter" key. The video mode will change.

6. Verify that the video image size and position is identical with the markings.

7. Press 'C' to calibrate in this video mode.

8. From a position of normal use, touch the three targets as they appear.

9. Press 'S' to exit the calibration program.

10. Write down the values of XLow, XHi, YLow and YHi. For example, XLow=567, XHi=3629, YLo=740, YHi=3661.

11. Reboot the Linux operating system. Edit the configuration file used by your system, whether XF86Config or XF86Config-4, and insert the values output by Elocallx, where: 

  MinX or MinimumXPosition=XLow
  MaxX or MaximumXPosition=XHi
  MinY or MinimumYPosition=YLow
  MaxY or MaximumYPosition=YHi 

12. If you configured your system to start X automatically, restart X by pressing Ctrl, Alt, Backspace. If you configured your system to start in a command line mode, type startx at the command line prompt.

Troubleshooting

1. To verify that the touchmonitor is connected correctly to the PC and that it is functioning correctly, type the following command in an X terminal window:

  od -h -w10 </dev/ttyS0 — This is for COM1
  od -h -w10 </dev/ttyS1 — This is for COM2

Touch the screen and you should see a group of numbers scrolling across the screen.

Screen Orientation Issues

Touchscreens are typically designed to be mounted to a display with a specific orientation so that calibration values will increase from left to right for the X-axis and from bottom to top for the Y-axis. If the design of the touchscreen being used does not meet this criteria, is mounted so that it does not meet this criteria, or the touchscreen cable is connected backwards, cursor position will not match the position touched. A typical symptom of this kind of problem after calibrating the touchscreen would be to touch one side of the touchscreen and the cursor would appear on the opposite side of the display. The public driver does not include code to handle screen orientation issues. If this problem occurs, we recommend using Elo's alpha Linux driver. Elo's alpha Linux driver supports Linux versions 6.x and 7.x only at this time, and is available upon request by sending an e-mail to elotech@elotouch.com. Elo's alpha Linux driver contains a calibration program designed to handle screen orientation issues and a touchscreen control panel application.

Contacting Elo TouchSystems

Please send an e-mail to elotech@elotouch.com for assistance.