Important: Please read the Qt Code of Conduct -

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.2

    This 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_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 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_DEBUG_PLUGINS=1

    the 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:

    1. 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.

    2. 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.

    3. 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 ?



  • 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.

  • Lifetime Qt Champion

    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

Log in to reply