Using MeeGo Qt Components on Blackberry 10 and Playbook

It is very easy to run the Symbian Qt Components on BB10 and the Blackberry Playbook, running the MeeGo Components is a bit more tricky. Here comes a quick guide how to do it. Thanks a lot to Carlos Martín for doing the hard parts and for helping me getting everything up and running.

Conboy using MeeGo Components on Playbook

I might add more information to this post later, but for now it will be a quick and dirty list of commands needed to compile MeeGo Qt Components for Blackberry and use them on the DevAlpha or the Playbook. Tested only on Playbook, though. I’ll assume you already have experiences with Qt on QNX, the SDK, etc. I won’t go into details here. If you have questions, please contact me via Twitter (corneliushald).

Get the sources of the components that have been freed from MTF dependencies:

git clone git://gitorious.org/~inean/qt-components/ineans-qt-components.git
cd ineans-qt-components
git checkout fremantle-master

There is a small problem with an unknown _exit() function. Instead of properly fixing it we just comment the code (for now ;) ). So search for _exit() and comment it (3 times)

Also a link is wrong, we’re fixing it:

cd src/fremantle/i18n/
ln -sf ../../meego/i18n/mlocalewrapper.h .

Now compile the components:

./autogen.sh
./configure -fremantle -no-maliit -make cssu -force-local-theme -no-mobility -no-xrandr -no-xdamage -nomake extras -nomake examples
make

Copy the components into the directory inside your project where you keep all your Qt libraries. I usually use a folder called “qt” in the root of my project. So that’s what I’m using here as example.

cp -r imports/* <project>/qt/imports/

Now we need to get the theme files and copy them into our project as well:

git clone git://gitorious.org/fremantle-qt-components/qt-components-graphics.git
cd qt-components-graphics
cp -r blanco <project>/qt/themes/
cp -r base <project>/qt/themes/

Last thing is that we need to change the bar-descriptor.xml to include all those files and set the path to the theme. Make sure you have something like this in your file.

<env var="QML_IMPORT_PATH" value="app/native/imports"/>
<env var="M_THEME_DIR" value="app/native/themes"/>
<asset path="qt/imports">imports</asset>
<asset path="qt/themes">themes</asset>

Now inside your QML files you can use “import com.nokia.meego 1.0″ as usual. However there are still some issues: E.g. the window does not scale beyond the original Harmattan resolution. Issues with screen rotation. Several icons are still missing and also I got a crash when opening the text magnifier (OpenGL).

I hope we can somehow work together to make those components run nice and smooth on BB10 and the Playbook. Maybe it even would be possible to add a theme that emulates the Cascades look and feel.