Introducing Qt Enterprise Embedded (aka Boot to Qt)

Published Thursday October 24th, 2013 | by

We have spent the past 11 months working on the Boot to Qt project, which started as an internal Digia Qt R&D labs investigation to address some of the challenges with software development for embedded devices.  Since then, the Boot to Qt Project has received a lot of positive feedback from our customers and evaluators, and we are currently at the stage where it’s time to turn it into a real product and integrate it fully into the Qt embedded offering.

We are happy to introduce Qt Enterprise Embedded (Qt EE), consisting of the “Boot to Qt” software stack (v 1.0) and the existing Qt embedded offering from Digia for embedded Linux and embedded Android development.

Embedded Development Made Easy

A key objective of the Boot to Qt project was to enable people to get started with embedded projects quickly by removing the tedious nature of developing for devices and focus on the ease of creating fluid and responsive applications & UIs for embedded systems. This objective lives on in Qt Enterprise Embedded. Here is a video showing how to get started with Qt Enterprise Embedded:

During our usability testing, we found that all our test subjects were able to install Qt Enterprise Embedded and deploy a Hello World application to a device in less than 3 hours.

The following were the types of developers who completed our usability testing:

  1. Developers experienced with Qt and embedded
  2. Web developers with no Qt or embedded experience
  3. Developers experienced with embedded, but no Qt experience

To make sure we were developing a top offering, we experimented a bit ourselves with device creation. (It’s usually healthy to use your own product). Here is a video of how Andy Nichols (Digia, Qt Software Engineer) made a device to aid in learning to play the piano:

 

Reference Devices

We have set up Qt Enterprise Embedded to run out-of-the-box on a few reference devices (see list below). These are the devices we are using for internal development and testing. However, please note that Qt Enterprise Embedded is not limited to these devices and we can help you get up and running on most hardware targets.

Device OS
Google Nexus 7 (2012 version) – 1.2 GHz Quad-Core ARM Cortex A9, Tegra 3 GPU, 1GB RAM Android 4.2
Beagle Board xM – 1GHz ARM Cortex A8, PowerVR SGX530 GPU, 512MB RAM Android 4.1 & Linux
Boundary Devices SABRE Lite (Freescale i.MX 6) – 1 GHz Quad-Core ARM Cortex A9, Vivante GC2000 GPU, 1GB RAM Android 4.2 & Linux*
Raspberry Pi model B – 700 MHz ARM1176JZF-S core, Broadcom VideoCore IV GPU, 512 MB RAM Linux
Emulator Android 4.1 & Linux

Here is a video showing the different reference devices (and another device we have been playing with) in action.

What’s New in Qt Enterprise Embedded

We have made some significant improvements since the Boot to Qt Technology Preview 2, which have introduced into the final Qt Enterprise Embedded.

Qt Quick and Qt Widgets
With Qt Enterprise Embedded you can develop your applications both using Qt Quick and Qt Widgets.

Qt Multimedia
We have updated the Android version on the i.MX6 and the Nexus 7 to Android 4.2, which was helpful in making Qt Multimedia work on these devices.

Qt Sensors
The sensors API’s on Android seems to be pretty standardized, so we have made Qt Sensors work on Android (can be tested on the Nexus 7). On Linux the sensors API’s seems less standardized, so we don’t have an out of the box solution for sensors on Linux.

Input devices
Touch, mouse and keyboard handling has received fixes to the known issues, so these are fully supported.

New reference devices
In the Boot to Qt Technology Preview 2, some of the feedback was that people wanted the Raspberry Pi as a reference device. This has been done, so now you can use the Raspberry Pi (model B) out of the box with Qt EE. Also, we are now allowed to distribute software from Freescale, which allows us to present the i.MX 6 as a reference device also on Linux.

Supported modules

An overview of the supported modules can be found here.

Supported platforms in Qt

With the launch of Qt Enterprise Embedded Android is introduced as a fully supported embedded platform in Qt.

Documentation

The documentation for Qt Enterprise Embedded can be found here.

Versions

The “Boot to Qt” software stack (v 1.0) is based on Qt 5.1 and Qt Creator 2.8.

Qt Enterprise Embedded in Action

We are really happy to announce that one of the early adapters of the Boot to Qt Project is already in production. You can read more about their experiences on the product page.

Getting Started

To get started with Qt Embedded Enterprise, you can request a free 30-day trial via the try now page.

Existing Qt Enterprise customers with an embedded Linux license can access the Qt Enterprise Embedded installer in Customer Portal download area.

We are looking forward to your feedback!

Did you like this? Share it:

Posted in Embedded, Qt

18 comments to Introducing Qt Enterprise Embedded (aka Boot to Qt)

Donald says:

This is looking pretty damn good. The performance is always nice to see, but the Creator integration is something I mused over and is the kicker :)

What version of Qt do you have running on the Raspberry Pi :) V4 is currently kicking me in the wotsits when I try to get it compiled (for the Pi)

Sinan Tanilkan says:

On the Raspberry Pi we are running Qt 5.1.1.

I would guess that you are using Qt 5.2 alpha or beta, The v4 issues you have should be sorted by Qt 5.2.0. Hope you have filed bugreports for the issues you have found.

As v4 was introduced after Qt 5.1.1, you shouldn’t face any issues with that on Qt Enterprise Embedded.

Mark says:

Hi,

This looks really great! Does it also work on the iPad (3rd generation)?

Sinan Tanilkan says:

The Boot to Qt stack only supports Android and Linux.

fonzi337 says:

It would be awesome if iPad were supported.

Mike says:

The most important part of this is that the way that “Boot to Qt” rhymes will finally get people to pronounce Qt correctly. Or not.

JKSH says:

You, sir, deserve a like/+1/upvote :D

Navid Nabavi says:

This project is really great!! but i think about any RTOS or Embedded kind of system to support more Micro Controllers. This project may help really can industrial projects. So I really like to see what is going on on the next releases.

Laszlo Papp says:

I wonder if you have plans to get QtSerialPort into the supported modules for the next release?

Btw, looks nice overall even if I do not use QtCreator… :)

Sinan Tanilkan says:

Thanks for letting us know what matters to you.

We’ll make sure it’s on the todo list. Let’s see what can be done.

How difficult is to port Qt Enterprise Embedded to some other Android device?

This looks like an excellent opportunity to develop Qt/Android-based tablets and telephones (yes, I’m thinking specifically in the KDE Vivaldi project)

Will the Qt EE source be available? In case the answer is “no”, what about licenses for open source development (Qt EE as base, open source on top)?

Sinan Tanilkan says:

Porting Qt Enterprise Embedded to new Android devices has been pretty straight forward on the devices we have tried so far.

There are parts of the stack that is not open source.

Will the closed-sourced parts be open sourced in the near future?

Sinan Tanilkan says:

I don’t think so.

suy says:

What graphical system uses Qt on Linux embedded? Wayland? I guess the old QWS is no more, right?

Laszlo Agocs says:

EGL and OpenGL ES 2.0. No windowing system is in use currently in Qt Enterprise Embedded since there is a single fullscreen Qt UI application running at a time (plus of course any number of headless apps in the background).

Filip Piechocki says:

It would be nice to have complete wayland support, as it looks like wayland is the way to go (and not only for embedded devices).

There is another important thing: what is the power consumption? I mean that if we have some simple QtQuick app, is the OpenGL rendering not increasing power consumption to much?

Gunnar Sletta says:

A multi window stack, most likely using Wayland, is something that we are hoping to include in a future release.

As for power consumption, it is hard to make any claims without a specific usecase. The OpenGL chip generally needs less power to produce the same graphics output compared to the general purpose CPU, but one also tends to do more once the capability is there.

Commenting closed.