Qt 5.8 will include IoT-oriented “Qt Lite” technology that enables fine-grained configuration and supports small-footprint IoT gizmos without OpenGL.
The Qt Company announced a Qt Lite project that aims to extend the Qt development framework to smaller footprint Internet of Things devices with as little as 16MB RAM and flash. The Qt Lite technology will initially appear in Qt 5.8, including a more flexible configuration system for the cross-platform development framework, as well as a new 2D renderer for devices that can’t run OpenGL. Qt Lite also provides a more accessible, lightweight set of development tools.
In the spirit of this lightweight theme, Qt’s announcement was short on details. However, an Aug. 18 Qt blog post on Qt Lite by Qt product manager Nils Christian Roscher-Nielsen was much more illuminating, “It has sometimes been challenging and time consuming to configure Qt to efficiently use the different hardware components, available libraries, and strip out the parts of Qt and the OS that are not needed,” wrote Roscher-Nielsen. He added that Qt Lite will let you “strip Qt down and bring in exactly what you need.”
All will be disclosed at the Qt World Summit to be held Oct. 18-20 in San Francisco. The event will showcase the somewhat delayed Qt 5.8, which is currently in Alpha stage, but is due for release by the end of the year.
Two Qt Lite slides from a May 2016 Qt Company presentation
(click images to enlarge)
Qt Lite builds primarily upon Qt for Device Creation, an offshoot of the cross-platform Qt based on Boot for Qt and specifically designed for embedded Linux. In the Qt 5.6 release in March, Qt for Device Creation was more greatly aligned with Yocto Project code and meta layers. In June, shortly before Qt 5.7 was released, the Qt Company announced Qt Automotive Suite based on Qt for Device Creation.
New configuration system and a 2D renderer
When opting for the Qt Lite experience within Qt 5.8, you will be offered a new configuration system with support for more feature-based tailoring of Qt modules. You get a choice of two different reference configurations. One is a full prototyping environment that is very similar to what you see in the demo images shipped with Qt for Device Creation. “This is a great starting point for a mid-cost, low volume distribution,” wrote Roscher-Nielsen.
There’s also a new minimalist configuration for devices that have RAM and flash allotments “in the 32MB or even 16MB area,” says the Qt Company. According to the Qt 5.8 wiki, the new Qt Lite based configuration system can also be used outside of the Device Creation environment, letting you “tailor a Qt build for mobile or desktop.”
The device targets will largely remain ARM Cortex-A SoCs, although Cortex-M7 MCUs are being considered for the future. This would make sense, as Qt is essentially a GUI builder, and the high-end Cortex-M7 is one of the few MCU families that support graphics. It’s also one of the few to support Linux, or at least the stripped down uCLinux.
Both announcements also note that “there is no longer any need for OpenGL hardware to use Qt Quick, which extends the number of devices where Qt can be used significantly.”
A new graphical tool and developer workflow
Qt Lite encompasses a new graphical tool for configuring, selecting, and setting options. Development is eased by “making all the options available easily accessible, integrating the documentation and providing reasonable starting default configurations for various use cases,” says the Qt Company.
Finally, Qt Lite provides a more flexible developer workflow, letting you start with a minimal deployable configuration and simply adding in features as they are required. The workflow is claimed to significantly reduce the time spent on optimization at the end of the project.
The combination of the new workflow and configuration system “leaves you in complete control, with a continuous understanding of the consequences of your actions, and allows for transparency of the development project throughout the team,” wrote Roscher-Nielsen. “How big is the application developed becoming? Is this web browser really needed? And do cutting these corners actually make sense? Every included feature and added module will be immediately visible, and you will know how it affects the overall footprint of the application.”
Qt Lite will support connected devices in healthcare, automotive, avionics, and home appliance and entertainment sectors. Specific applications are said to include in-dashboard screens for connected cars, smart medical devices, and WiFi-enabled home entertainment system GUIs.
According to Roscher-Nielsen, future Qt Lite goals include performance and RAM consumption optimizations, as well as further integration of tooling within Qt Creator. The project will also “extend the new configuration system to cover and optimize the complete Linux stack as well as the Qt build,” he added. “This will allow you to easily and efficiently improve the total footprint, boot time and complexity of your system, not just the Qt bits.”
Stated Lars Knoll, CTO, The Qt Company: “By introducing Qt Lite, we’re providing our customers and partners with a lightweight and streamlined version of the Qt framework they’ve come to know and trust.”
More information on Qt Lite may be found in the Oct. 4 Qt Lite announcement, as well as the earlier, Aug. 18 blog post on Qt Lite. More details will emerge on Qt Lite and Qt 5.8 at the Qt World Summit, to be held Oct. 18-20 in San Francisco.