We are happy to announce that Qt Automotive Suite 5.15.0 is now released. It is available for Qt Automotive Suite licenses holders under Qt Online Installer / Qt Maintenance tool.
Qt Automotive Suite is based on spiced up Qt for Device Creation with additional automotive supportive features. Qt Automotive Suite 5.15 is a special release as it is last feature release of the Qt 5 series, next up in the pipeline is Qt 6.
This new release is based on Qt 5.15.0 and brings all new Qt 5.13, 5.14 and 5.15 features and benefits for 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 thing is the combined 2D and 3D graphics engine that will be the baseline for later Qt 6 release. Users of Qt 5.15 Automotive Suite now have even easier and more performant way to combine both 2D and 3D elements in to one User Interface (UI).
Read the blog post on what is new in Qt 5.15 here.
The Intent IPC framework has a stable API now and is fully documented and
ships with examples. https://doc.qt.io/QtApplicationManager/intents.html
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. https://doc.qt.io/QtApplicationManager/migration-guide-5-14.html
Added support for System UIs as well as applications in Qt resources - both
directly compiled into binaries and external resource files. https://doc.qt.io/QtApplicationManager/use-qt-resources.html
The application database is now a fully automatic cache that doesn't need
any manual intervention anymore. https://doc.qt.io/QtApplicationManager/migration-guide-5-14.html#application-database-internals
The Qt IVI Autogenerator was updated to be based on the newer
QFace 2.0 version. With this change also some more refactorings
where 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 and 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.
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. https://doc.qt.io/QtIVI/generator-usage.html#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.
In this 5.15 release, we've invested significant efforts to introduce more new features, including significant improvements of the visual side and components non visible by the eye.
The new version of our Reference UI, Neptune3 UI comes with cursor navigation and key support to enabling UI navigation via other means, such as a keyboard or gamepad. The user can use hardware key on a steering wheel / gamepad / keyboard to control some of the UI components - all used keys, which hardware is required, and how it is implemented in the UI code documented here: keyboard shortcuts and gamepad shortcuts. To support the Cursor Management we integrated the the experimental Cursor Management plugin from Qt Labs, due to the limitations it's available only in the single-process mode.
In this release we completely reworked our Cluster app, now it is a stand-alone app with its own life cycle and can run independently from Neptune 3 UI, allowing user to see the whole scope of necessary information, like music, maps, and vehicle view on the Instrument Cluster screen.
As a stand-alone app, Cluster App can be run on a separate board or in a dedicated hypervisor domain. It connects to the same backends, as Neptune 3 UI, using a network connection. Compared to the previous version of the Cluster App, it accepts touch and mouse events to switch between modes in the content area: vehicle view, media view and map view.
Cluster App shares the design and generic components of Neptune 3 UI. For example, if the user has changed the theme in Neptune 3 UI, the same one will be applied to Cluster App.
The implemented simulation mode allows to view dynamically changing safety information in the Cluster App in the both modes Non-Safe and Safe UI implementation of the Qt Safe Renderer. The simulation mode and values controlled via new settings in the Companion App. In the Maps application we developed new feature to simulate driving. The Head Up Display and Cluster App shows the simulated values, turn-by-turn signs and the speed limit on the route.
TBD: add ControlApp screenshot
The Contral App can be used to control tell-tales, language of the System UI, theme and other settings: https://doc.qt.io/Neptune3UI/neptune3ui-companion-app.html.
We integrated the Intent IPC framework of the Qt Application Manager into the Neptune3 UI enabling apps to communicate with another app or with System UI by sending a command and then waiting for a return value in response.
The quintessense of the new features in this release in an implemention of the support for voice assistants, that allows user to operate UI features by voice commands. The Amazon's Alexa (c) is currently used as a voice assistant and communacating with apps via Intents. The integration of the Alexa Skills provides ability to open and control the Music and Vehicle app by a voice commands: https://doc.qt.io/Neptune3UI/neptune3ui-voice-assistant.html. We provide boot2qt image for the Intel NUC reference platform with the integrated Alexa SDK. The voice assistant Alexa app can be installed via the Downloads App.
TBD: add AlexaApp screenshot
To increase the quality and stability we integrated Squish for automated Neptune UI testing.
We've made significant changes and improvement in the Downloads app, updated Neptune3 UI to report ver.2 protocol to the Deployment Server. Downloads app have have functionality to request available apps according to target platform, version of Qt and tags.
TBD: add DownloadsApp screenshot
In this release, we reviewed and lifted-up the QML Live documentation to look for ways to improve the content so that it is more accurate and consistent across other Qt Automotive Suite documentation. Tried to focus on the key concepts, usage, defining terms, and simplification the documentation to reflect what a developer/user needs to know to be able to use QmlLive to accomplish a particular task successfully.
QML Live now can work with compiled-in resources and allows to develop and build custom plugins with resources compiled in. To improve the process of working with the target devices where the workspace could be 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. It could be changed with the console option allows to create new files.
We updated the Deployment Server to support Qt Application Manager protocol ver.2 and improved a lot to answer various development purposes. Introduced filtering by tag in the application list with versions, the server responds with a list of packages with matched versions. To be able to get the right packages for the exact platform and operating system added configurable filter for applications with the same app Id and architecture but different build toolchains.
The Deployment Server can be set up in combination 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 application introspector GammaRay received a number of performance improvements for the event monitor and 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.
There's now also a set of video tutorials helping you to get started with GammaRay.
Qt Automotive Suite comes also with safety certifiable ... Teemu Holappa
This release contains bug fixes and compared to the previous release pre-build “qtsafercctool” binary additional to previously available“qtsafelayouttool” binary.
There are seven bugs in the QSR release version 1.1.1 certified code: https://bugreports.qt.io/browse/QSR-337, https://bugreports.qt.io/browse/QSR-568, https://bugreports.qt.io/browse/QSR-586, https://bugreports.qt.io/browse/QSR-595, https://bugreports.qt.io/browse/QSR-627, https://bugreports.qt.io/browse/QSR-646, https://bugreports.qt.io/browse/QSR-654.
There were also three bugs in the QSR release version 1.1.0 certified code: https://bugreports.qt.io/browse/QSR-488, https://bugreports.qt.io/browse/QSR-552, and https://bugreports.qt.io/browse/QSR-471. These bugs are all fixed in QSR release version 1.1.2.
If you have questions about Qt Automotive Suite, please contact us.