Working with the TS050 touch panel in linux

So I am working on a project with the TS050 in linux (still in planned state)
I’ll be using the server image and displaying things using a lightweight graphics lib on the framebuffer console, and I need to know how I can interact with the touch panel driver and get data from it, reading registers to get data (gestures, raw touch coordinates, etc)

can the Khadas team provide any examples to do so ?, thanks! :slightly_smiling_face:

Maybe you can try QT5? We have added QT5 support with Mali GPU under framebuffer mode. And I have checked the demo under TS050 touchscreen, the display and multitouch work well. You can check this documentation.


yes I have checked that out just a few days ago,
I was more interested in using this library with the framebuffer:

I will have to experiment a bit and decide I guess, thanks :slightly_smiling_face:

1 Like

Did you test panel with mainline kernel?

Nope, I still haven’t gotten to testing that,
need to setup a proper compile environment and everything, I will do it a bit later…

@numbqq do you have any clues as to how to setup PyQt5 to work with this setup ?

Try manjaro image with 5.12 kernel

pyQt5 is available.

@Spikerguy its not about PyQt5 installation, I need it to use the framebuffer device :slightly_smiling_face:

Seems that the default version from Ubuntu official repo is built for OpenGL not OpenGL ES, so the default version can not work under framebuffer with gpu support.

1 Like

I have successfully made LVGL work on the TS050 with some modifications and it works with full screen and touch working perfectly, I have to try enabling the screen rotation flags with the library, to see full screen view, but here is the current result:

I will try to upload all code, resources and instructions to github for anyone else interested in this library as soon as I finish some final touches :slightly_smiling_face:


Cool! It based on frambebuffer?

yes, it uses framebuffer for output and evdev for input from the touch panel,
I was fiddling with how to configure the input, realised that the QT tutorial specified the touchscreen input from /dev/input/event3, so I just configured accordingly :grinning_face_with_smiling_eyes:

1 Like

Code is available here:


Interesting work, thanks! I’ll be sure to add it into our next newsletter as part of community happenings :slight_smile:


I made a quick sample of what I was working on earlier, its part of the code from my actual project of a cluster status management panel (to look at quick stats of a simple cluster and see resources used)
that project is still in the works, will release later…

this particular modification just shows the local device stats (the device the program is running on)

code samples are available here at your disposal

have fun


Very cool :slight_smile: you’re using a VIM3?

yep, I have a couple of them now, so I might as well put them to good use :grinning_face_with_smiling_eyes:

unfortunately I haven’t been able to build the cluster yet as I don’t have the other supporting components like ethernet switches and power supplies, as due to the current covid situation in my country has halted all logistics I have to wait a while to obtain those, but till then I’ll be working with what I have just testing it on the software front :slightly_smiling_face:

1 Like

@numbqq @Frank any updates about TS050 support in mainline ?
I tried to see if I could do anything, but its not in my reach to write a new Mipi driver, has any advancements been made ?

best regards

I think it is already present, did you test it?

I have not got time to try it but lets connect during this weekend and try it :wink:

1 Like

I saw related information in the kernel version of 5.12, but I tried it at the time and it couldn’t run.I will find time to test again on 5.14