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 '18 at 0:19
  • @hatterman check my answer
    – xinthose
    Jan 15 '19 at 21:28
  • @xinthose I had already sunk hours into trying with that driver. Not working for me.
    – hatterman
    Jan 18 '19 at 10:24
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 '19 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 '19 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 '19 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 '19 at 17:12
-1

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

  1. Install 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
  4. reboot
4
  • 1
    Why start it by cron?
    – Pilot6
    Mar 3 '19 at 14:57
  • @Pilot6 it is the easiest way to run a script as root at time of bootup on Linux
    – xinthose
    Mar 4 '19 at 17:08
  • 2
    No, it is not nether the easiest, not the best way.
    – Pilot6
    Mar 4 '19 at 17:10
  • @Pilot6 that is your opinion; this method works best for my application at the moment
    – xinthose
    Mar 4 '19 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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