Digia launched a technology preview of Boot to Qt, a commercial offering that provides “a fully-integrated solution for the creation of slick user interfaces on embedded devices.” The current version of Boot to Qt is built on top of an Android kernel base layer, and includes support for the Nexus 7, BeagleBoard-xM, SABRE Lite, and x86 hardware.
Boot to Qt “offers an elegant means of developing beautiful and performant embedded devices,” says Gunnar Sletta, Digia principal engineer, in post on Digia’s blog.
According Sletta’s post, the Boot to Qt project provides…
- A lightweight UI stack for embedded Linux, based on the Qt Framework
- Ready-made bootable images, which include the Boot to Qt stack, for several different devices
- Full Qt Creator integration, which enables one-click deploy-and-run on hardware, and a fully featured development environment.
- A VirtualBox-based simulator,, which allows device development without hardware and opens up for simulating hardware input, such as GPS and connectivity
As illustrated at the right, the Boot to Qt stack replaces Android’s top-level Java graphical layer with Qt/QML and removes the Zygote process layer and the Android home screen. Digia says this enables “better and faster development [with] modern UIs [in] the forefront.”
More specifically, Digia claims the Qt-based graphical layer provides the following advantages over Android’s corresponding components:
- Less multiplexing where only one application speaks to the graphics hardware
- Optimized Qt Quick 2 for OpenGL 2.0 ES for speed and performance on low-end hardware
- Tried and tested C++ which gives commonly-known memory handling
The YouTube video below demonstrates Boot to Qt loading and running on Digia’s reference hardware.
Boot to Qt demo (source: Digia)
While the technology preview currently focuses on an Android-based stack, Digia plans to create a similar stack and toolsuite using “traditional” embedded Linux as the base layer. Sletta expects a preview of the Linux version to come out “some time this summer,” followed by an official release of Boot to Qt “towards the end of this year.”
The diagram below compares Boot to Qt’s and Android’s startup times, from power-on to either the B2Qt launcher or Android’s homescreen.
Boot to Qt vs Android startup times in seconds
“Full Android brings in a lot of additional stuff, but that is also the point. Most embedded devices do not need that,” notes Sletta.
“This is not too shabby, but we believe we can cut this down a bit more, at least when we start exploring various embedded Linux configurations,” he adds. “As an example, Qt 5 on Raspberry Pi can start rendering after as little as 3 seconds.”
Boot to Qt is available for evaluation to those who submit requests via a contact form on the product page. For additional details, refer to Sletta’s complete blog post and the Boot to Qt Technology Preview page.