So it’s not event0. I got many events on event1. So that is it. You can stop now. I’ll come back.
Managed to calibrate it now.
What do you mean?
I saw that the xinput_calibration starts. So I tapped at the crosses appearing. Thought you started it ?
Could tap the crosses and he recognised it
Uh right. Good. I thought it ran an automated calibration. Great. So first:
Section "InputClass" Identifier "calibration" MatchProduct "eGalax Inc. Touch" Option "Calibration" "42 1992 95 1956" Option "SwapAxes" "0" EndSection
This is the correct calibration so please update your app and repush it. As well you will need server-xorg-input-evdev as X server driver. You were missing that too so there was no driver for x to connect to your input devices.
Tell me when you managed to push these changes so I can check everything is Ok.
And one more thing. I removed the app variable related to
ft5406. Your device is not using a ft5406 chip so no need to have that probed. Your touchscreen device works on USB using the egalax driver.
Work like a charm
Thank you. Great work.
The whole thing was updating the calibration and install “xserver-xorg-input-evdev” ?
- Remove the
ft5406overlay as the device is supported by default.
- You need an X driver which connects the input devices to the X server - the opensource one works just fine for your device (xserver-xorg-input-evdev). You can use
xinput(you can install it as well) to see if X can detect your input device. As soon as the X driver was install (and after X restart) you can see that X can detect the input device:
root@raspberry-pi2-cfcd83d:/# DISPLAY=:0 xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ eGalax Inc. Touch id=6 [slave pointer (2)] ⎜ ↳ eGalax Inc. Touch id=7 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
- Using the calibration tool (xinput_calibrator) we generated the correct parameters for the device and used it statically in the app to be persistent for the fleet.
Hope this clarifies.
Ok Everything clear.
Wow Great Work
Thank you very much for the great help !
Sure, anytime. Enjoy!
Hi I am having problem with egalaxy touch screen on Jetson TX2.
Here is my docker,
RUN apt-get update && apt-get install -y --no-install-recommends \ xserver-xorg-core \ xserver-xorg-input-all \ xserver-xorg-video-fbdev \ xserver-xorg-input-evdev \ xorg \ xinput \ x11-apps \ matchbox-window-manager \ xinit \ && rm -rf /var/lib/apt/lists/*
The output of lsusb,
lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 0eef:c000 D-WAV Scientific Co., Ltd Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I can read the data stream on
I think it has correct driver and installation. but the touch screen doesn’t work and xinput cannot find the touch screen,
DISPLAY=:0 xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
I appreciate if someone can help me.
Which version of balenaOS are you using?
In addition is there any logs in
dmesg that might reveal more information?
[ 163.380265] tegradc 15210000.nvdisplay: blank - normal [ 163.519744] tegradc 15210000.nvdisplay: unblank [ 163.546538] tegradc 15210000.nvdisplay: unblank
Hi @CameronDiver ,
Jordan mentioned you were working on this issue. I am wondering if you have any progress.
This is really blocking our integration with Balena
@Farzad could you tell us what happens if you run
Also, is that all you see in dmesg? If you look at the OP there should be something along the lines of:
[160095.551950] input: eGalax Inc. Touch as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0EEF:0001.0003/input/input6
But the more you can post the better.
I’m on the same project as @Farzad.
xinput_calibrator --list returns:
Error: No calibratable devices found.
However, I’ve managed to install drivers from eGalaxy and now our dmesg does show the touchscreen being connected:
[ 11.395695] usb 1-2: new full-speed USB device number 2 using xhci-tegra [ 11.489967] tegra-pcie 10003000.pcie-controller: link 0 down, retrying [ 11.528652] usb 1-2: feature bit otg_vbus_off set [ 11.533389] usb 1-2: New USB device found, idVendor=0eef, idProduct=c000 [ 11.540129] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 11.547295] usb 1-2: Product: eGalaxTouch EXC3000-3619-49.00.00 [ 11.553259] usb 1-2: Manufacturer: eGalax Inc. [ 11.558307] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6 [ 11.580396] input: eGalax Inc. eGalaxTouch EXC3000-3619-49.00.00 as /devices/3530000.xhci/usb1/1-2/1-2:1.0/0003:0EEF:C000.0001/input/input4 [ 11.593146] hid-multitouch 0003:0EEF:C000.0001: input,hidraw0: USB HID v2.10 Pointer [eGalax Inc. eGalaxTouch EXC3000-3619-49.00.00] on usb-3530000.xhci-2/input0
However, the touchscreen still does not appear in
xinput --list. Any idea what’s going on?
@Jin, in case this helps, something to double check is that the X server was successfully started before running the
xinput_calibrator commands. Are you starting the X server with
startx or some other similar command? In another thread (link below), another user reported their issue was that they were trying to run
startx, rather than the other way around. The following worked for them:
# Start application startx /usr/src/app/node_modules/electron/dist/electron /usr/src/app --enable-logging # Wait for X to come up sleep 3 # Rotate display and touchscreen xrandr -o right # this is for screen rotation, probably doesn't apply to you xinput ...
@pdcastro Thank you for the suggestion, but I’ve got it working now.
We found that the balena image we based our image on (balenalib/jetson-tx2-ubuntu:xenial) did not contain the right driver for the eGalaxy touchscreen at the time of this writing. So to get it working I had to manually build this driver from linux master into a kernel module using this balena sample project and load it when starting up the container. I also made sure to set
ENV UDEV 1 in our Dockerfile as well.
@Jin, glad to hear it, and many thanks for sharing your solution here! It will help anyone else who comes across this issue. I’ll also check with the OS team if they think that this driver should be included in the image by default.
@pdcastro Hey, just want to give another update. Turns out we didn’t need the eGalaxy touchscreen drivers after all. All we needed to do was to set
ENV UDEV 1, and install xserver packages:
RUN apt-get update && apt-get install -y --no-install-recommends \ xserver-xorg-legacy \ xserver-xorg-core \ xserver-xorg-input-all \ xserver-xorg-video-fbdev \ xserver-xorg-input-evdev \ xorg \ xinput \ x11-apps \ matchbox-window-manager \ xinit \ && rm -rf /var/lib/apt/lists/*
as well as carrier board drivers. It makes sense, since the driver is already part of Linux core kernel.