Experiences Developing a Wayland Based IVI HMI. Ossama Othman 28 May 2013

Similar documents
Experiences Developing a Wayland-Based Tizen IVI HMI. Ossama Othman

Weston Plugin Based IVI Layer Management. Ossama Othman 20 September 2012

Linux in Automotive From Open Source to Products

IVI Graphic Subsystem: Weston IVI-shell is ready for Product

Wayland IVI Extension

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL

Creating outstanding digital cockpits with Qt Automotive Suite

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

Introduction to Intel Boot Loader Development Kit (Intel BLDK) Intel SSG/SSD/UEFI

Intel Setup and Configuration Service. (Lightweight)

Intel vpro Technology Virtual Seminar 2010

Sample for OpenCL* and DirectX* Video Acceleration Surface Sharing

Intel Desktop Board DZ68DB

Graphics Pass-through with VT-d

In the Driver s Seat

BIOS Update Release Notes

Towards More Power Friendly Xen

Intel Stereo 3D SDK Developer s Guide. Alpha Release

See What's Coming in Oracle CPQ Cloud

BIOS Update Release Notes

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

OpenCL* and Microsoft DirectX* Video Acceleration Surface Sharing

Intel Unite Plugin Guide for VDO360 Clearwater

Making Nested Virtualization Real by Using Hardware Virtualization Features

VISUAL APPLICATION CREATION AND PUBLISHING FOR ANYONE

BIOS Update Release Notes

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd.

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

Intel Education Theft Deterrent Release Note WW16'14. August 2014

Drive Recovery Panel

Intel Server Board S2600CW2S

Intel Virtualization Technology Roadmap and VT-d Support in Xen

Innovating and Integrating for Communications and Storage

Intel Open Source HD Graphics, Intel Iris Graphics, and Intel Iris Pro Graphics

Update on the open source browser space

Chromium on Wayland - Status update. Automotive Grade Linux F2F meeting (04/2017) Antonio Gomes & Silvia Cho

Reboot: Tizen Widget Framework. Hyun Ho, Kang Engineer Samsung Electronics. Copyright 2017 Samsung. All Rights Reserved.

Using Tasking to Scale Game Engine Systems

Intel Platform Administration Technology Quick Start Guide

Specification Update. January 2014

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Migration Guide: Numonyx StrataFlash Embedded Memory (P30) to Numonyx StrataFlash Embedded Memory (P33)

Intel IXP400 Digital Signal Processing (DSP) Software: Priority Setting for 10 ms Real Time Task

The Wayland Display Server

Intel Graphics Virtualization Technology. Kevin Tian Graphics Virtualization Architect

LED Manager for Intel NUC

KVM for IA64. Anthony Xu

Intel Authoring Tools for UPnP* Technologies

BIOS Update Release Notes

BIOS Update Release Notes

Configuring Microsoft Windows Shared

Integration of the Chromium. Browser in the GENIVI Platform

BIOS Update Release Notes

BIOS Update Release Notes

Etanova Enterprise Solutions

BIOS Update Release Notes

Intel Transparent Computing

More performance options

Intel Atom Processor E3800 Product Family Development Kit Based on Intel Intelligent System Extended (ISX) Form Factor Reference Design

Intel G31/P31 Express Chipset

Intel 945(GM/GME)/915(GM/GME)/ 855(GM/GME)/852(GM/GME) Chipsets VGA Port Always Enabled Hardware Workaround

Yocto Overview. Dexuan Cui Intel Corporation

Enhancing pass through device support with IOMMU. Haitao Shan Yunhong Jiang Allen M Kay Eddie (Yaozu) Dong

QtWayland. Creating Window Compositors with the QtWayland module

Non-Volatile Memory Cache Enhancements: Turbo-Charging Client Platform Performance

Intel Unite Solution. Linux* Release Notes Software version 3.2

Solid-State Drive System Optimizations In Data Center Applications

Using Web Workers to Improve the Performance of Metro HTML5- JavaScript* Apps

Installation Guide and Release Notes

BIOS Update Release Notes

Intel AppUp SM developer program and Native Apps

Jomar Silva Technical Evangelist

Clear CMOS after Hardware Configuration Changes

Understanding Windows To Go

INTEL PERCEPTUAL COMPUTING SDK. How To Use the Privacy Notification Tool

Nested Virtualization Update From Intel. Xiantao Zhang, Eddie Dong Intel Corporation

Trusted Platform Module (TPM) Quick Reference Guide

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

Intel Desktop Board D945GCLF2

Intel Serial to Parallel PCI Bridge Evaluation Board

IEEE1588 Frequently Asked Questions (FAQs)

Intel Server Board S2400SC

WPE WebKit. HTML5 user interfaces for embedded devices. Juan José Sánchez Penas Embedded Linux Conference Prague, October 2017

Intel Cache Acceleration Software for Windows* Workstation

Intel Atom Processor Based Platform Technologies. Intelligent Systems Group Intel Corporation

Intel SDK for OpenCL* - Sample for OpenCL* and Intel Media SDK Interoperability

BIOS Update Release Notes

BIOS Update Release Notes

Oracle Mobile Application Framework

Intel Desktop Board DH61CR

Intel and the Future of Consumer Electronics. Shahrokh Shahidzadeh Sr. Principal Technologist

BIOS Update Release Notes

I/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班

BIOS Update Release Notes

Graphics Performance Analyzer for Android

Modern and Responsive Mobile-enabled Web Applications

Intel Desktop Board D2700DC. MLP Report. Motherboard Logo Program (MLP)

BIOS Update Release Notes

BIOS Update Release Notes

Tizen IVI Architecture New features. Dominig ar Foll, Intel Open Source

Transcription:

Experiences Developing a Wayland Based IVI HMI Ossama Othman 28 May 2013

Context Provide human-machine interface (HMI) better suited for Tizen IVI Driver safety React to vehicle state Options Leverage existing user interfaces: mobile, desktop Develop IVI-specific HMI 2

Problems Mobile and desktop user interfaces Suboptimal screen geometry: resolution, orientation Do not react to vehicle state Not safe for drivers Many features are not useful or suitable for IVI Underlying graphics subsystem may be too large or slow Develop IVI-specific HMI May require kernel and graphics hardware expertise May require additional resources for in-house development Cost Compositor User Space Input Framework Kernel KMS evdev DRM Graphics Driver Hardware Graphics Input 3

Solution Develop IVI HMI by leveraging Wayland and HTML5/JS Efficient Lightweight Rapid prototyping Simple architecture Open-source Avoids legacy issues with mobile and desktop 4

5 HMI Components

HMI Service Provides home screen Facilitates layout of application graphical surfaces Out of scope Application lifecycle management Sound handling and policy Input management 6

Compositor Handles interactions with graphics hardware Combines and renders multiple graphical surfaces into an image displayed on-screen Wayland Core compositor protocol used by IVI HMI Additional IVI HMI-specific Wayland-based protocols to be defined Weston Reference Wayland compositor HMI will leverage extensibility to fill feature gaps 7

Application Run-time Provides reusable set of functionality to applications HTML5 Webkit Web API implementations Toolkits Native C library Middleware Toolkits 8

Client Application Draws surfaces in a buffer Cairo OpenGL etc Shares buffer with compositor through Wayland Examples Media player Browser 9

10 Component Structure

11 HMI Server Side

Server Side Architectures HMI Service Stand-alone Integrated Server side architecture remains transparent to the client Just an implementation detail from the client point of view Client does not determine where surfaces are placed 12

Stand-alone HMI Service HMI service is another Wayland based client Separate process from compositor Communicates with compositor just as client application would Example: GENIVI style layer management 13

Stand-alone HMI Service Sequence Diagram sd Stand-alone HMI Serv ice Application libwayland Weston Weston HMI Plugin HMI Service wl_surface_attach() wl_surface_commit() surface_commit() configure_surface() layout_surface() map_surface() weston_surface_update_transform() 14

Integrated HMI Service HMI Service integrated with compositor Embedded directly in compositor plugin Performs same functions as stand-alone service 15

Integrated HMI Service Sequence Diagram sd Integrated HMI Serv ice Application libwayland Weston Weston HMI Plugin wl_surface_attach() wl_surface_commit() surface_commit() configure_surface() layout_surface() weston_surface_update_transform() 16

HMI Server Side Architecture Comparison Pros Cons Stand-alone Integrated Stand-alone Integrated Reusable / Flexible Simpler architecture Better fatal error recovery More efficient: less IPC Rapid prototyping Flexibility may not be needed Less efficient: more IPC Fatal error recovery may be more difficult Potentially easier to compromise compositor state 17

18 HTML5 HMI Problems

Context: HTML5 Based HMI HTML5 based HMI functionality similar to desktop window manager User interaction Layout of applications Both native and Web applications must be supported Application may not be full-screen Application may not be integrated with Web run-time (e.g. through NaCl) IVI-specific paradigms such as layers should be supported Layer is a collection of graphical surfaces Sample layers: home screen decorations, input layer, split screens GENIVI style layer management 19

Problem: Gap Between HTML5 and Native Sides HTML5 based HMI cannot readily layout surfaces created by native application HMI has no knowledge of surfaces created by native applications JavaScript events are not visible to native application Recall that native application may not be integrated with Web run-time Events generated by compositor are not visible to HTML5 based HMI 20

Problem: Supporting the Layer Concept No concept of layers in HTML5 May be emulated using multiple HTML5 Canvases Canvas based approach not always suitable Not all Web applications use HTML5 Canvases Not applicable for native applications 21

Solution Compositor Plugin exposes layer functionality required by HMI Web run-time plugin Provides JavaScript API that allows interaction with the compositor Forwards appropriate events to and from native and application and HTML5 based HMI Alternatives Use WebSockets to communicate between compositor plugin and HTML5 based HMI IVI-specific Node.js extensions 22

23 Other Problems

Desktop Shell-isms Direct use of wl_shell in application or toolkit Specific to desktop shell model / use case Not entirely applicable to IVI Compositor wl_shell implementation may not be available Proposal for better handling of different Wayland shell types currently under review upstream 24

25 Conclusion

Summary Wayland Simple, lightweight, efficient and extensible protocol is ideal for custom HMI developmen HTML5 is a compelling technology for implementing an HMI Many useful HTML5/JS libraries Very active Web API standardization and development Native application integration is seemingly difficult but is tractable, nonetheless 26

References Tizen IVI Images Daily: http://download.tizen.org/releases/daily/2.0alpha/ivi-wayland/ Snapshots: http://download.tizen.org/snapshots/2.0alpha/ivi-wayland/ Tizen 3.0 based IVI images are a work in progress Wayland and Weston http://wayland.freedesktop.org/ http://cgit.freedesktop.org/wayland GENIVI http://www.genivi.org/ http://projects.genivi.org/ivi-layer-management/ 27

Legal INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel may make changes to specifications, product descriptions, and plans at any time, without notice. All dates provided are subject to change without notice. Intel is a trademark of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright 2013, Intel Corporation. All rights are protected. 28