Back to Blog home

Testing QtQuick 2 (Qt 5) on your n9/n950

Published on Monday November 21, 2011 by dcarr in Qt Quick Embedded OpenGL QML Qt qt quick Lighthouse Maemo MeeGo Multimedia | Comments

QtQuick 2 promises superior performance, a new particle system and a host of new possibilities:

http://doc.qt.nokia.com/qt5/qtquick2-whatsnew.html

It is also quite ripe for testing if you are into that kind of thing. This is my personally recommended approach to testing QtQuick 2 on your n9(50) at this point in time and I have to stress that these steps are not officialy sanctioned. I don't like chroot environments, and since my builds are restricted to Qt which uses the ever rational qmake build system (lone vocal fanboi here) which respects build (qmake profile) sovereignty, I don't feel I need one. This is an alternate build approach to the webkit team's approach linked to below and if you would rather follow in the footsteps of wisdom you might want to tail them.

The Webkit team were gracious enough to jot down these instructions:

http://trac.webkit.org/wiki/BuildingQt5OnHarmattan

which I used to setup the sysroot subsequently employed in my mkspec, available here:

https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/5.0/linux-harmattan-g++/qmake.conf

This mkspec clearly has to be adjusted to reflect your local dev paths.

0) Realize this is dangerous and might require the reflashing of your device/loss of user data
1) Install the dependencies (as documented in the webkit teams instructions above) in your HARMATTAN_ARMEL target under scratchbox
2) Replace any fully qualified symlinks under $HARMATTAN_ARMEL/usr/lib with relative ones
3) set PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH in relation to your SYSROOT
4) Run configure directly from qtbase
5) Use the resulting qmake to build the qtdeclarative module
6) Deploy Qt and the required xcb libs to the device (you will need to be root, supplement the existing files don't override exist files)

You can use:

objdump -x ./plugins/platforms/libxcb.so

to establish what dependencies need to be fulfilled. Up until every required library is present, Qt is gonna tell you that the XCB backend does not exist.

I personally use shadow builds (build out of source) since I am targetting a wide range of devices and discard my builds with fair insane regularity. I have no hit any issues using them in Qt5 when targetting qtbase/qtdeclarative.

Similar steps would clearly probably work for the n900 but, alas, the version of xcb packaged as part of the Fremantle SDK is too old to be used with the XCB QPA backend as it stands. It will take a braver man than me with more time to kill to get that turkey airborne at this point in time. (I also managed to render my Meego 1.2.9 CE unbootable by trying to install the build dependencies, so I don't see any really convenient avenue for QtQuick 2 experimentation on the n900. Prove me wrong)

Bon appetizer:

http://www.youtube.com/watch?v=ARpK4V3Jr40

Graphic proof of flight, incase you are faring poorly and suspecting that I am a fibber.

Update

The Webkit guys (who tend to have their soup together) have created packages for Qt 5 (along with packing up all the xcb dependencies)

http://trac.webkit.org/wiki/BuildingQt5OnHarmattan

 

no money back guarantee offered, these packages could quite possibly consume your poodle.

Subscribe to Our Blog

Stay up to date with the latest marketing, sales and service tips and news.

The blog comment system has been migrated to a new platform. If you face any issues, please let us know via feedback@qt.io.