Published Thursday January 22nd, 2015 | by nezticle
When Qt Quick 2 was introduced with the release of Qt 5.0, it came with a minimum requirement of either OpenGL 2.0 or OpenGL ES 2.0. For desktop and mobile platforms this is usually not an issue, and when it is for example on Windows, it is now fairly easy to use an OpenGL software rasteriser as a fallback. If however your target is an embedded device without a GPU capable of OpenGL ES 2.0, then software rasterisation of OpenGL is an unwise option. It is typical that the embedded devices without a GPU have less CPU resources available as well, so the overhead introduced by the software rasterisation of OpenGL leads to unacceptable performance for even the most simple content. Also many of the performance optimisations gained by using OpenGL for rendering Qt Quick 2 scenes are negated by software rasterisation.
So as a solution to our Professional and Enterprise customers we are now providing an alternative scene graph renderer called the Qt Quick 2D Renderer.The Qt Quick 2D Renderer works by rendering the Qt Quick scene graph using Qt’s raster paint engine instead of using OpenGL. Read more …
The upcoming Qt 5.5 has received a number of improvements when it comes to running without a windowing system on Linux. While these target mainly Embedded Linux devices, they are also interesting for those wishing to run Qt applications on their desktop machines directly on the Linux console without X11 or Wayland.
With the Qt 5.4 update for Qt for Device Creation it is now possible – on certain embedded systems – to run Qt applications on top of a Wayland compositor by relying only on the provided reference images without any additional modifications. While the stable and supported approach remains eglfs, the lightweight platform plugin that allows running fullscreen Qt applications on top of EGL and fbdev with the best possible performance, those who do not require any of the enhanced tooling but need to have multiple GUI applications running on the same screen can start experimenting with a Wayland-based system already today.
In this post we will take a look how this can be done on i.MX6 based systems, like for example the Sabre SD and BD-SL-i.MX6 boards.
For creating devices with Qt, we offer a whole toolkit consisting of Qt libraries, pre-built but customizable software stack (Boot to Qt), value-add components and full embedded tooling around the Qt Creator IDE.
Now, It’s time to update our offering by updating the pre-built Boot to Qt software stack with the latest Qt 5.3.2 and upgrade some of the provided value-add components. Also Qt Creator IDE has been updated since our last update. To read more about the whole toolkit for creating devices with Qt see the documentation overview.
Qt 5.3.2 packs a bunch of bug fixes and improvements to functionality based on feedback and reports we have received. Qt 5.3.2 maintains backward and forward compatibility, both source and binary, with Qt 5.3.0 and the latest, 5.3.1, which was released this June. See more from the Qt 5.3.2 release blog post.
Many of our value-add components have been updated as well. The Qt Quick Compiler has gotten it’s first update, Qt Quick Enterprise Controls have been improved by adding the frequently requested Tumbler control and the Qt Virtual Keyboard is now updated to version 1.2 that provides new layouts and features.
Qt Creator IDE has also been updated with a patch release to version 3.2.2. The Qt Creator 3.2.2 patch release contains a few essential fixes for the embedded functionality on top of fixes provided by the Qt Creator 3.2.1 update from about a month ago.
Qt Enterprise Embedded provides pre-built system images for a range of popular devices, like the Nexus 7 tablets and the BeagleBone Black. With these, you can make your device “boot to Qt” and be up and running with embedded development literally within minutes. But what if you want to try a device that is not among these reference devices of Qt Enterprise Embedded? Until recently, as an evaluator, you were basically out of luck. And even with an Enterprise license, you would have to rebuild the image from scratch for your device, a process that can take some time. Now, with the recent update of Qt Enterprise Embedded, there is another option available. If your device runs a recent version of Android, it is now possible to install the Boot to Qt stack directly into the existing Android system image; in effect taking it over. We call this method Android injection. In this blog post we will show how this process works in practice. We will use a device called the ODROID-U3 as our example.
We released Qt 5.3.1 a week ago and now we’ve updated the Qt Enterprise Embedded offering as well. In addition to the Qt framework upgrade, we have developed a few new interesting features and also updated the tooling and some of the enterprise add-on features. We are especially proud about our new Android injection solution that lets you take the Boot to Qt software stack into a large variety of Android devices with little effort.
With this update we are also introducing the first Qt supported CoM, Computer-on-Module, for embedded Linux as we announce official support and pre-built binaries for Apalis i.MX6 CoM module from our Qt Technology Partner Toradex. Using the Apalis i.MX6 module from Toradex with our pre-built Qt stack, you can reduce the needed HW and SW effort enabling fast and cost-efficient creation of various embedded systems directly leveraging the state-of-the-art features of this powerful combination.
We are happy to release an update to Qt Enterprise Embedded with lots of new features based on the recently released Qt 5.3
What is Qt Enterprise Embedded?
Qt Enterprise Embedded is a full solution for creating embedded devices, with Qt Enterprise libraries, using a fully integrated development environment, along with a pre-built Qt-based software stack – called Boot to Qt.
It has been a while since our last blog post and we would like to provide a short summary of our work and our future plans.
In the meantime, we have added several interesting features such as support for WebRTC or the system clipboard. We added support for Tooltips and Find Text to the Widgets API. Also, we spent a significant amount of time expanding our APIs and verifying these by porting example applications from Qt WebKit to Qt WebEngine.
Qt WebEngine in Action
The following video shows Qt WebEngine in action on multiple platforms. Some very exciting features shown in the video include WebRTC being used for video conferencing and WebGL and CSS animations running on embedded linux. Further it also shows HTML5 Video running on an off-the-shelf embedded device.
Focusing on Embedded
Since last year, we have been working on getting Qt WebEngine running on Linux and Mac OS X. These are already running pretty well as shown in the video above. However, given the market requirements and the high number of requests received for web content on embedded platforms, we have had to slightly shift the team’s focus. Having a well performing, high-quality web engine is a key requirement for many embedded devices, and we want to cater to these with the upcoming release of Qt WebEngine. Therefore, in the past few months we have placed more emphasis on the embedded Android and embedded Linux operating systems that form part of Qt Enterprise Embedded.
It’s time for an update on Qt Enterprise Embedded – featuring Qt Creator 3.1.0, integrating new Qt Enterprise modules, connectivity improvements and a few other items we hope you will like. For Qt Enterprise Embedded, we are providing regular patch updates with bug fixes, enhancements and pre-built versions of our latest Qt Enterprise components.
Here is an overview of what we have done since last time:
Cloud-Connect Your Device
As cloud-connectivity is part of modern embedded device creation, we’ve made it even easier to integrate into Qt Cloud Services. Access to Enginio Data Storage is now provided built-in with the Qt Enterprise Embedded. Through Qt Cloud Services, you can immediately instantiate a whole cloud backend for you embedded, mobile and desktop Qt clients–all through a convenient Qt API. Together with the newly added Bluetooth support (using BlueZ) and the existing Wi-Fi and wired network support, you have everything you need for implementing Internet-of-Things, all within the reach of single technology.
For 3D visualization of data we’ve integrated the Qt Data Visualization library to the built-in offering. With the library you can create amazing and well-performing 3D visualizations using 3D bars, 3D scatters and 3D surfaces.
Embedded World 2014 was a great event and we had busy 3 days showing over 15 great Qt demos shown together with our customers and partners. So, a big thank you to everyone who joined us at Embedded World 2014! Below is just a small snippet from the three days packed full of demos, discussions, “LIVE Qt Coding” theatre sessions and a lot of networking!
The Qt Blog provides you with one area for all Qt development posts from our Qt engineering experts. It includes information on projects in the works, tips and tricks, technical release information and more from our pool of very clever Qt developers.