Touch for Qt GUI application is not working for my Nitrogen 6 Max Arm Board.



  • Hi.
    I have cross compiled Qt for my Nitrogen 6 Max (Arm) Board.
    I followed these steps:

    1. Downloaded the source code for qt4.8.7.

    2. Downloaded the linaro toolchain : gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.

    3. Modified the qmake.conf file in directory:
      /qt4.8.7/mkspecs/qws/linux-arm-g++

    $modifications to g++.conf
    QMAKE_CC = arm-linux-gnueabihf-gcc
    QMAKE_CXX = arm-linux-gnueabihf-g++
    QMAKE_LINK = arm-linux-gnueabihf-g++
    QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++

    $modifications to linux.conf
    QMAKE_AR = arm-linux-gnueabihf-ar cqs
    QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
    QMAKE_STRIP = arm-linux-gnueabihf-strip

    QMAKE_INCDIR += /home/carplay/Kuber/CrossCompileQt/CrosscompileTSLIB/tslib-master/src
    QMAKE_LIBDIR += /opt/tslib-git-linaro4.9/lib

    1. And configure command:
      ./configure -prefix /opt/Qt4.8.7 -embedded arm -xplatform qws/linux-arm-g++ -qt-kbd-linuxinput -qt-mouse-tslib -opensource –v

    After lots of error resolve finally Qt Compilation is done successfully. Now I copied the opt/Qt4.8.7 folder to the /opt/Qt4.8.7 directory of Nitrogen 6 Max Board.

    All the console application is working fine. But whenever i create any GUI application it will display GUI on the screen but if i touch anywhere on the screen that much part will be updated with desktop.

    So basically GUI applications are not running properly.
    Please help me regarding this.

    Thanks in advance.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Did you configure tslib properly to run on your board ?



  • Thanks S Gaist...
    I cross compile Tslib and copied all to target filesystem. I followed following steps:

    1. git clone https://github.com/kergoth/tslib.git or https://github.com/kergoth/tslib

    2. cd tslib

    3. ./autogen.sh

    4. ./configure -prefix=/opt/tslib -host=( arm-linux-gnueabihf)crosscompiler_name.

    5. make

    6. make install

    7. Output files can be found in /opt/tslib/

    8. Copy the “tslib” directory to ‘/opt/tslib’ on the Nitrogen 6 Max Board.

    9. Uncomment line no. 2 in ts.conf, i.e. ‘module_raw input’
      Now the content in ts.conf file will be
      # cat /etc/ts.conf

      module_raw input
      module pthres pmin=1
      module variance delta=30
      module dejitter delta=100
      module linear
      
    10. Copy ‘/opt/tslib/etc/ts.conf’ to ‘/etc’ on the Nitrogen 6 Max Board.

    11. Call the following from the Board command line (or make a script):
      a. export QWS_MOUSE_PROTO=tslib:/dev/input/event0
      b. export TSLIB_CALIBFILE=/etc/pointercal
      c. export TSLIB_CONFFILE=/etc/ts.conf
      d. export TSLIB_PLUGINDIR=/opt/tslib/lib/ts

    12. Run ‘ts_calibrate’ and complete the calibration.

    But when i ran the "ts_calibrate" program its draw a layer on desktop with black color to calibrate the mouse and display a cross sign on left top corner. Now to calibrate i have to touch that cross sign on the screen. But when i touch that cross sign it will update desktop image for that area(in other word running ts_calibrate's gui will go off for that position).
    So I am not able to calibrate using ts_calibrate exe.

    But If I ran "ts_print" or "ts_print_raw" exe and then touch on the screen, it will display the touch positions on the console.

    Thanks.


  • Lifetime Qt Champion

    Desktop ? What desktop ?



  • I am working on Nitrogen6 Max Board using Ubuntu Trusty for i.MX6 boards img (light weight desktop environment).
    I have downloaded img file from timesys for direct use http://boundarydevices.com/trusty-ubuntu-mx6/.



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.