Beaglebone Black, Qt5.5 , tslib,QT_QPA_* variable - clarification needed
-
Hello all,
I am having some trouble with eglfs and touch interaction with my system and will appreciate any guidance and words of wisdom from more experienced users than myself. a brief overview of my setup is as follows.
Beaglebone Black Rev C
Newhaven 4.3 480x272 lcd with FT capacitive touch mutli-touch screen(driver fully supported by kernel)
Kernel : 3.14.49-ti-r73
graphics: Graphics_SDK_setuplinux_5_01_01_02
rootfs : eewiki_minfs_debian_jessie_armhf
compiler : Linaro 4.9.2This is accessed via tftp boot and the rootfs is a nfs share which is completely up to date and have all the development package installed to cross compile Qt5.5.0. TSlib is also built and installed directly in /usr, and Qt is installed in /opt/qt5/
Qt is configured, built and installed with no problems and all the required functionality is auto-detected during configuration (tslib, udev, mtdev, alsa, egl, etc, etc).
these are the environment variables set -
export TSLIB_TSEVENTTYPE=INPUT
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/usr/etc/pointercal
export TSLIB_CONFFILE=/usr/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=noneexport QT_QPA_EGLFS_DISABLE_INPUT=1
export QT_QPA_EGLFS_TSLIB=1
export QT_QPA_GENERIC_PLUGINS=tslib
export QT_QPA_PLATFORM=eglfs
export QT_PLUGIN_PATH=/opt/qt5/plugins
export QT_QPA_EGLFS_HEIGHT=272
export QT_QPA_EGLFS_WIDTH=480
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=54
export QT_QPA_EGLFS_PHYSICAL_WIDTH=96
export QT_DEBUG_PLUGINS=1the default user "debian" is also member of the "video"(/dev/fb0) and "input"(/dev/input/event1) groups and I can launch programs like ts_calibrate and ts_test directly without having to use sudo.
My problems are the following:
-
when launching a program the debug output always shows that the physical screen size could not be detected and has to be manually set, although the values are set and exported before program launch.
-
Although tslib is installed, configured, tested and the environment variables set, an eglfs program seems to be completely un-calibrated - the axis are NOT reversed.
-
when swapping the plugin from tslib to normal inbuilt eglfs input support there is very similar functionality although, running event test program, the output shows correct behavior for single touch and multi-touch and the screen coordinates are reported correctly.
I access the Beaglebone via ssh:
Any ideas ?
Thanks
Rob
-
-
Update: After rebuilding everything from scratch and trying different settings and configurations, I found that unless you are logged in as root, Qt does not operate correctly, even when the user has permissions for fb0 and input and even launching a program with sudo, the QPA parametrs are not acknowledged.
When running as root, everything works like it should, except for evdevtouch.
Still trying to figure out why and how and there seems to be dead silence everywhere. -
Hi and welcome to devnet,
You should try starting your application with QT_DEBUG_PLUGINS=1 to see if there's any hint about what is going on