3

I'm trying a Egalax touchscreen to work for a TPV on Ubuntu 18.04, but everything I tried didnt work at all. I tried to make it work with "calibrate touchscreen" as Ubuntu seems to detect the screen correctly, but no input at all from calibration. I tried with the Egalax driver as this tutorial: https://wiki.ubuntu.com/Touchscreen

And This other: eGalax Touchscreen Configuration Ubuntu 14.04LTS

But no luck. Nothing happens when I touch the screen. Here is my lsusb:

> tpv@tpv-desktop:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 002: ID 116f:c108 Silicon 10 Technology Corp. Flash Card Reader
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 005: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Bus 004 Device 003: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 004 Device 002: ID 248a:8367  
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 011 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 010 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

xinput -list

 xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Telink Wireless Receiver                  id=8    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ eGalax Inc. USB TouchController           id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Telink Wireless Receiver                  id=9    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=10   [slave  keyboard (3)]
    ↳ Telink Wireless Receiver                  id=13   [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=14   [slave  keyboard (3)]

and

xinput -list-props 12
Device 'eGalax Inc. USB TouchController':
    Device Enabled (150):   1
    Coordinate Transformation Matrix (152): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Calibration Matrix (307):  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Calibration Matrix Default (308):  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Send Events Modes Available (272): 1, 0
    libinput Send Events Mode Enabled (273):    0, 0
    libinput Send Events Mode Enabled Default (274):    0, 0
    Device Node (275):  "/dev/input/event13"
    Device Product ID (276):    3823, 1

Any help to make a Egalax touchscreen to work with Ubuntu 18.04 whould be appreciated.

Thanks

3
  • 1
    I am having the exact same problem, sunk a few days into this now. I am keen for some help ....
    – hatterman
    Dec 11, 2018 at 0:19
  • @hatterman check my answer
    – xinthose
    Jan 15, 2019 at 21:28
  • @xinthose I had already sunk hours into trying with that driver. Not working for me.
    – hatterman
    Jan 18, 2019 at 10:24

4 Answers 4

2

This is working on 5 of my machines and has the advantage that you can stop and start the touchscreen with systemD (systemctl status eGTouch.service)


Download the latest touchscreen driver from eGalax Untar the files

tar xvzf eGTouch_v2.5.5814.L-x

Run setup

sudo ./setup.sh

Create the SystemD .service file.

sudo systemctl edit --force --full eGTouch.service

Paste the following unit file modification

#######################################################
#### eGalax Touch Unit File for auto start on boot ####
#######################################################
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/usr/bin/eGTouchD
DefaultDependencies=no
Before=sysinit.target
After=apparmor.service

[Service]
Type=forking
Restart=always
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
TimeoutSec=0
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=no
User=root
Group=root
ExecStart=/usr/bin/eGTouchD start
ExecReload=/usr/bin/eGTouchD restart
ExecStop=/usr/bin/eGTouchD stop

[Install]
WantedBy=multi-user.target
################################################

Then enable it

sudo systemctl enable eGTouch.service

Then restart it

sudo systemctl restart eGTouch.service

Then reboot

sudo reboot
4
  • Please note that the eGTouch_v2.5.6722.L-x.tar.gz driver is Broken! It throws the following error on a fresh install of Ubuntu 18.04LTS. (EE) event14 - eGalaxTouch Virtual Device for Single: kernel bug: device has min == max on ABS_TILT_X I've reported this to the vendor. Hopefully they will come up with an updated driver soon. Mar 3, 2019 at 15:20
  • 1
    've located the problem it's is in the the eGTouchD binary file. I installed the 2.5.6722.L-x driver before rebooting I replaced the eGTouchD binary with the v2.5.5814 version of eGTouchD binary in /usr/local/eGTouch64withX/eGTouchD rebooted. Now the touchscreen works properly. Mar 3, 2019 at 16:49
  • 1
    It looks to me like setup.sh already creates the systemd service. It creates a service called "eGTouchD.service". Using your instructions makes it so there are two services. Is this the intended result? Also, these instructions are the same as listed here: docs.google.com/document/d/… Mar 3, 2019 at 21:49
  • @EvandelaCruz the default installed service fails to work on my Ubuntu, which is why I just run the script as root
    – xinthose
    Mar 4, 2019 at 17:12
0

I got it working for me. (USB connection, Ubuntu 18.04 64-bit)

  1. Download and install the eGTouch driver. Unpack the .tar.gz and run setup.sh as root. Answer the prompts according to your needs.
  2. Run this as root: crontab -e
  3. Add this line: @reboot /etc/init.d/eGTouch.sh
  • run this script at boot as root, will not work otherwise
  1. reboot
4
  • 2
    Why start it by cron?
    – Pilot6
    Mar 3, 2019 at 14:57
  • @Pilot6 it is the easiest way to run a script as root at time of bootup on Linux
    – xinthose
    Mar 4, 2019 at 17:08
  • 3
    No, it is not nether the easiest, not the best way.
    – Pilot6
    Mar 4, 2019 at 17:10
  • @Pilot6 that is your opinion; this method works best for my application at the moment
    – xinthose
    Mar 4, 2019 at 17:14
0

My solution was the following. (USB connection, Ubuntu 18.04, 64 bits)

What I did first was identify the driver:

xinput list

and then

  1. Download and install the eGTouch driver.

    wget https://www.eeti.com/touch_driver/Linux/20210716/eGTouch_v2.5.10206.L-x.tar.gz
    
  2. Extract the tarball

    tar zxvf eGTouch_v2.5.10206.L-x.tar.gz
    
  3. Run setup.sh as root.

    cd eGTouch_v2.5.10206.L-x
    sudo ./setup.sh
    
  4. Next, cd to /usr/bin and run ./eGTouchU

    cd /usr/bin
    sudo ./eGTouchU
    
  5. This command opens the eGTouch GUI.

  6. Go to the Tool tab.

  7. Click Clear Parameter and click the four points on the screen.

    eGTouch screenshot

    Problem solved.

1
  • Hi - and thanks for this. If this can be converted to english either by yourself or a member of the community then please do edit and update. cheers.
    – fossfreedom
    Jan 7, 2022 at 10:17
0

You can manually setup a mapping of the USB touch to X11:

  1. Use "xrandr" to identify the touchscreen crtc name, such as "DP-1"
  2. Use "xinput --list --name-only" to get USB touch name
  3. Use "xinput --map-to-output" to map the two.

My system is Ubuntu 16, Elo touchscreen as primary monitor.

$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.95  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 476mm x 267mm
   1920x1080     60.00*+  59.94    50.00  
   1600x900      60.00  
 
$ xinput --list --name-only
Virtual core pointer
Virtual core XTEST pointer
PixArt Dell MS116 USB Optical Mouse
HP USB Slim Keyboard
Elo multi-touch digitizer - 0 - 0eef:7200
Virtual core keyboard
Virtual core XTEST keyboard
Power Button

Final setup command. I placed it in "~/.xprofile".

xinput --map-to-output "Elo multi-touch digitizer - 0 - 0eef:7200" DP-1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.