We can build the Qt versions from 6.2 to 6.5 with the meta-qt6 layer for the Yocto versions 3.1 to 4.1. This is a big time saver.
Yocto \ Qt | 6.5 | 6.4 | 6.3 | 6.2 |
---|---|---|---|---|
4.2 (Mickledore) | T | T | – | – |
4.1 (Langdale) | T | T | C | C |
4.0-LTS (Kirkstone) | T | T | T | T |
3.4 (Honister) | C | C | T | T |
3.3 (Hardknott) | C | C | C | C |
3.2 (Gatesgarth) | C | C | C | C |
3.1-LTS (Dunfell) | T | T | T | T |
(T = tested, C = compatible, – = not supported)
“T” means that the Qt version is tested on the Yocto version. “C” means that the Qt version can be built with the Yocto version. “-” means that the Qt version does not build on the Yocto version. Qt 6.0 and 6.1 are missing from the table, because they lacked some features from Qt 5.
The choice of the SoC, SoM or terminal determines the Yocto version of the BSP. For Qt 5, the Yocto version determined the Qt version through the recipes in meta-qt5. For example, Yocto 2.7 (Warrior) is bound to Qt 5.12 and Yocto 3.1 (Dunfell) to Qt 5.14. If we wanted to move to a newer Qt 5 version, we had to update some recipes ourselves. If we wanted to move to a Qt 6 version, our best option was to build Qt 6 against the SDK created by Yocto. That’s considerable extra work.
The developers of the meta-qt6 layer save us this extra work. They provide recipes for newer Qt 6 versions in older Yocto versions. If, for example, we want to build Qt 6.5 for Yocto 3.1, we must only select the right git reference in the repo manifest file or in the kas configuration file. A big thank-you to the meta-qt6 developers 🙏🙏🙏
Dear Burkhardt,
thanks for creating these blogs. They are very helpful. I am new to the embedded world, and I just started a position as GUI SW engineer.
Do you have any post or a reference to how building a linux image using YOCTO, where the qt6 layer is being used. My target is to create an image for a specific board, which can run a GUI project from Qt.
Best regards,
Bjørn
Hi Bjørn,
You can find my notes how to replace meta-qt5 by meta-qt6 here.
Cheers,
Burkhard
EDIT:
I just found this: https://doc.qt.io/Boot2Qt/b2qt-meta-qt6.html
IS this recommendable by you, as someone, who has experience in creating GUI apps on embedded devices?
Cheers.