As the name suggests, Xbmcremote is an application that puts you in control of your XBMC box using mobile devices. You can browse the library, create playlists and view/control the currently played media.

Current releases support Ubuntu Touch, Sailfish OS, KDE, Maemo 6 (MeeGo 1.2 Harmattan), and Maemo 5. Older released versions can be found for Symbian too. The code however should compile and run fine wherever Qt is available. Requirement is the availability of Qt 4.7 or greater. Qt 5 is supported as of version 1.3.

Latest Xbmcremote builds work with Xbmc versions Frodo and Eden and Gotham.

Currently supported features:
– Browse Audio/Video Library/Filesystem, Pictures and TV Channels
– Play Audio/Video/Pictures
– Add/Remove songs/videos to/from playlist
– Key input (Left, Right, OK, Back etc.)
– Play/Pause, Skip, Fast Forward/Backward, Repeat, Shuffle
– Subtitle and audio track selection
– Volume (allows you to define custom commands if you have an external amplifier that cannot controlled directly through xbmc).
– Automatically lowers volume or pauses videos and music during calls.
– Download media to your phone/tablet.
– Wake on Lan to wake up your XBMC
– Media artwork and extended details

Because of disrupting API changes between Xbmc Eden and Frodo, you need different versions of Xbmcremote depending on which version of Xbmc you run.

* MeeGo 1.2 Harmattan:
Release 1.3.1 (for Xbmc 12 Frodo): Install from Nokia Store or download from here: xbmcremote_1.3.1-harmattan0_armel.deb
Release 1.2 (for Xbmc 11 Eden): xbmcremote_1.2.2-harmattan0_armel.deb

* Ubuntu Touch:
Version 1.5.1 is available directly from your Application Scope at your Ubuntu powered phone.

* Sailfish OS:
You should be able to install the latest version from Harbor. However, due to restrictions for apps in Harbor you might consider using the OpenRepos version which is much more feature complete.

* KDE Plasma Widget for Ubuntu:
If you are using Ubuntu you can install it from my release ppa:
$ sudo apt-add-repository ppa:mzanetti/ppa
$ sudo apt-get install xbmcremote

* KDE Plasma Widget for ArchLinux:
Thanks to Sarwo Hadi Setyana there is a AUR package available for ArchLinux based distributions. Use your favorite package mangler with AUR support (mine is yaourt) and install kdeplasma-applets-xbmcremote-git.

* Maemo 5:
Release 1.3.1 (for Xbmc 12 Frodo): xbmcremote_1_3_1_fremantle0_armel.deb
A version for Eden can be found in the maemo-extras-devel repository.

* Symbian:
Version 1.2 can be obtained in the Nokia Store. As of version 1.3 Symbian support has been dropped.

For all other platforms and distributions, currently the only way is to build it from sources. I would be very happy to see packages for other distributions popping up. See below for the link to the source code repository.

The source code repository can be found here: https://gitorious.org/xbmcremote

Here are some screenshots:

Nokia N9:

KDE plasmoid:

Ubuntu Touch:

Nokia N900:

Enjoy and let me know how you like it!

42 Responses to Xbmcremote

  1. Pingback: Another Ubuntu SDK Apps roundup | Michael Hall

  2. Fyksen says:

    Hey! I want to test out this app on Ubuntu touch, but no sure how to do it. Will SSHing it to it and do a git clone do the trick?

  3. I simply wanted to share my 2 cents opinion as I use xbmcremote on my N9 and now also on my N900.

    It’s a great app and runs smoothly and fast in both systems.

    I’d like to tank you for all your work, moreover thank you for still supporting a great phone like N900 is.

    Thank you Mr. Zanetti :)

  4. Manny says:

    Really great app!
    Use it every day – thx for your work!

  5. Walther says:

    This is awesome. I didn’t even expect there to be an xbmc remote for my N9. Then I found this and it has lots of features (not just the remote and media browsing, but also WOL, zeroconf and a popup keyboard whenever you need to enter text). Thanks a lot!

  6. anonim says:

    My favorite n9 app, thanks!

  7. Rasmus says:

    This looks great.
    Will you release a click package for Ubuntu Touch?

  8. Barra says:

    Wow, thanks Michael!

    P.s. +1000 for QOTSA!

  9. taiebot says:

    Hi i have installed xbmc remote on ubuntu touch but it does not connect to xbmc (raspbmc)
    I have connection failed:connection refused.

    I am connecting to my local network. There is no password and no login ID. I tried with Login ID but it does not work either.

    • Michael says:

      Hmm… That sounds like you don’t have all the required options enabled in Xbmc. Make sure you have the HTTP server enabled and also checked “Allow control from remote hosts” in the xbmc settings. If it still doesn’t work, please contact me via email so we can debug it while not spamming the comments.

  10. Szymon says:

    Ubuntu Touch version just hits Store today (26.10.2013) :-)
    I test it and it works like harm!
    Awesome work!

  11. dennisbinkhorst says:

    Hi Michael,

    I installed XBMCRemote for Ubuntu Touch from the application scope, and entered the system details. Unfortunately I have been unable to connect to my “Eden” XBMCbuntu installation.

    The error message I get is: Connection failed: Host requires authentication
    After that, the only option left is to hit Cancel.

    In the host configuration I don’t see any option to add user credentials. This is unfortunate, as my XBMC requires authentication. This works just fine from the official XBMC remote apps for Android and iOS.

    Am I missing something here or is this option not implemented yet?



    • Michael says:

      Oh right. It seems I forgot to implement this in the Ubuntu version. Will add that soon.

      Still, I don’t think it will work with Eden and you will have to upgrade to Frodo.

      • Michael says:

        Latest version in Ubuntu store now supports password protected connections btw.

        • dennisbinkhorst says:

          You sir, are the best!
          I will try it out later today and leave you with some feedback :)

        • Set Sakrecoer says:

          It’s working great and looking good! One thing i could wish is that it would also be able to connect when the raspi2 that kodi is running on, is connected to the wifi shared from the ubuntu phone that the kodimote is runing on, if that makes sense :)
          tl;dr. i share internet from my ubuntuphone’s hotspot to the raspi2 running kodi and that way kodimote can’t find it.

          • Michael says:

            Wow. that’s an interesting use case :)

            I’ll see what I can do. You might want to report that on the github issue tracker so I don’t forget about it.

          • Set Sakrecoer says:

            Hey!! WOW right back at you!!! update of today fixed it!!! <3 I'm blown away!! You're like the genie in the website, granting my wish just like that boom!!! :)

            As soon as i get rich, i'll make sure be too! <3

            The git-link above gives me 404 ( https://gitorious.org/xbmcremote ) found it with a little websearch-fu tho :) https://github.com/mzanetti/kodimote

            Yours with gratitude and lots of love,


            sorry i reply above your answer, but i don't see any reply link on it..? Probably the CMS allows for x amount of indented answers?

          • Set Sakrecoer says:

            gah… *slapping my finger*
            i ment to write:
            “As soon as i get rich, i’ll make sure *YOU be too! <3"

  12. Nikos says:

    Thank you very much for this application. I use it on my N900 (it still is my main and only phone). I very much appreciate that you support maemo irrespective of its small user-base. I particularly like that it works flawlessly in both orientations , the control is very intuitive. Good work!

  13. Jupe says:

    I installed 1.3.1. on my N9 to control Fredo. I get the connection worked out fine and the remote controls the pc well, but I can not get any content showing on the N9. What do I need to do?

  14. Tom says:

    Hmm.. looks awesome. But it fails to link here:

    Linking CXX shared module ../../lib/plasma_applet_xbmcremote.so
    ../../lib/libxbmcremote.a(xbmc.o): In function `int qmlRegisterType()':
    xbmc.cpp:(.text._Z15qmlRegisterTypeI17ChannelBroadcastsEiv[_Z15qmlRegisterTypeI17ChannelBroadcastsEiv]+0x12): undefined reference to `ChannelBroadcasts::staticMetaObject'
    ../../lib/libxbmcremote.a(channels.o): In function `Channels::listReceived(QMap const&)':
    channels.cpp:(.text+0x26ca): undefined reference to `ChannelItem::ChannelItem(QString const&, QString const&)'
    ../../lib/libxbmcremote.a(channels.o): In function `Channels::broadcastsReceived(QMap const&)':
    channels.cpp:(.text+0x356d): undefined reference to `ChannelItem::staticMetaObject'
    channels.cpp:(.text+0x40c5): undefined reference to `ChannelItem::channelBroadcasts() const'
    channels.cpp:(.text+0x40d0): undefined reference to `ChannelBroadcasts::addBroadcast(Broadcast)'
    channels.cpp:(.text+0x4494): undefined reference to `ChannelItem::setProgressPercentage(int)'
    ../../lib/libxbmcremote.a(channels.o): In function `Channels::data(QModelIndex const&, int) const':
    channels.cpp:(.text+0x4e4e): undefined reference to `ChannelItem::progressPercent() const'
    collect2: Fehler: ld gab 1 als Ende-Status zurück
    apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/build.make:150: recipe for target 'lib/plasma_applet_xbmcremote.so' failed
    make[2]: *** [lib/plasma_applet_xbmcremote.so] Error 1
    CMakeFiles/Makefile2:208: recipe for target 'apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/all' failed
    make[1]: *** [apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/all] Error 2
    Makefile:126: recipe for target 'all' failed
    make: *** [all] Error 2

    I’m using the arch PKGBUILD with latest stable KDE4 and XBMC.

    • Michael says:

      Should be fixed now. Please let me know if it works.

      • Tom says:

        Thanks, Michael. Linking works now.

        But the QML won’t load in KDE4’s plasma shell:

        plasma-desktop(20733)/libplasma Plasma::DeclarativeWidgetPrivate::errorPrint: "file:///usr/share/apps/xbmcremote/qml/PopupDialog.qml
        Error loading QML file.
        169: Der Typ TabView ist nicht verfügbar
        55: Der Typ Browser ist nicht verfügbar
        81: Der Typ BrowserPage ist nicht verfügbar
        101: Ungültige Zuweisung bei Eigenschaft: Unbekannter Aufzählungswert
        QDeclarativeComponent: Component is not ready
        plasma-desktop(20733)/libplasma Plasma::DeclarativeWidgetPrivate::errorPrint: "file:///usr/share/apps/xbmcremote/qml/PopupDialog.qml
        Error loading QML file.
        169: Der Typ TabView ist nicht verfügbar
        55: Der Typ Browser ist nicht verfügbar
        81: Der Typ BrowserPage ist nicht verfügbar
        101: Ungültige Zuweisung bei Eigenschaft: Unbekannter Aufzählungswert

        I must be missing something.

        • Tom says:

          PS: perhaps I should explain a bit more. When I add the plasmoid to the dashboard, all I get is an empty plasma widget. In options dialog all I can set is the standard plasma key binding, nothing else. Not sure if the QML error is related at all.

          • Michael says:

            Hey Tom,

            Thanks for reporting this. I’ll have a look at it now. For future reports please contact me via email to avoid flooding the comments section with compilation logs.

          • Michael says:

            fixed. thanks again

  15. MM says:

    Thank you very much for the application, works like charme :)

  16. Julien says:


    I’ll install Ubuntu 14.04 on an Asus Transformer T100 as soon as it’s published, and I’d like to use your application on it. To see how it’d go I tried to clone the git repository, but being no programmer I’m a bit at loss from there (I can do ./configure && ./make but not much more).

    Is there an easy way (not requiring that much programming knowledge) to compile your application for desktop 64bits Ubuntu?

    • Michael says:

      Install the ubuntu-sdk and launch qtcreator. Open xbmcremote.pro with qtcreator and click the green play button. If you run into troubles, feel free to contact me via email to ask for help.

  17. fatino says:

    [ 97%] Building CXX object apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/xbmcremote.o
    [100%] Building CXX object apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/declarativepopup.o
    Linking CXX shared module ../../lib/plasma_applet_xbmcremote.so
    ../../lib/libxbmcremote.a(xbmc.o): In function `Xbmc::pvrMenu()’:
    xbmc.cpp:(.text+0x364): undefined reference to `PvrMenu::PvrMenu(XbmcModel*)’
    ../../lib/libxbmcremote.a(xbmc.o): In function `int qmlRegisterType()’:
    xbmc.cpp:(.text._Z15qmlRegisterTypeI7PvrMenuEiv[_Z15qmlRegisterTypeI7PvrMenuEiv]+0x23): undefined reference to `PvrMenu::staticMetaObject’
    xbmc.cpp:(.text._Z15qmlRegisterTypeI7PvrMenuEiv[_Z15qmlRegisterTypeI7PvrMenuEiv]+0x116): undefined reference to `PvrMenu::staticMetaObject’
    ../../lib/libxbmcremote.a(audiolibrary.o): In function `AudioLibrary::enterItem(int)’:
    audiolibrary.cpp:(.text+0x124): undefined reference to `Genres::Genres(XbmcModel*)’
    collect2: error: ld returned 1 exit status
    apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/build.make:147: polecenia dla obiektu ‘lib/plasma_applet_xbmcremote.so’ nie powiodły się
    make[2]: *** [lib/plasma_applet_xbmcremote.so] Błąd 1
    CMakeFiles/Makefile2:205: polecenia dla obiektu ‘apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/all’ nie powiodły się
    make[1]: *** [apps/plasmoid/CMakeFiles/plasma_applet_xbmcremote.dir/all] Błąd 2

    Builds fails, building using aur git version on manjaro.

    • Michael says:

      Should be fixed now. Thanks

      • fatino says:

        Built fine now. But I cannot connect. Maybe some dep missing or needed extra steps? Heres plasma-desktop log.
        1;2c1;2c1;2c1;2cQPainter::begin: Paint device returned engine == 0, type: 2
        QPainter::setCompositionMode: Painter not active
        QPainter::end: Painter not active, aborted
        plasma-desktop(5860)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
        virtual void NetworkManager::Device::propertyChanged(const QString&, const QVariant&) Unhandled property “AccessPoints”
        status changed 3
        QPainter::begin: Paint device returned engine == 0, type: 2
        QPainter::setCompositionMode: Painter not active
        QPainter::end: Painter not active, aborted
        setting cur ind 0
        file:///usr/share/apps/xbmcremote/qml/HostList.qml:129: TypeError: Result of expression ‘xbmc.hostModel().connectToHost’ [undefined] is not a function.
        found host
        QPainter::begin: Paint device returned engine == 0, type: 2
        QPainter::setCompositionMode: Painter not active
        QPainter::end: Painter not active, aborted
        status changed 0

        Is there a better place to report those?
        Version: [installed: r845.44687da-1]

Leave a Reply

Your email address will not be published. Required fields are marked *