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:-
Downloaded the source code for qt4.8.7.
-
Downloaded the linaro toolchain : gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.
-
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-stripQMAKE_INCDIR += /home/carplay/Kuber/CrossCompileQt/CrosscompileTSLIB/tslib-master/src
QMAKE_LIBDIR += /opt/tslib-git-linaro4.9/lib- 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.
-
-
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:-
git clone https://github.com/kergoth/tslib.git or https://github.com/kergoth/tslib
-
cd tslib
-
./autogen.sh
-
./configure -prefix=/opt/tslib -host=( arm-linux-gnueabihf)crosscompiler_name.
-
make
-
make install
-
Output files can be found in /opt/tslib/
-
Copy the “tslib” directory to ‘/opt/tslib’ on the Nitrogen 6 Max Board.
-
Uncomment line no. 2 in ts.conf, i.e. ‘module_raw input’
Now the content in ts.conf file will be
# cat /etc/ts.confmodule_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear
-
Copy ‘/opt/tslib/etc/ts.conf’ to ‘/etc’ on the Nitrogen 6 Max Board.
-
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 -
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.
-
-
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/.