Showing results for 
Search instead for 
Did you mean: 

stm32mp15 - Qt6 performance slower than Qt5


Hi all,

I'm part of a software team that's working on a product based on the stm32mp15, running Yocto images based on the V4.1.1 ecosystem release. We're currently thinking of upgrading the Qt version in our images from Qt5 to Qt6, and while we are able to get it working, we've noticed that the performance is slightly slower than Qt5's - at least in the example applications we provide.

We ran some tests on the stm32mp15-eval board and built two sets of st-example-image-qtwayland images from a openstlinux-weston distro based on the v4.1.1 ecosystem, using Qt5 in one image and Qt6 on the other. We applied the following changes:

  • For the Qt5 images, install an alternative version of the cinematicexperience package built from this fork on commit 5d44dd7d4fd563b33570a14c2274e7fa9cc7d84f:
  • For Qt6 images, install the same cinematicexperience package, but using commit fea04d7004a1608308c11189d74bb92d3decbe3d instead (basically, modifying the sources so they can build against Qt6). Aside from that and replacing the meta-qt5 layer with meta-qt6 (on branch 6.5), the following changes were done in meta-st-openstlinux:
    • Remove dependencies that are either not provided by meta-qt6 or generate build errors (such as qtwebkit, qtquickcontrols, qtscript...)
    • Replace the use of Qt5 bbclasses with the respective Qt6 ones (such as replacing populate_sdk_qt5 with populate_sdk_qt6_base)
    • Remove PACKAGECONFIG values that no longer exist in Qt6 from the qt-related bbappend files in meta-st-openstlinux

After building both images, I'm able to launch the application without any errors. The main difference is that the Qt5 version runs at framerates between 19 to 15 FPS, the Qt6 version runs at framerates between 14 and 10 FPS. While this isn't a showstopper, and keeping in mind that there are several factors that might influence this difference in performance (such as the app being built from an unofficial fork or Qt6 not being officially supported in the v4.1.1 ecosystem), my main question is the following:

Has anyone at ST tested Qt6 on the stm32mp15? If so, have they observed the same performance differences we're seeing when compared to Qt5? In other words: is this performance difference to be expected? Or is it possible that the configuration of the Qt6 libraries needs to be tweaked to improve performance? Note that in our tests, we're using the default configurations provided by meta-qt6 (it correctly deduces the PACKAGECONFIGs based on distro features, but it might be missing options specific to the mp15).

Many thanks in advance,