This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Regarding adding support of opengl in Qt4.8.4 for dra7xx-evm

Hello,

We are working on dra7xx-evm(OMAP5777)  board. Here we are using these things:

1.  linux-3.12 kernel

2. Toolchain- gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.

3. Filesystem- arago-glsdk-multimedia-image-dra7xx-evm.

4. glsdk_6.10.00.02

We are trying to build Qt4.8.4 with opengl support for dra7xx-evm.

 

Below is the attached qmake.cfg file, what we are using for building Qt.

0830.qmake.txt

 To configure Qt4.8.4 for  adding  support of opengl, We are using the following configuration.

./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/Qt-opengl -little-endian -no-webkit -no-qt3support \
-no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -no-pch -opengl es2 \
-nomake examples -nomake demos -no-declarative \

But we are getting the following error:

All the OpenGL ES2 functionality tests failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
/home/mistral/qt-everywhere-opensource-src-4.8.4/mkspecs/qws/linux-arm-g++.

Please help us in this regard.

Regards

Naveen

  • Hi Naveen,

    Have you tried exporting:

    export QMAKE_INCDIR_OPENGL="/opt/src/usr/include/GL"
    export QMAKE_LIBDIR_OPENGL="/opt/src/usr/lib"
    export QMAKE_LIBS_OPENGL="/opt/src/usr/lib"

    and then executing the configuration

    or including the following:

    env CPPFLAGS="-I/opt/src/usr/lib/ -I/opt/src/usr/lib/dri/ -I/opt/src/usr/include/ -I/opt/src/usr/include/GL" LDFLAGS="-L/opt/src/usr/lib"

    before the ./configure line?

    Regards,

    Boyko

  • Hello Boyko,

    Thanks for the quick reply.

    As per our set-up, we did the following.

    export QMAKE_INCDIR_OPENGL="/home/mistral/rootfs/usr/include/GL"
    export QMAKE_LIBDIR_OPENGL="/home/mistral/rootfs/usr/lib"
    export QMAKE_LIBS_OPENGL="/home/mistral/rootfs/usr/lib"

    We also tried adding following in the qmake.cfg


    QMAKE_INCDIR_OPENGL = /home/mistral/rootfs/usr/include/GL
    QMAKE_LIBDIR_OPENGL = /home/mistral/rootfs/usr/lib
    QMAKE_LIBS_OPENGL   = /home/mistral/rootfs/usr/lib

    This too.

    export QMAKE_INCDIR_OPENGL="/home/mistral/rootfs/usr/include/GLES"

    export QMAKE_INCDIR_OPENGL="/home/mistral/rootfs/usr/include/GLES2"

    But still we are getting the same problem.

    Please help in this regard.

    Regards

    Naveen

  • Hi Naveen,

    Did you try my other sugestion to add to the configuration command?

    env CPPFLAGS="-I/opt/src/usr/lib/ -I/opt/src/usr/lib/dri/ -I/opt/src/usr/include/ -I/opt/src/usr/include/GL" LDFLAGS="-L/opt/src/usr/lib" ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/Qt-opengl -little-endian -no-webkit -no-qt3support \
    -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -no-pch -opengl es2 \
    -nomake examples -nomake demos -no-declarative \

    Regards,

    Boyko

  • Hello Boyko,

    As per our set-up, we have tested  this too.

    env CPPFLAGS="-I/home/mistral/rootfs/usr/lib/  -I/home/mistral/rootfs/usr/include/ -I/home/mistral/rootfs/usr/include/GL" \
     LDFLAGS="-L//home/mistral/rootfs/usr/lib" \
    ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix  /usr/local/Qt-opengl -little-endian -no-webkit -no-qt3support \
    -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -no-pch -opengl es2 \
    -nomake examples  -nomake demos -no-declarative \

    But still the same problem.

    Regards

    Naveen

  • Hello Boyko,

    We have tried these steps as mentioned by you, but still we are facing the same problem.

    Is there any official guide which details Qt integration with OpenGL for DRA7xx platform ?

    we are really struggling to bring this up, for we are not able to find right documentation/ support to do the same.

    please do the needful for we have to bring the Qt with OpenGL up on the AM5777 EVM at the earliest possible (our project is a critical deadline phase).

    Thanks Naveen.

  • Hello Boyko,

    We failed to maintain that we are getting the following complete error .

    You have not explicitly asked to use pkg-config and are cross-compiling.
    pkg-config will not be used to automatically query cflag/lib parameters for
    dependencies

    The OpenGL ES 2.0 functionality test failed!
     You might need to modify the include and library search paths by editing
     QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
     /home/mistral/Raji/Qt_SetUp/qt-everywhere-opensource-src-4.8.4/mkspecs/qws/linux-arm-g++.

    Regards

    Naveen

  • Hello Boyko,

    We have solved this problem using Qt5.1. Here we are able to build Qt5.1 with opengl es2.

    We are using the following qmake.cfg  file attached below.

    3531.qmake.txt

    The configuration is:

    ./configure -prefix /home/rahulravi26/targetfs_6.10.00.02/usr -release -make libs -make examples -nomake tools -xplatform linux-omap5-g++ -opengl es2 -confirm-license -opensource -no-xcb -no-pch -verbose -kms -sysroot /home/rahulravi26/targetfs_6.10.00.02 -v -no-icu 

     


    After that we tried to build one sample example in  /home/rahulravi26/qt-everywhere-opensource-src-5.1.0/qtbase/examples/opengl/hellogl.


    But we got the following error attached below as snapshot.

    All the errors, what  we have observed are basically related to opengl API.

    Please help in this regard.

    Regards

    Naveen

  • Hi Naveen,

    Open GL and OpenGL ES are two different APIs. Looking at your config it seems you have built the QT with OpenGL ES (-opengl es2) support. Try building hellogl_es2 instaed of hellogl.

    Regards,

    Vikash

  • Hello Vikash,

    Now we are able to build hellogl_es2.

    Our configuration for building  Qt5.1 :

    ./configure -prefix /usr/local/qt5.1_no-xcb -release -make libs   -xplatform linux-omap5-g++ -opengl es2 -confirm-license -opensource -no-xcb -no-pch -verbose  -sysroot /home/mistral/targetfs_6.10.00.02 -v -no-icu -no-openvg

    After that  Qt5.1 is installed on /home/mistral/targetfs_6.10.00.02/usr/local/qt5.1_no-xcb location.

    We did the following step:

    export LD_LIBRARY_PATH=/mnt/home/mistral/targetfs_6.10.00.02/usr/local/qt5.1_no-xcb/lib/:$LD_LIBRARY_PATH

    Here we are trying to run hellowindow opengl example.


    Before running hellowindow example,  we checked for kmscube example which was working for the board.

    root@dra7xx-evm:~# /mnt/mistral/targetfs/hellowindow  -platform kms

    We are getting the following error, even for the hellogl_es2 opengl example:


    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
    failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
    failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
    loaded module: gbm_pvr.so
    PVR:(Warning): PVRSRVOpenDCDevice: Warning - 138 returned [80, /bridged_pvr_dc_glue.c]
    kms initialized with geometry QRect(0,0 1280x800)
    gbmpvr: ERROR: gbm_pvr_bo_create:178: invalid format: 0
    gbmpvr: ERROR: gbm_pvr_surface_create:234: allocation failed!

    Please help in this regard.

    Regards

    Naveen

     

  • Hello Vikash,

    We have solved this problem with the kms patch provided for Jacinto6 with GLSDK 6.01.00.01 :

    http://tigraphics.blogspot.com/2013/08/qt5-with-kms-omap5-jacinto6.html

    The patch tells us  to change M_BO_FORMAT_XRGB8888 to M_FORMAT_XRGB8888.

    Very Imp :This patch needs to be made available for the users using Qt5 (with kms) on AM5777 with GLSDK 6.10.00.04. We couldn't find any documentation suggesting the same.

    Thanks  Naveen