Qt Automotive Suite 5.15.0 released
Qt Automotive Suite 5.15.0 has been released. It is now available for Qt Automotive Suite licenses holders via the Qt Online Installer / Qt Maintenance tool.
Qt Automotive Suite is a spiced up version of Qt for Device Creation, with additional automotive supportive features. Qt Automotive Suite 5.15 is a special release as it is the last feature release of the Qt 5 series. Next up in the pipeline is Qt 6.
What is new?
This new release is based on Qt 5.15.0 and brings all of the new Qt 5.13, 5.14, and 5.15 features and benefits to Qt Automotive Suite users. The previous releases of Qt Automotive Suite are correspondingly based on Qt 5.12 LTS and Qt 5.13 feature releases.
Perhaps the biggest new addition is the combined 2D and 3D graphics engine that will be the baseline for the upcoming Qt 6 release. Users of Qt 5.15 Automotive Suite now have an even easier and more performant way to combine both 2D and 3D elements into one User Interface (UI).
Read the blog post on what is new in Qt 5.15 here. Additionally as per new features of Qt itself, there is a long list of additional value, modules, and components that each have major new features.
Qt Application Manager
The Intent IPC framework has a stable API now and is fully documented, shipping with examples. More details can be found here: Qt Documentation - Intents.
Also, a new package abstraction layer was added: Packages can now contain multiple applications. This also ties directly into the Intent IPC system, replacing the application alias feature. Qt Documentation - Migrating code from 5.13 to 5.14.
Support has been added for System UIs as well as for applications in Qt resources - both directly compiled into binaries and external resource files. More details here: Qt Documentation - Use Qt Resources.
The application database is now a fully automatic cache that doesn't require any manual intervention anymore. Details here: Qt Documentation - Application database internals.
Reference UI - Neptune 3
The Automotive Suite comes with a reference user interface (Neptune) that demonstrates Qt features in action. It also provides sample source code and practical how-to implementation instructions for single- or multi-display automotive use cases. The latest version (Neptune 3), part of the 5.15 release, has significant improvements on the visual side as well as with components that are not visible to the eye.
Neptune now has cursor navigation and key support to enable UI navigation via other means, such as via a keypad or gamepad (e.g. console or steering wheel keys). New Neptune code is documented here: keyboard shortcuts and gamepad shortcuts. Cursor Management integrates experimental Cursor Management plugin from Qt Labs and it supports a single-process mode.
There is a totally new, independent Instrument Cluster reference application as part of Neptune 3. The Instrument Cluster application is a stand-alone application with its own life cycle, that can run independently from Neptune 3 UI. The Instrument Cluster application demonstrates how to add necessary information, e.g., music, maps, and a vehicle view to the instrument cluster screen.
As a stand-alone application, Instrument Cluster can be run on a separate hardware board or in a dedicated hypervisor domain. It connects over network to the same backends as the rest of Neptune 3. Compared to the previous version of the Instrument Cluster, it accepts touch and mouse events to switch between modes in the content area: vehicle view, media view and map view.
The Instrument Cluster shares the design and generic components of Neptune 3. For example, if the user has changed the theme in Neptune 3, the same theme will be applied to the Instrument Cluster.
We also included a sample for a Companion application that can be run on desktop or mobile phones. The application can be used to control tell-tales, the language of the System UI, theme and other settings.
Neptune 3 also supports a simulation mode. the simulation mode allows for a moving vehicle to be simulated with visible dynamically changing vehicle data and safety information. The simulation mode and values are controlled via new settings in the sample Companion application. For safety critical information, the Instrument Cluster supports both modes; Non-Safe and Safe UI implementation of the Qt Safe Renderer. In the Maps application we developed a new feature to simulate driving. In addition, both the Head Up Display and Instrument Cluster shows the simulated values, turn-by-turn signs, and the speed limit on the route.
We integrated the Intent IPC framework of the Qt Application Manager into Neptune 3. This enables communication from one application to another and between the application and the System UI. Intent IPC framework is based on a simple logic of sending a command and then waiting for a return value in response.
To increase the quality and stability we integrated Froglogic Squish for automated Neptune UI testing.
Also the Downloads application has gone through a major update. It now supports ver.2 protocol with Deployment Server. This means that there is functionality to filter and request available applications based on target platforms, versions of Qt, and tags.
Last but not least of Neptune 3 new features in this release is the support for voice assistants (as seen in the top picture). This allows user to operate features by voice commands. The example is integrating Amazon's Alexa (C) as the voice assistant. Alexa Skills provides the ability to open and control the Music and Vehicle app by a voice commands. There is a boot2qt reference image for the Intel NUC hardware platform with the integrated Alexa SDK. The voice assistant (Alexa) sample application can be installed via the Downloads application within the Neptune 3 sample applications.
Automotive Suite QML Live
In this release, we reviewed and enhanced the QML Live documentation to be accurate and consistent across the whole of the Qt Automotive Suite documentation. The focus is on the key concepts, usage, term definitions and simplification of the documentation to reflect what a developer/user needs to know to be able to use QML Live to accomplish a particular task successfully.
QML Live preview now works with compiled-in resources and allows users to develop and build custom plugins with resources compiled in.
In order to better support target devices where the workspace is read only, updates will be stored in a writable overlay stacked over the original workspace with the help of QQmlAbstractUrlInterceptor. By default, updates are only accepted for existing workspace documents. This can be changed with the console option to allow creating of new files.
Deployment Server now supports Qt Application Manager protocol ver.2. There are also numerous other updates directly answering existing customer engineering needs. Deployment Server now supports filtering by tag in the application list with Qt versions, platform & OS or free tags. The server responds with a list of packages, matching the query.
The Deployment Server can be set up with a regular web server: Apache, Lighttpd, or Nginx. This web server can be used to reduce the number of open ports or to add a layer of SSL encryption: Http Server setup.
The Qt IVI Autogenerator was updated to be based on the newer QFace 2.0 version. With this change, some more refactoring was done within the autogenerator and the new folder structure makes maintaining the functionality easier. While working on the new structure, we also improved the error handling to provide you with more information, when there are errors in your IDL or annotation files.
This also allowed us to switch to the rule YAML format from QFace 2.0, which allows the generation templates to be even more flexible and powerful. In case you have written your own generation templates, we encourage you to update to the new format, while the old format is still supported for a while. Look for Qt Documentation - Generation Yaml.
In addition, the new Autogenerator provides you with a way to split your IDL files into multiple ones and make it scale for larger environments. To allow using types defined in other IDL files, it is now possible to import those by using the new QFACE_IMPORT_PATH qmake variable. Qt Documentation - IVI Import Option.
Especially to better support the QtApplicationManager in-process runtime, the service discovery within Qt IVI got improved to allow adding new search paths at runtime, and by that also allow in-process applications to have their own QtIvi backends.
Qt Safe Renderer 1.1.2
Qt Automotive Suite 5.15.0 contains also Qt Safe Renderer 1.1.2 (QSR). This release contains bug fixes and, compared to the previous QSR releases, a pre-build “qtsafercctool” binary (replacing the previously available“qtsafelayouttool” binary.) All QSR 1.1.2 features and fixes can be found here.
There are seven fixed issues in the QSR 1.1.1 certified code: QSR-337, QSR-568, QSR-586, QSR-595, QSR-627, QSR-646 and QSR-654. Addditionally, QSR 1.1.0 certified code contains fixes for: QSR-488, QSR-552, and QSR-471. Fixes in these earlier releases of QSR are also part of the QSR 1.1.2.
GammaRay application inspector
The Qt application introspector GammaRay received a number of performance improvements for the event monitor. The Qt Quick remote view got a new OpenGL ES 2 fallback implementation for the Qt 3D geometry inspector, and can now better visualize input event propagation in Qt Quick applications.
You can find a set of video tutorials helping you to get started with GammaRay.
Need more info?
If you have questions about Qt Automotive Suite, please contact us.
Subscribe to our newsletter
Try Qt 6.6 Now!
Download the latest release here: www.qt.io/download.
Qt 6.6. is a feature release with focus on improving UX capabilities including responsive UI technology and the Qt Graph module.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.