Egalax Touch Screen Driver Linux
KDE, GNOME/Nautilus, OpenWindows, WINE, etc. -- plenty of GUIs make it easier for users to access the power and elegance of Linux applications. What component can be added to this mix to insinuate Linux even more firmly into the consumer device arena? A touchscreen. With a touchscreen, a Linux.
I got a Raspberry Pi 3 and a 15' touchscreen, using VGA for video (I use a converter to plug into the Pi's HDMI) and and USB for touch capabilities.
Out of the box when I boot up with the device plugged in, the usbtouchscreen module handles the device and creates two inputs: /dev/input/event3
and /dev/input/mouse1
. Xorg registers the event3
input and I am able to interact via touch with the system, but not in a way that I'd expect. I cannot click on anything, only move the mouse around. It also does not register the mouse1
input due to no driver found
(more details in log outputs below). Touches register mostly everywhere on the screen except for the extreme corners, but the mouse moves back to near the bottom left corner after every touch. When I say near the bottom left corner, I mean about 1/8th of the screen away from the actual corner on both axes. After putting in the Xorg config to swap and invert axes into 10-evdev.conf
:
The mouse is in the bottom right quadrant. The mouse is also constrained to about 1/2 to 2/3rd of the screen no matter the axis orientation, sort of like a scaling effect. When I click the top left of the screen, the mouse moves to somewhere in the middle of the screen. Same with touching all the other parts of the screen.
I have tried setting Option 'Mode' 'Relative'
in the config, which lets the mouse follow my finger around to anywhere on the screen (so the 0.5x scaling is gone) but it springs back to different locations, progressing and eventually reaching the bottom right corner as 'home position' after presses.

I have tried rebuilding the Raspberry Pi 3 kernel with all of the eGalax/EETI options modularized or included:
Same thing happens as described above.
I have tried following the EETI guide to install their proprietary driver, located at http://www.eeti.com.tw/drivers_Linux.html. I downloaded the eGTouch_v2.5.5814.L-ma
file, tweaked the 4 kernel settings they recommended, applied the source code patches for kernel versions 2.6+
, and built. When I put the kernel onto my Pi SD and booted, the event3
and mouse1
weren't created because they had me remove usbtouchscreen
from the kernel. The guide said I was supposed to see my eGalax touch screen with no handlers (as opposed to mouse1
and event3
I was seeing before) when I ran cat /proc/bus/input/devices
but it didn't show up at all. I additionally am not able to interact at all via touch in this setup.
I've tried flashing Raspbian, Ubuntu MATE, and Arch Linux ARM .img
's and they all behaved the same way, except for one notable exception. Somewhere in the process of me installing Ubuntu MATE and doing an apt update && apt upgrade
as well as an rpi-update
, I tested the screen out for the first time since flashing Ubuntu onto the SD and it worked perfectly! This kills me since once I finished upgrading and rebooted, I was never able to reproduce. I tried re-flashing Ubuntu to no avail. I was confident that it would remain so I didn't get any of the log outputs or configuration parameters that made it come up this way.
My theory is that the mouse1
input is what creates clicks, and that is not being registered. According to the Xorg log below:
Adding input device eGalax Inc. USB TouchController (/dev/input/mouse1) No input driver specified, ignoring this device.
I've tried adding /dev/input/mouse1
to 10-evdev.conf
with Driver 'evdev'
but it gives me the following error message:evdev: eGalax Inc. USB TouchController: Unable to query fd: Inappropriate ioctl for device
. Sounds like evdev doesn't recognize the input being provided by mouse1
. Any other drivers that I can try?
Various log output:
Egalaxtouch Driver
cat /proc/bus/input/devices relevant output:
ls -l /dev/input/by-id/:
lsusb output:
usb-devices relevant output:
ls /dev/input:
Xorg.0.log relevant output:
dmesg relevant output:
10-evdev.conf relevant lines:
If you've read this far, thank you! I figured more info is better than less. Appreciate any pointers.
Burgi
1 Answer
I first thought the issue was that the USB wire being reversed made the monitor work, but it turns out the display moves around inside of the display's housing. It moved just enough to start working when I flipped the USB wire's ends. Very finicky monitor.
Not the answer you're looking for? Browse other questions tagged linuxdriversraspberry-pitouchscreen or ask your own question.
Comments are closed.