Boot2Qt Embedded Qt6 Mickledore Release We are pleased to announce a new Mickledore Boot2Qt Qt6 Release for our Nitrogen8 family of SBCs and SOMs based on i.MX 8 processors! This release uses Qt 6.6.1 and includes our latest 6.1 kernel. Below you will find the download links for the images and toolchains as well as detailed instructions for the build. Prebuilt Image You can download the Boot2Qt Yocto images from here: For Nitrogen8M platform: 20240401-boundary-b2qt-embedded-qt6-image-nitrogen8m-mickledore.wic.gz For Nitrogen8M Mini platform: 20240401-boundary-b2qt-embedded-qt6-image-nitrogen8mm-mickledore.wic.gz For Nitrogen8M Plus platform: 20240401-boundary-b2qt-embedded-qt6-image-nitrogen8mp-mickledore.wic.gz You can download the Boot2Qt Linux toolchains from here: For Nitrogen8M platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-nitrogen8m-6.6.1-mickledore.qbsp For Nitrogen8M Mini platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-nitrogen8mm-6.6.1-mickledore.qbsp For Nitrogen8M Plus platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-nitrogen8mp-6.6.1-mickledore.qbsp You can download the Boot2Qt Windows toolchains from here: For Nitrogen8M platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-mingw32-nitrogen8m-6.6.1-mickledore.qbsp For Nitrogen8M Mini platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-mingw32-nitrogen8mm-6.6.1-mickledore.qbsp For Nitrogen8M Plus platform: 20240401-boundary-meta-b2qt-embedded-qbsp-x86_64-mingw32-nitrogen8mp-6.6.1-mickledore.qbsp Instructions on how to use the QBSP toolchain in your Qt application development can be found here. As usual, you’ll need to register on our site and agree to the EULA because it contains NXP content. How to Flash You can program the SW to eMMC using the instructions from here You can also use the balenaEtcher utility to flash the eMMC, SD Card or USB stick via Windows or Linux: balenaEtcher Build procedure This image uses the boundary-imx-6.1.55-2.2.0 branch of our boundary-bsp-platform repository. To build the image, we recommend using a Docker Container so that you can build with a reproducible and stable build environment. Otherwise, you’ll need these packages installed as well as this repo tool that can be installed like this: ~$ sudo apt-get install repo Then create your build directory and initialize the environment: ~$ mkdir ~/b2qt6_mickledore && cd b2qt6_mickledore ~/b2qt6_mickledore$ repo init -u https://github.com/boundarydevices/boundary-bsp-platform -b boundary-imx-6.1.55-2.2.0 -m b2qt.xml ~/b2qt6_mickledore$ repo sync Then, setup the environment for building. For this image we will be building the boundary-b2qt distro for the target machine: ~/b2qt6_mickledore$ MACHINE=<MACHINE> DISTRO=boundary-b2qt . setup-environment-b2qt build Finally, build the Boundary Boot2Qt Embedded Qt6 Image and Linux Toolchain (boundary-b2qt-embedded-qt6-image and meta-toolchain-b2qt-embedded-qt6-sdk). This can be done building the boundary-meta-b2qt-embedded-qbsp: ~/b2qt6_mickledore$ bitbake boundary-meta-b2qt-embedded-qbsp Note: You can just build the Qt6 image by running “bitbake boundary-b2qt-embedded-qt6-image”. To build a toolchain for Windows platforms add the following line to local.conf: SDKMACHINE = "x86_64-mingw32" If you are interested in each project revision at the time of the build for the prebuilt images, you can find a frozen manifest for those images here. The image file will deploy to tmp/deploy/images/{MACHINE}/boundary-b2qt-embedded-qt6-image-{MACHINE}.wic.gz. The Linux toolchain will deploy to tmp/deploy/qbsp/boundary-meta-b2qt-embedded-qbsp-x86_64-{MACHINE}-6.4.1.qbsp. The Windows toolchain will deploy to tmp/deploy/qbsp/boundary-meta-b2qt-embedded-qbsp-x86_64-mingw32-{MACHINE}-6.4.1.qbsp. Demo examples We can run demos using the toolchain with qt creator. Below are a few examples for Qt6.6.1. Note that we are downloading the prebuilt demos from our linode server so that you can test without the toolchain. Coffee Machine Demo root@localhost:~# wget http://linode.boundarydevices.com/coffee root@localhost:~# appcontroller coffee root@localhost:~# appcontroller /usr/bin/coffee "FB_MULTI_BUFFER" "2" "QTWEBENGINE_DISABLE_SANDBOX" "1" "QT_IM_MODULE" "qtvirtualkeyboard" "QT_QPA_EGLFS_FORCE888" "1" "QT_QPA_EGLFS_FORCEVSYNC" "1" "QT_QPA_EGLFS_KMS_ATOMIC" "1" "QT_QPA_EGLFS_KMS_CONFIG" "/etc/kms.conf" "QT_QPA_PLATFORM" "eglfs" "/usr/bin/coffee" QList() Qt Quick 3D - Particles 3D Testbed Example root@localhost:~# wget http://linode.boundarydevices.com/particles3d root@localhost:~# appcontroller particles3d root@localhost:~# appcontroller /usr/bin/particles3d "FB_MULTI_BUFFER" "2" "QTWEBENGINE_DISABLE_SANDBOX" "1" "QT_IM_MODULE" "qtvirtualkeyboard" "QT_QPA_EGLFS_FORCE888" "1" "QT_QPA_EGLFS_FORCEVSYNC" "1" "QT_QPA_EGLFS_KMS_ATOMIC" "1" "QT_QPA_EGLFS_KMS_CONFIG" "/etc/kms.conf" "QT_QPA_PLATFORM" "eglfs" "/usr/bin/particles3d" QList() WebEngine Quick Nano Browser root@localhost:~# wget http://linode.boundarydevices.com/quicknanobrowser root@localhost:~# appcontroller quicknanobrowser root@localhost:~# appcontroller /usr/bin/quicknanobrowser "FB_MULTI_BUFFER" "2" "QTWEBENGINE_DISABLE_SANDBOX" "1" "QT_IM_MODULE" "qtvirtualkeyboard" "QT_QPA_EGLFS_FORCE888" "1" "QT_QPA_EGLFS_FORCEVSYNC" "1" "QT_QPA_EGLFS_KMS_ATOMIC" "1" "QT_QPA_EGLFS_KMS_CONFIG" "/etc/kms.conf" "QT_QPA_PLATFORM" "eglfs" "/usr/bin/quicknanobrowser" QList() Sandboxing disabled by user. qt.webenginecontext: Chromium GL Backend: egl Surface Type: OpenGLES Surface Profile: NoProfile Surface Version: 3.1 QSG RHI Backend: OpenGL Using Supported QSG Backend: yes Using Software Dynamic GL: no Using Shared GL: yes Using Multithreaded OpenGL: yes Init Parameters: * application-name Quick%20Nano%20Browser * browser-subprocess-path /usr/libexec/QtWebEngineProcess * disable-blink-features EyeDropperAPI * disable-composited-antialiasing * disable-features ConsolidatedMovementXY,InstalledApp,EyeDropper,BackgroundFetch,WebOTP,WebPayments,WebUSB * disable-speech-api * enable-features NetworkServiceInProcess2,TracingServiceInProcess,OverlayScrollbar * enable-threaded-compositing * enable-viewport * in-process-gpu * no-sandbox * use-gl egl doh set to "" -- SystemOnly If you have any issues, please email support@boundarydevices.com