Marble Touch supports both the Qt Components for Meego and the Plasma Components (for touch). This article describes how to setup and run marble-touch for Plasma Active (using plasma components in the touch platform variant).


We'll briefly cover the prerequisites needed -- an installation of Qt 4.7 or later, an installation of the plasma components from KDE 4.9 or later and the setup of environment variables -- and the compilation of Marble. At the time of writing KDE 4.9 was not released yet, so we'll perform a local installation of kdelibs and kde-runtime which in turns brings you the required version of plasma components.

Qt and other System Libraries

Make sure to have a development version of Qt 4.7 or later installed. Qt Declarative support must be there. Marble Touch also requires (at runtime) the following declarative extensions of Qt or Qt related packages that you may have to install separately: QtMobility systeminfo, QtWebKit, Qt labs folderlistmodel.

On a Debianish system, install the following packages:

sudo aptitude install libqt4-dev libqtwebkit-qmlwebkitplugin libdeclarative-systeminfo libqt4-declarative-folderlistmodel

KDE Libraries and Runtime

Skip this section if KDE 4.9 is installed on your system.

Please refer to the KDE development articles for details. In short, clone both kdelibs and kde-runtime

git clone git://
git clone git://

and install them using the same CMAKE_INSTALL_PREFIX. Let's assume this is /home/me/kde49. Check your installation by verifying that lib/kde4/imports/org/kde/plasma/components/qmldir exists in /home/me/kde49.

Now setup your environment as follows:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/me/kde49/lib
export QML_IMPORT_PATH=${QML_IMPORT_PATH}:/home/me/kde49/lib/kde4/imports

Marble (Touch)

Like before I'll keep the description brief and ask you to refer to other articles for details.

Get a recent copy of Marble from git master. Note that when setting it up for compilation you can compile either the KDE or the Qt only version. There'll be no difference; in doubt choose the -DQTONLY=TRUE variant.

There's one important step now: Execute the script switch.bash to toggle between MeeGo and Plasma Components. Since MeeGo are default, you have to execute it once. When you do changes to the code which you plan to commit, switch back to MeeGo before committing them. With that in mind, switch to Plasma Components now:

tools/qt-components/switch.bash plasma

You can check what the script did using git diff. If you want to go back, just execute tools/qt-components/switch.bash meego.

If you compile Marble now and install it to a local directory (let's say /home/me/marble, you need to alter your environment further:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/me/marble/lib
export QML_IMPORT_PATH=${QML_IMPORT_PATH}:/home/me/marble/lib/marble/plugins

Finally you can start /home/me/marble/bin/marble-touch.

Set the QML_IMPORT_TRACE environment variable to 1 as a handy tool to debug qml import path issues

This page was last edited on 21 October 2016, at 08:05. Content is available under Creative Commons License SA 4.0 unless otherwise noted.