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.

  1. Egalaxtouch Driver
Active2 years, 6 months ago

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.

Egalax Touch Screen Driver Linux

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
4,52810 gold badges29 silver badges45 bronze badges
Ashish NarasimhamAshish Narasimham
Egalax touchscreen driver linux

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.

Ashish NarasimhamAshish Narasimham

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

Comments are closed.