Instructions on the usage of the 15.6 inch SAW touchscreen (LCD-15.6TS) under Debian.
This guide is tested with the LCD-15.6TS (with ETT5003U controller), distributed by Olimex LTD. The setup included LCD-OLinuXino-15.6-FHD and A20-OLinuXino-MICRO.
Important: for the hardware connection you would need to provide 5V and 12V to the touchscreen display. A free USB port is also required. The powering to the touchscreen is deliver through a standard 4-pin molex connector.
After all hardware connections are established to get the touchscreen working under the official Linux image do the following:
1. Make sure the USB connection between the display and the board is established before powering the board. If it was connected already reboot the board.
2. Identify the event number of the USB connection of the touschreen. You might plug-unplug the USB connection of the touchscreen to get the proper event number in the console (or use command dmesg | grep ETwo).
3. Create a new 20-ts.conf file or add a new section in the 20-ts.con file (remember to replace the USB event number with the number you got in point 1, we have used event2 as example)
The file location is: /usr/share/X11/xorg.conf.d/20-ts.conf
The file should contain the following:
Identifier "ETwo TouchScreen"
MatchProduct "ETwoTouch Corp. ETwo TouchScreen"
Option "ScreenNumber" "0"
Option "Rotate" "NONE"
Option "Width" "1920"
Option "Height" "1080"
Option "SendCoreEvents" "yes"
Option "Type" "touchscreen"
Remember to replace the event2 number with the number you got in point 1. The configuration is suitable for the FullHD 15.6 inch display. If you are using the 1366x768 (HD-ready) display replace the driver option defaults with "Width" "1366" and "Height" "768".
4. Create a new environment file or edit the environment file (again we have used event2 as our USB event, remember to replace it with the number of event you get in point 1.)
The file location is: /etc/environment
Again remember to replace the event2 number with the number you got in point 1.
5. Now modify and install xf86-input-tslib driver.
xf86-input-tslib allows us to use tslib device like our touchscreen as pointer device.
This driver is old a bit, so while it works with newer Xorg server, it faluts, because xf86InputSetScreen function is removed from Xorg, but driver tries to call it. I had just removed this call from driver's source code and the problem was solved.
Download source code, go to its directory:
git clone git://git.debian.org/git/collab-maint/xf86-input-tslib
Get and apply required patches:
wget https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A13/TOUCHSCREEN/1-xf86tslib-sigfault.patch https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A13/TOUCHSCREEN/xf86-input-tslib-port-ABI-12-r48.patch https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A13/TOUCHSCREEN/xf86tslib-xorg-update.patchh
patch -p0 < 1-xf86tslib-sigfault.patch
patch -p0 < xf86-input-tslib-port-ABI-12-r48.patch
patch -p0 < xf86tslib-xorg-update.patch
Configure, make and install:
5. Reboot the board
6. Calibrate the display - if you are calibrating from the X graphical interface make sure that you are logged as user “olimex” (if calibrating without the X, the user is “root”).
enter the olimex password:olimex
calibrate the touch screen and reboot the board