Touch on Linux


#1

I am using Linaro 16.06 release and trying for touch on Linux. The driver for touch is able to handle x and y coordinates whenever I touch. And I also got the correct values of coordinates. And for calibration I am using tslib source. I got the correct image for ts_calibrate but after that I am not able to move crosshair. Please help me in that case.


#2

It sounds like you might have touch hardware that is supported by tslib but not supported by the kernel (or perhaps not enabled in the kernel config).

What touch hardware are you trying to use? If its USB base then as well as hardware details it would be good it you can hotplug it and share the last few lines of the “dmesg” command; the kernel will tell us is any kernel drivers bind to it. That would be the starting point to investigate the level of kernel support (it is also good to try plugging it into an x86 Linux workstation and running the same “dmesg” test).

The other thing you could look at is how to get the X11 tslib userspace drivers working. tslib isn’t much used these days to the tutorial material is getting rather old though. Something like:
https://boundarydevices.com/debian-in-more-depth-adding-touch-support/


#3

Its not USB base. I am using touch panel ssd2080m connected through dsi. And using himax hx8527-d48 driver for the same.


#4

I’ve struggled to find any publicly available information about either SSD2080M and HX8527-D48. However it looks to me like SSD2080M include a built-in touchscreen controller so I assume that is the role of HX8257-D48?

Unfortunately I’m afraid I can’t find any driver in the kernel that supports HX8257 (I tried “git grep [hH].*852” and came up with nothing). I’m afraid that means there is little I can do to help you here, you’ll need to work with the manufacturer.


#5

You are right. SSD2080M includes built-in touchscreen controller. And with same hardware its working on android. I checked the touch support in config file for Linux 16.06. I didnt find any mistake over there. still at the time of calibration I am not able to move crosshair.


#6

I forgot to mention - No driver file of named hx8257 is included in kernel. I added the driver file of himax 8527 in the kernel of Linaro 16.06 And its working thats why it gives me correct co-ordinates for x and y while touch.


#7

Thanks for that detail. I really been confused about how you could be getting touch messages back at all!

I haven’t got a 96Boards touchscreen, so the thing I would be doing to help people at this point is intelligently filtering a google search. Your work so far is pretty sophisticated so I’m sceptical that I would be any better at filtering a web search than you are.

However feel free to keep bouncing ideas around, especially so if you can share your driver code! This sounds like the problem is in userspace plumbing so knowing what sub-system the driver is plumbed through can be helpful (right now the best thing we can do is try to figure out how your system is different to an x86 PC with a touchscreen).


#8

Ya definitely. Thanks for your support. I am trying to solve that issue.