Sunday, March 19, 2017

Experimenting with Pi3 optimisations - POT 5.6.0-beta1 with Qt 5.8.0 built for armv8 with GCC 4.9.4

At the moment I still don't want to test custom firmwares or 64 bit arch builds, but I started to test a couple of new features: a new compiler from Linaro (the one provided by the foundation keeps giving me headaches), version 4.9.4 instead of 4.8, and optimised compiler flags for the Rapsberry Pi 3, which is an armv8.
In this build, Qt, ffmpeg and POT are all built with 4.9.4 Linaro toolchain and optimised compiler flags for Pi3. This will only work on Pi3.
You won't probably see much difference in GPU intensive apps, but it is a step on the road of optimisation!

Have fun! Bye! ;-)

Download the toolchain here.
Download POT 5.6.0-beta1 for Raspbian Jessie Lite Pi3 here (md5: 0eec41ef02e9369fc7e569030b8ff868).


  1. Great Job!!!

    Do you think that a cleat Qt build with last versions of gstreamer with IMX pluin (debian testing 2017 packages) can be good enought to implement a video software using Qt QML LGPL ?

    Have you a comercial license (non GPL) for POT?


    1. Not sure what IMX plugin is.
      POT is GPL, but I think you can use it in commercial products, just do not distribute. The user must install after first boot.

  2. Qt multimedia is based on gstreamer
    This is IMX plugin:
    I will try last versions ...may be video suppoort is good enought for raspberry pi 3.

    POT is a fantastic work...but is GPL, so we can't use in comercial products (closed source)...

    QT/QML is LGPL, less restrictive

    1. i.MX 6? This article is related to Raspberry Pi, not i.MX 6.

  3. sorry for my mistake, Luca...
    gstreamer OMX plugin, not imx :-)

  4. Dear Luca,
    thank you very much for your great effort bringing HW accelerated Qt to the Raspberry!

    Unfortunatly I have 2 problems right now:

    1) Camera Module seems to not be present: defaultServiceProvider::requestService(): no service found for - ""

    2) When using QtWebEngine, the website (any) loads as expected, but I can not click on any link (mouseover also doesn't change to handshaped cursor)

    Both bugs do not appear in my application if I compile regular Qt following the Qt Raspi EGLFS guide. (But then of course QtMultimedia performance is really bad)

    Am I missing something?

    Thank you very much,

    1. Hello,
      camera requires the proper plugin. You can build it. Also, look into the plugins directory, sometimes I build that as well.
      No idea for 2, sorry.

    2. Ok, I will try to build it.
      Is this guide still valid?

      Seems a bit old, but I can not find another one.

      Do I understand it right, I first have to build Qt according to a crosscompile guide (
      And then I apply your steps?

      Thank you very much!

    3. That is the latest guide I wrote. You need to build a regular Qt project depending on ffmpeg.