Integration of the Chromium. Browser in the GENIVI Platform

Similar documents
Update on the open source browser space

Wayland Support in Open Source Browsers

LibreOffice. Architecture, accessibility and QA g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Jacobo Aragunde Pérez

WPE. Current Status & Future. Žan Doberšek.

Chromium s Way to Wayland October 11, 2017

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

GRILO. Feeding applications with multimedia content. GUADEC, The Hague, July Iago Toral Quiroga.

Media Source Extensions

JavaScript. jquery and other frameworks. Jacobo Aragunde Pérez. blogs.igalia.com/jaragunde

Contributing to Automotive Grade Linux and GENIVI Development Platform

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

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

The pathway to Chromium on Wayland

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Wayland IVI Extension

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

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

Community preferred Renesas BSP Activity and How to use kingfisher on AGL

Building a Browser for Automotive: Alternatives, Challenges and Recommendations

Remote Access and Output Sharing Between Multiple ECUs for Automotive

Creating a profile from Tizen:Common. Stéphane Desneux Senior Software Engineer Eurogiciel

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

Building a Remote Control Robot with Automotive Grade Linux

Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

Tizen IVI Architecture New features

Managing build infrastructure of a Debian derivative

From Separated ECUs to a Display Cluster April 18, 2018

Android OS and Power Architecture

In the Driver s Seat

Linux in Automotive From Open Source to Products

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

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

GENIVI Web Vehicle API. 11/14/2012 Justin (JongSeon) Park LG Electronics Inc.

GStreamer in the living room and in outer space

GStreamer in the living room and in outer space

OpenSDK OE Builds on 96Boards. Andrey Konovalov (LHG)

meta-raspberrypi Documentation

State of the ${kit} (kit=webkitgtk+) Adrián Pérez Igalia

Graphics Stack Update

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

Kick Start your Embedded Development with Qt

Introduction to Android

Desktop software in pkgsrc. Kamil Rytarowski

i.mx 6 Yocto Project Patch Release Notes

Autonomous Driving Solutions

Qt for Device Creation

LIBXSMM Library for small matrix multiplications. Intel High Performance and Throughput Computing (EMEA) Hans Pabst, March 12 th 2015

Fosdem Feb/2018. Frederic Marec Embedded Engineer

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

Embedded. Connected. Aware. SW Delivery Process. February Inforce Computing. Do NOT Copy/Distribute without prior written permission

FSL Community BSP Release Notes Documentation

FSL Community BSP Release Notes Documentation

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Smart Device Link Integration into Linux systems

Red Hat JBoss Enterprise Application Platform 7.1

Red Hat JBoss Enterprise Application Platform 7.2

Packaging made easy. How the opensuse build service makes building packages easy for developers who don't care about packaging

AMM Feb/2018. Frederic Marec Embedded Engineer

GDP Next. Gunnar Andersson Development Lead, GENIVI Alliance

Xen Project Automotive and Embedded Overview

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center

Digi Embedded Yocto 1.6. First Steps Guide

Security model for embedded systems using Smack *

Real-Time Systems and Intel take industrial embedded systems to the next level

February 2 nd Jean Parpaillon

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

How to trim clips in the Timeline panel

Ravindra Babu Ganapathi

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Mikhail Dvorskiy, Jim Cownie, Alexey Kukanov

Control-flow Enforcement Technology H.J. Lu. Intel November, 2018

Graphics Performance Analyzer for Android

Red Hat Process Automation Manager 7.0 Managing and monitoring business processes in Business Central

Red Hat OpenStack Platform 13

New Tizen Bluetooth Framework

Tizen Overview (Tizen Ver. 2.3)

Domain Interaction Strategy

The Embedded Linux Problem

Red Hat JBoss Enterprise Application Platform 7.0

JavaFX. JavaFX Overview Release E

GENIVI Browser Proof-of-Concept

Collect Linux Hardware Trace for ARMv8 User Space and Kernel Space Applications

OpenEmbedded in the Real World

NVIDIA COLLECTIVE COMMUNICATION LIBRARY (NCCL)

Sample for OpenCL* and DirectX* Video Acceleration Surface Sharing

The Mobile Internet: The Potential of Handhelds to Bring Internet to the Masses. April 2008

Getting Started with Intel SDK for OpenCL Applications

Mentor Automotive Save Energy with Embedded Software! Andrew Patterson Presented to CENEX 14 th September 2016

Supporting a new ARM platform: the Allwinner example

4K HEVC Video Processing with GPU Optimization on Jetson TX1

Supporting a new ARM platform: the Allwinner example

Intel Xeon Phi Coprocessor. Technical Resources. Intel Xeon Phi Coprocessor Workshop Pawsey Centre & CSIRO, Aug Intel Xeon Phi Coprocessor

New coding practices for LSDALTON

Kernel driver maintenance : Upstream vs. Industry

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Meet Crosswalk New HTML5 Runtime. Sakari Poussa Intel

Isar. Build Debian-Based Products with BitBake. Baurzhan Ismagulov. Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany

Best Practices. Joaquim Rocha IT-DSS-TD

NVIDIA COLLECTIVE COMMUNICATION LIBRARY (NCCL)

SC18 OpenMP BoF Report (BoF 109) Jim Cownie, Michael Klemm 28 November 2018

Transcription:

static void _f_do_barnacle_install_properties(gobjectclass *gobject_class) Integration of the Chromium { GParamSpec *pspec; Browser in the GENIVI Platform /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE G_PARAM_WRITABLE G_PARAM_PRIVATE); Jacobo Aragunde Pérez blogs.igalia.com/jaragunde g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE,

Open Source experts and consultants 15 years of experience Important contributions to: Client-side web technologies: WebKit, Blink/Chromium, Servo Graphics & Multimedia: Mesa, GStreamer Compilers: V8, JavaScriptCore, SpiderMonkey, Guile Software-defined networking: Snabb...

Introduction

Goals of the project Integrate full-featured Chromium browser in GDP Use Intel s Ozone-Wayland project, most complete implementation of Wayland so far Get latest possible version of the browser working Analyze and fix multi-seat implementation, if required Funding: GENIVI challenge grant and Igalia contributions

Elements and versions Chromium: latest stable release was 54 at that point Ozone-Wayland: latest branch supports Chromium 53 Meta-browser: supporting Chromium 48 GENIVI BSPs

Rebase & integrate Chromium browser

Simplify configuration Work on meta-browser Obsolete CHROMIUM_ENABLE_WAYLAND detection Build chromium+wayland version 53 Recipe was pointing to version 48 Required patch backport Fix specific build scenarios x86 32 bit, mixed x11+wayland libs Contributed to upstream meta-browser project

Integration in GDP Integration with HMI:.app and.service files.desktop for GDP12/master Force window size to get the proper aspect ratio Fix compilation on different platforms: Raspberry Pi 3, R-Car Gen 3 Backport upstream chromium patch to fix issues with kernel >=4.5 (GDP master) Under revision on PR#53 (GDP master) GDP 11 patches available in branch

Current status GDP integration under revision on PR#53 (GDP master) Supported hardware: Minnowboard: up and running R-Car Gen. 3: up and running Raspberry Pi 3: work in progress HMI integration in GDP 12/master Detected some issues in HMI side, hopefully fixed in master

Multi-seat implementation

Analysis Check status of multi-seat features in Ozone- Wayland Issues found: Keyboard focus can be stolen Only one browser window receives all input events on a multi-seat configuration

Keyboard focus can be stolen Underlying cause: no independent keyboard and pointer focus Window with pointer focus also receives keyboard events Solution: Split keyboard and pointer focus Modify window focus logic Enable window focus on keyboard events Break assumption of only one focused window

Flow of events in Chromium processes

Multi-seat configuration problems Underlying cause: assumption there is only one focused window Focused window receives all events Chromium browser process gathers all events and sends them to the focused window No awareness of the different seats sending events

Parts of the solution Input device abstractions must be aware of the seat they belong to Add extra information to internal IPC messages related to events Browser process must be aware of the concept of seat New IPC signal to sync seat objects between GPU and browser processes GPU process must check seat assignment Sync with browser process using a new IPC signal

Current status WIP implementation available in branch wip/multi-seat Implementation is feature complete Requires some additional work & clean-up Goal: contribute back to main Ozone-Wayland project Probably required to remove IVI input bits

Next steps

GENIVI future plans Short term: hardware support, Raspberry Pi CEF on Wayland Will provide a stable API to build upon Will provide API for embedders Browser API implementation Start with a small subset of operations

GENIVI future plans Integration with GENIVI subsystems: Audio Manager Persistence API Longer term: replace Ozone-Wayland Wait until upstream catches up

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 (CC BY-SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries GENIVI logo GENIVI Alliance 2017. Contents Igalia, S.L. 2017.