Details
-
User Story
-
Resolution: Unresolved
-
P2: Important
-
None
-
-
2021wk04, 2022 wk 40-41 Embedded, 2022 wk 42-43 Embedded, Embedded wk44-45 2022, Embedded wk46-47 2022, Embedded wk48-49 2022, Embedded wk50-51 2022, Embedded wk02-03 2023, Embedded wk06-07 2023, Embedded wk08-09 2023, Embedded wk10-11 2023, Embedded wk12-13 2023, Embedded wk14-15 2023, Embedded wk16-17 2023, Embedded wk18-19 2023, Embedded wk20-21 2023, Embedded wk22-23 2023, Embedded wk24-25 2023, Embedded wk34-35, Embedded wk36-37 2023, Embedded wk38-39 2023, Embedded wk40-41 2023, Embedded wk42-43 2023, Embedded wk44-45 2023, Embedded wk46-47 2023, Embedded wk48-49 2023, Embedded wk50/2023 - wk01/2024, Embedded wk14-15 2024, Embedded wk16-17 2024, Embedded wk18-19 2024, Embedded Linux wk20-21 2024, Embedded wk22-23 2024, Embedded wk26-31 2024, Embedded wk34-35 2024, Embedded wk36-37 2024, Embedded wk38-39 2024, Embedded wk40-41 2024, Embedded wk42-43 2024, Embedded wk46-47 2024, Embedded wk48-49 2024
Description
What is the benefit? Why is this valuable?
This ticket covers ready-made support for Raspberry Pi 4 native Debian based Rpi OS for C++ Qt applications. A QBSP file (based on Yocto) for easier Qt Creator integration for getting configurations could be used but using apt-get with a commercial or OSS repo is preferred for a better UX as Raspberry Pi OS is Debian derivative and apt-get is the native way for software installation there.
Raspberry Pi HW with its default Raspberry Pi OS is a key solution for many community projects and especially popular in AI applications.
There are two related use cases:
- Deploy Qt for Python app to Raspberry PI running Raspberry Pi OS. This works now based on fixes done with Qt for Python and pyside6 and does not require the containerised approach described in this ticket. Pyside6 Debian packages are now available on OSS side.
- Deploy Qt apps to Raspberry Pi running Raspberry Pi OS. This is the scope of this ticket. Although cross-compilation from host to target device is in principle similar in both Yocto (existing B2Qt concept) and Raspberry Pi OS, for Yocto however there are existing compiler and sysroot packages that make releasing easy. For Raspberry Pi OS the easier path has been to use a Docker container-based toolchain.
What are common use cases?
Community projects with Raspberry Pi OS and AI with Qt apps.
Technical information
Simplified steps for enabling Qt DC using Raspberry Pi OS 64-bit :
- Take Debianized Qt6 packages, being done for Debian 12 by the new Qt6 Debian maintainers group and by consultant and DA team for Debian 11 (QTBUG-100385) using backports.
- Using the containerised toolchain in
QTCREATORBUG-22362~~ Creator container support should be good enough now ~~ create a container with toolchain including the compiler, Qt binary and sysroot etc needed to cross-compile Debian 11/12-based arm64 Qt 6.2.3 binary for Raspberry Pi HW. - Create a QBSP for easy setup on Creator side containing (specifically no images in the QBSP, but as already done on B2Qt side creator configuration should allow to specify "build containers" within the Kit description so that qbsp can tell creator, which container to use and set it up) :
- installer scripts for setting the package up using the container created in step 2. Qt binaries would be obtained using apt-get and would not be available in the container.
- Instructions on how to get the whole thing working in Raspberry PI4 with Raspberry OS installer
Available docs:
https://intranet.qt.io/display/QTRD/Raspberry+Pi+OS+Setup+to+Build+and+Run+Qt+for+Python+Applications
https://intranet.qt.io/display/QTRD/Raspberry+Pi+OS+Setup+to+Build+and+Run+Qt+Applications
- Place the container in dockerhub: https://hub.docker.com/, or another artifactory such as Gitlab Docker registry developed in CI cloud.
- Try a simple Qt app on top of the installed Qt on Raspberry Pi HW.
Qt DC versus OSS Qt vs EDU licence: The work in this ticket is done for OSS Qt, thus the OSS image cannot contain Commercial only features, such as QDB daemon. Please see the following ticket for details on the related EDU licence https://bugreports.qt.io/browse/QTPMO-1473.
-addon licensing model currently paused---
In a similar fashion to the now discontinued Qt DC Add-on model in QTBUG-77799 it should also be possible for commercial customer to add the commercial only missing bits easily using apt-get and commercial Qt repos. If not possible, then we may need both a OSS Qt and Commercial Qt support separately.
Envisioned steps for Developer with the ready package:
1. Install Raspberry Pi OS onto Raspbery Pi4 HW
2. Use apt-get and download and install Qt6 for Debian on RaspberryPi
3. Download QBSP for Raspberry Pi OS to dev host
4. Develop app using Qt with Creator in the dev host
5. Follow instructions and get developed application depoloyed to the Raspberry Pi HW with Creator. The containerised toolchain provides a traditional image that can be deployed to the target HW as before, over QDB (EDU and Commercial licence holders only) or otherwise.
Attachments
Issue Links
- depends on
-
QTCREATORBUG-22362 Qt Creator: Support build environments in Docker containers
- Closed
-
QTCREATORBUG-27621 Docker: is not possible to set mkspec from kit settings without error message
- Closed
-
QTBUG-90806 Enable add-on model for B2Qt and Qt DC - the alternative way
- Withdrawn
-
QTBUG-77799 Conan based add-on model for B2Qt and Qt DC as developer role
- Blocked
-
QTBUG-114185 Qt for Raspberry Pi OS: switch from DockerHub to git.qt.io
- Reported
-
QTIFW-2733 Enable QBSP for open source installations
- Closed
-
QTQAINFRA-4976 repo builds: add support for creating qbsp
- Closed
- is required for
-
PYSIDE-802 Enable PySide/Shiboken cross compilation for different targets.
- Closed
-
QTQAINFRA-4257 RTA: set-up tests for Rasberry Pi 4 64bit
- Closed
- relates to
-
QTBUG-124885 particles3d demo doesn't display on raspberry pi OS
- Closed
-
QTCREATORBUG-27536 docker: cannot run Qt Python app from Docker container or Deploy to remote host
- Closed
-
QTBUG-103587 PySide6 debian pip packaging support
- Closed
-
QTBUG-90843 B2Qt61: Raspberry Pi 4 (ARM-v8A 64bit) with Yocto 3.2 Gatesgarth (not a refe)
- Closed
- links to
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...