Qt qml app high cpu load on iMX6

We are having problems with high cpu load and overheating when running custom qt5 qml app with some basic animations using qt quick.
I have build custom console-trdx-image image and added qt5 layer as described in openembedded-core acticle. In image we are using framebuffer with EGLFS.

So as I understand when running the app it should be rendered using GPU and not using software rendering? I am running the app like myapp -platform eglfs. When I run it, top shows more then 50% usage of one core and module starts to overheat.

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  556 root      20   0  214588  19096  11124 S 50.2  3.8   0:16.06 ./gen3Quick -platform eglfs

Also when running Qt5_CinematicExperience it also burns both cores to 40%.

Did I miss something when adding qt5 layer in local.conf file? What is causing such high cpu load?

Thanks for your help

What version of Qt5 you using?

There are known bugs that consume high cpu with version 5.3 or earlier.

Use the Qt5.6 version and runs cool.

V2.5 uses OE fido branch, so I guess Qt 5.4? (GitHub - meta-qt5/meta-qt5 at fido)

True, V2.5 uses Qt 5.4.3. I’ll try to compile qt 5.6 from source and try with that version…

How is your recipe to build the Yocto?

Sory for my slow response…

I have added QT5 layer as described in openembedded article and tryed both angstrom-lxde-image and console-trdx-image. On both images tried Qt5_CinematicExperience and my own qt app and on both there was high cpu consumption.

Next thing I did is updated to toradex version 2.6, which uses QtV5.5.1, bitbaked angstrom-lxde-image and tried Qt5_CinematicExperience. This version also causes high cpu load and overheating since I got message “System is too hot. GPU3D will work at 1/64 clock.”.

Next thing I did is tried to switch branch in meta-qt5 to krogoth since it uses QtV5.6. Trying to bitbake angstrom-lxde-image causes:

ERROR: ParseError at /opt/oe-core_26/build/../stuff/meta-qt5/classes/qmake5_base.bbclass:50: Could not inherit file classes/remove-libtool.bbclass

If I comment out that line next bitbake angstrom-lxde-image producess another error:

... 5a89d0-r0/git/configure: /opt/oe-core_26/build/out-glibc/work/armv7at2hf-vfp-neon-mx6qdl-angstrom-linux-gnueabi/qtbase/5.6.0+gitAUTOINC+cec15a89d0-r0/git/config.tests/unix/makeabs: not found

So I did’t get anywhere, still very high cpu usage using Qt.

I threw some patches fixes for QtWebEngine (Qt5.6 branch krogoth), will be doing tests on building Qt5.6 for this board (with i.MX6) and soon give a position here.
If I encounter problems, I will correct and provide the patch here :wink:


Cleiton Bueno

Blog | Linkedin | B2Open

Ok great to hear that, waiting for your response.

I compiled the Qt5.6 and tested examples and CPU usage is above 45%.

Look at this:
http://doc.qt.io/qt-5/embedded-linux.html#eglfs

In section 2.

So in practice using Qt Quick with some graphical effects is possible only with heatsink installed so it cools down CPU and doesn’t downclock?

Do you have any knowledge if using commercial Qt for Device Creation solves that issue (if running Qt Quick app with graphical effects in boot2qt is possible without heatsink)?