The slides the presentation on Revolutionizing Automotive with Qt by Johan Thelin from Pelagicore. Originally presented at the Qt World Summit 2015 in Berlin.
4. 10/5/20155
Open Source Stacks
• There are two major open source efforts in the IVI space
– GENIVI
– AGL (Automotive Grade Linux)
• GENIVI defines a standard automotive platform
– Identifying existing components
– Developing components to fill the gaps
• Both project build demonstrator platforms
5. 10/5/20156
• There is a difference between building a
screen into a car and bringing a screen into the
car
• Safety requirements
• Driver disruptions
• Driver workload management
• Driven by liability and legal requirements
Legal Challenges
6. 10/5/20157 10/5/20157
Automotive Challenges
• Sudden loss of power
• Boot time requirements
• Aborted shutdown requirements
• FLASH wear
• Latency requirements
• Expected life of product
• Length of projects
• Size of projects
• Complex supplier relationships
• Purchasing processes
• …
7. 10/5/20158
The PELUX Stack
Base Operating System
CPU Adaptations ECU Adaptations
plx.
Resource
Access
Manager
GENIVI Services S S S S
plx.
Application
Manager
plx.SoftwareContainer
QtIVI
Application
System UI
Application Application Application
8. 10/5/20159
Apps in Cars
• Remember MirrorLink?
• Who owns the data?
• Native applications
– We see a large demand for this
– Possible to add functions during the vehicle life-time
– Matches the customer expectations
• Side effects
– Partitioning the UI in exchangeable parts
– Smaller updates
9. 10/5/201510 10/5/201510
plx.ApplicationManager
Qt Compositing using Wayland
• Modern, multi-process architecture
• Application Lifecycle Management
• Security model to protect integrity
• Hardware accelerated compositing using
Wayland
• OpenGL and HTML applications can be
seamlessly composited
• Elevates Qt from being a UI and
application framework to being a fully-
fledged automotive UI software platform
Application
Input Management
Notification infrastructure
Assembled views
10. 10/5/201511
Wayland window compositor
• Wayland protocol compliant
• Token based display authorization for registered apps
• Implement in QML with full Qt animation support
Security and Lifecycle Management
• Application isolation via Linux Containers
• Package installation, updates and removal using self
contained bundles
App launcher
• Central point for starting and stopping internal and 3rd
party apps
• Managing out-of-memory situations
• Quick launch for all Qt based apps
User input management
• Central virtual keyboard component
• Transparently used by all apps
• Integrated with Wayland compositor
plx.ApplicationManager
12. 10/5/201513
Qt IVI – Extensible Platform APIs
• Qt IVI provides an integration pattern for creating Qt APIs
with flexible backends
• It consists of three main components
– Core, provides discovery mechanism and base classes
– Feature, provides APIs to apps
– Backend, implements feature APIs
• A typical deployment consists of multiple
features and backends
Core
Feature
Backend
App
13. 10/5/201514
Feature Scope
• Provide a reference API based on the W3C Automotive APIs
• Qtified APIs
– QML import modules per feature area
– Properties, signals and slots
– Item models
• Brings key concepts
– Zones
– Optional features
• It is extensible – add you own APIs!
ClimateControl {
id: climateControl
autoDiscovery: true
}
SpinBox {
value: climateControl.Zones.frontLeft.steeringWheelHeater
onValueChanged: {
climateControl.Zones.frontLeft.steeringWheelHeater = value
}
}
ListView {
model: climateControl.model
}
14. 10/5/201515
One Feature, Multiple Backends
• Multiple backends
– Testing
– Early development
– Different targets
• Shared contents per Feature
– App-facing API
– Documentation
– Blackbox tests
Feature
Simulator
App
TargetStub
15. 10/5/201516 10/5/201516
Application SDK
Software development kit
• Qt Creator based – supports
Windows/OSX/Linux
• Integrated with your System UI and UI
Components
• QmlLive – enables quick round-trip to
target hardware
• QtEmulator – enables evaluation on
desktop against simulated service APIs
• Reference UI – provides a starting point
16. 10/5/201517 10/5/201517
QmlLive
• Live reloader – simply save an see the changes
• Client / server – run it on your target
• Open source – grab it and improve it!
https://github.com/Pelagicore/qmllive
• Enables rapid UI prototyping
• Quickest turn around times around!
18. 10/5/201519
The PELUX Stack
Base Operating System
CPU Adaptations ECU Adaptations
plx.
Resource
Access
Manager
GENIVI Services S S S S
plx.
Application
Manager
plx.SoftwareContainer
QtIVI
Application
System UI
Application Application Application
19. 10/5/201520
Building the Qt Automotive Suite
QtIVI
plx.
Application
Manager
Neptune Application Application
Base Operating System
CPU Adaptations ECU Adaptations
GENIVI Services S S S