The latest release of Qt5 with KMS support is available on OMAP5 and Jacinto6 platforms. The main features validated are OpenGLES 2.0, Neon and KMS.
The example applications tested are :
https://gforge.ti.com/gf/download/docmanfileversion/320/6656/ti-glsdk_omap5-uevm_6_01_00_01.tar.gz
The Qt5 installation is at /usr/local/qt5.1 on this file system. The stock GLSDK 6.01.00.01 filesystem has missing dependencies for building and running Qt5. These libraries and header files have been added to the file system shared above.
The example applications tested are :
- opengl/hellowindow
- opengl/paintedwindow
- gui/analogclock
- widgets/animation/moveblocks
- effects/blurpicket
- OMAP5 uEVM / Jacinto6 EVM
- Qt5.1.0 release
- Linaro GCC 4.7-2013.03 ARM Linux gnueabi hard float cross compiler toolchain
- Ensure that the board boots successfully and the terminal is visible on the display
- Ensure that kmscube application runs on the board
https://gforge.ti.com/gf/download/docmanfileversion/320/6656/ti-glsdk_omap5-uevm_6_01_00_01.tar.gz
The Qt5 installation is at /usr/local/qt5.1 on this file system. The stock GLSDK 6.01.00.01 filesystem has missing dependencies for building and running Qt5. These libraries and header files have been added to the file system shared above.
- Untar the filesystem to the second partition on your SD card. This will replace your current filesystem on the SD card. The same filesystem can be used for both OMAP5 and Jacinto6
- Create a soft link to satisfy Qt5 build time configurations
target # mkdir -p /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01
target # cd /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01
target # ln -s /usr usr
- Initialize SGX as follows:
target # pvrsrvinit
- Set the loader library path
target # export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/qt5.1/lib
- Run the example Qt5 application using kms platform
target # cd /usr/local/qt5.1/examples/opengl/hellowindow
target # ./hellowindow -platform kmsNote
In step 1, if you want to retain your own filesystem, copy /usr/local/qt5.1 from the prebuilt filesystem to your filesystem on SD card. In addition, add the missing dependencies by checking the differences in /lib, /usr/lib and /usr/include between the prebuilt filesystem and your filesystem.
Building Qt5
The mkspecs that configure Qt for OMAP5/Jacinto6 are available at:
https://gitorious.org/tigraphics/qtsupport
- Untar Qt5.1.0 source
- Add the Qt mkspecs directory linux-omap5-g++ into $QT/qtbase/mkspecs
https://gitorious.org/tigraphics/qtsupport/trees/master/qt5-omap5-kms/linux-omap5-g++
- Apply the patch for KMS plugin on qtbase directory
host $ cd $QTDIR/qtbase
host $ patch -p1 < 0001-Remove-GBM_BO_FORMAT-and-use-GBM_FORMAT-directly.patch
- Configure Qt
host $ cd $QTDIR
host $ ./configure -prefix /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01/usr/local/qt5.1 -release -make libs -make examples -nomake tools -xplatform linux-omap5-g++ -opengl es2 -confirm-license -opensource -no-xcb -no-pch -verbose -kms -sysroot /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01 -v -no-icu
- This configures Qt for the following:
- Release mode
- Libraries and Examples are built, but tools are not built
- Cross compiler platform is linux-omap5-g++
- OpenGL ES2
- XCB, PCH, ICU are disabled
- KMS is enabled
- Sysroot is set to /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01. All libraries and header files are picked up relative to this path
- Prefix is set to /home1/anand/targetnfs/ti-glsdk_omap5-uevm_6_01_00_01/usr/local/qt5.1. After building, Qt is installed to this path
- Side effect of having the Qt prefix is that we need to create a symbolic link on the target filesystem that ensures that the prefix is valid even on the target
- Build Qt by running "make"
- Install Qt by running "make install"
TODO
- Execution of certain applications give a PVR map error when run with KMS resulting in a blank screen
- evdevmouse and evdevkeyboard plugins have some problems
- Cursor support is not available
- Webkit2 is not validated
- Testing of features and example applications other than those listed at the top
We are using the DRA7xrex GLSDK 6.10.00.02 . In this qt libraries are not there by default. Could any one give specific details regarding QT building on My TI OMAP57XX target.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHi,\ trying to compile and I run into this.
ReplyDeleteqdrawhelper.cpp:(.text+0x748a): undefined reference to `qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qdrawhelper.o:qdrawhelper.cpp:(.text+0x763e): /lib/libQt5Gui.so.5.5.1' failed