There are a lot of operating systems and devices supported by the Qt framework in the context of embedded development. Potentially any Qt application can be run on any device, (depending on certain requirements, of course) including personal digital assistants, smartphones and a whole army of IoT devices.
These are some of the OS listed on Qt’s web site and are thus are officially supported:
And here is a not so small appendix of other environments that also work fine with Qt applications:
- AsteroidOS, an open source operating system designed for smartwatches
- Avionics, Panasonic’s in-flight entertainment system
- LiriOS, a workspace built on Qt/QML
- Sailfish OS, a mobile operating system
- webOS, a multitask operating system for smart devices like TVs and smartwatches.
- And, it is said, the Tesla Model S and some other vehicles also use Qt.
For most operating systems the Qt Company has released separate extensions (like Qt for Integrity, Qt for VxWorks etc.) Also, there are multiple platform plugins that are potentially usable on Embedded Linux systems: EGLFS, LinuxFB, DirectFB, Wayland.
Also, there are numerous microcontrollers, development hosts and platforms that are officially supported by the Qt framework.
Approximate minimum hardware requirements for running Boot to Qt are:
- 256 MB of RAM
- 500 MHz CPU at least. Or 1 GHz preferred for 60-FPS velvet-smooth UI
- OpenGL ES 2.0 support
- On GPU-less hardware, Qt Quick 2D Renderer can replace the OpenGL ES 2.0 requirement (with some limitations on graphics capabilities).
- Support for the emulator is limited to the Qt.
|Device||Touchscreen||Qt Creator Connection||HDMI||HW Accelerated Video||Virtual Keyboard||B2Qt WiFi Module||B2Qt Utils Module||OpenGL ES 2.0||Qt Quick 2D Renderer||Qt OTA Update|
|NVIDIA Jetson TX1||+||Network||+||+||+||+||+||+||+|
|Toradex Apalis||+||Network, USB||+||+||+||+||+||+||+|
|NVIDIA DRIVE CX||+||Network, USB||+||+||+||+||+||+|
|Boundary Devices i.MX6 Boards||+||Network, USB||+||+||+||+||+||+||+|
|Freescale SABRE SD i.MX6||+||Network, USB||+||+||+||+||+||+||+|
|Raspberry Pi 3||+||Network||+||+||+||+||+|
|Toradex Colibri i.MX6/i.MX7||+||Network, USB||+||+||+||+||+||+||+|
|Toradex Colibri VF61||+||Network, USB||+||+||+||+||+||+|
|Toradex Colibri VF50||+||Network, USB||+||+||+||+||+|
|NXP WaRP7||+||Network, USB||+||+||+||+||+|
Table 1. The list of devices and features that are supported within a Qt application
Linux – Still the Most Popular OS for Embedded Development
Because Linux is open source, it is fairly simple for developers to make the changes to the operating system according to certain demands of embedded systems. Many companies are able to produce their own version of Linux. Linux build systems such as Buildroot and OpenEmbedded can be used to create customized BSPs (Broad Support Package) tailored to almost any size and a wide array of application software. There are numerous Linux-based operating systems like Tizen, Embedian Grip and BusyBox. Also operating systems developed specifically for IoT segment (like Brillo, Huawei LiteOS, Raspbian etc.).
Finally, we list here several well-known embedded projects that are written in Qt or are aimed specifically at embedded development.
Qt WebEngine is integrated into LG’s webOS multitasking operating system for devices including smart TVs and wearables such as smart watches. This OS utilizes a number of web applications that run on the Qt WebEngine.
TAQ (Toradex, Antmicro, Qt) self-balancing robot: heterogeneous architecture w/Linux by Antmicro on Toradex Colibri i.MX7 System on Modules (SoM) based on the latest NVIDIA Tegra K1 and NXP iMX7 System on Chips.
AMD’s Embedded G-Series and R-Series devices use Qt-based user interfaces. Qt Creator was added to the Mentor Embedded Linux AMD solution for AMD’s Embedded G-Series and R-Series device families, enabling AMD embedded customers to create compelling, interactive user interfaces.
Commercial 3D Automotive Human-Machine Interfaces (HMI). The interaction design is based on a concept that is intuitive to use. An user can control a car with swipe gestures instead of precise pointing. Qt Lite. A new Qt configuration system which enables developers to streamline their IoT or embedded projects by allowing them to include only the features they need. This reduces the footprint by up to 60% and optimizes performance and boot time.
The Yocto Project is an open source project that provides templates, tools and methods to help create custom Linux-based systems for embedded products, regardless of the hardware architecture. It was founded in 2010 as a collaboration among hardware manufacturers, open-source operating systems vendors, and electronics companies to help standardize embedded Linux development.
Images that are used in the article: