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

Similar documents
Chromium s Way to Wayland October 11, 2017

The pathway to Chromium on Wayland

Wayland Support in Open Source Browsers

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

Integration of the Chromium. Browser in the GENIVI Platform

Update on the open source browser space

Building a Browser for Automotive: Alternatives, Challenges and Recommendations

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

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

Tizen IVI Architecture New features

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

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

Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

Meet Crosswalk New HTML5 Runtime. Sakari Poussa Intel

Servicification: Modularizing Chromium

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

In the Driver s Seat

X11, X12, What next. And its companion: the ROOT GUI

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

Qt in MeeGo. Zhang Chi Manager of Qt & MeeGo ecosystem, Greater China

Creating outstanding digital cockpits with Qt Automotive Suite

Writing your first Web Data Connector

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Graphics Stack Update

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

What's new in GStreamer

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

Tizen Overview (Tizen Ver. 2.3)

Wayland IVI Extension

Leveraging webos Technologies for Automotive. Lokesh Kumar Goel / Steve Lemke

Contributing to Automotive Grade Linux and GENIVI Development Platform

Introduction to creating 3D UI with BeagleBoard. ESC-341 Presented by Diego Dompe

Power On Tizen with Web API Test Toolkit. Ling Yu, Jenny Cao

Google chrome theme background image

The Road to the Native Mobile Web. Kenneth Rohde Christiansen

Why you should be excited about Qt 5

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Linux in Automotive From Open Source to Products

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

Replacing xorg input- Drivers with libinput

Kick Start your Embedded Development with Qt

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Qt for Device Creation

Nokia for developers. Alexey Kokin. Developer Relations

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

<Insert Picture Here> JavaFX 2.0

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

QtWayland. Creating Window Compositors with the QtWayland module

Yocto Layers and Device Profiles July 11, 2017

Meet Qt. The Leading Cross-Platform Application and UI Framework. The Qt Company. June

IT S COMPLICATED: THE ENTERPRISE OPEN SOURCE VENDOR RELATIONSHIP. Red Hat s POV

Choosing free software graphical libraries for embedded devices

JavaFX. JavaFX Overview Release E

Android OS and Power Architecture

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

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

Domain Interaction Strategy

From Separated ECUs to a Display Cluster April 18, 2018

Using the UEFI Shell. October 2010 UEFI Taipei Plugfest Insyde Software

What's New in CDT 7.0? dominique dot toupin at ericsson dot com

SAMPLE CHAPTER. Using Electron and NW.js. Paul B. Jensen. FOREWORD BY Cheng Zhao MANNING

Khronos and the Mobile Ecosystem

Sakuli End-2-End Testing & Monitoring. December 2017

Embedded Software: Its Growing Influence on the Hardware world

Present and Future of the RhoMobile platform. Migrating legacy applications, Node.js on mobile devices right now and more

Qt in Automotive. FOSDEM // Brussels 2018

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

Sugar: Secure GPU Acceleration in Web Browsers

IGME-330. Rich Media Web Application Development I Week 1

The Automotive Grade Linux Build Service. ALS Tokyo '14, Jan-Simon Möller

Integrating Mobile Applications - Contrasting the Browser with Native OS Apps. Cary FitzGerald

GStreamer in the living room and in outer space

Security model for embedded systems using Smack *

Tizentm. Platform Overview. White paper. An innovative Web-Based platform based on industry standards. Table of Contents. 2 What Is the Tizen TM

Building Mobile Force.com Apps for the iphone and ipad

EFL on Wayland. Rafael Antognolli October, 22th

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

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

The Art of Tizen UI Theme Technology in Various Profiles

JS Event Loop, Promises, Async Await etc. Slava Kim

Web browser architecture

Enlightenment A Toolkit for Embedded and Desktop World. Hermet Park Nov 17

Mobile AR Hardware Futures

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

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

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

WebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01

End-2-End Testing & Monitoring

The Software Delivery Experts. Agile, DevOps & QA Conference

Decision Making Information from Your Mobile Device with Today's Rockwell Software

Adobe Flash Player Manual Firefox Windows 7 64 Bit Chrome

Mesa i965 Scenes from a Quiet Revolution

Smart Device Link Integration into Linux systems

17655: Discussion: The New z/os Interface for the Touch Generation

Firefox for Android. Reviewer s Guide. Contact us:

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015

Firefox OS App Days. Overview and High Level Architecture. Author: José M. Cantera Last update: March 2013 TELEFÓNICA I+D

ShowNTell - An easy-to-use tool for answering students questions with voiceover

Transcription:

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

Who is Igalia? Motivation Background Discussion Agenda

Who is Igalia? Worker-owned, employee-run Open Source consultancy company, based in Spain. ~55 employees around the world. Areas Chromium/Blink, WebKit and Servo; Compilers, JavaScript engines (V8, JSC); Multimedia, Graphics (Mesa), Networking, Accessibility.

Motivation Being able to run Chromium natively in Wayland-based systems will leverage its adoption in a variety of systems / environments. Support from Renesas/AGL, GENIVI (automotive industry consortium for IVI), Bose, Bosch, Volvo, Jolla, Raspberry Pi, Tizen. Fedora 25 is shipping Wayland by default. Major GUI Toolkits have built-in support, including Qt 5, Gtk+, Clutter, EFL.

Background

Background Ozone project Set of C++ classes for abstracting different window systems on Linux. It provides abstraction for the construction of accelerated surfaces underlying the UI Service (Mus), as well as input devices assignment and event handling. //ui/ozone/, //ui/events/ozone/ and //ui/base/cursor/ozone/ Backends: DRM/GBM x11 wayland cast headless

Background May/16 started experimenting with Chromium s Ozone/Wayland. Ported part of the code from 01.org to Chromium ToT. Internal investment content_shell ozone/wayland

Background Igalia got in touch with Google/Chromium developers to understand the plans for //ui/ozone/platforms/wayland figured about the exosphere project and ChromeOS plans for mash //components/exo/ //mash figured that the original desktop integration approach taken by 01.org did not comply with the way future Linux desktop Chrome was planned.

Back in Sept/16 Background Ozone/Wayland (by Intel / 01.org) Off trunk. In maintenance mode - m49 (december/2015). Good community adoption. Ozone/Wayland (Chromium ToT) Partially upstreamed. still behind in terms of functionality if compared against Intel s implementation. ChromeOS / mus+ash oriented. Outdated documentation. Limited buildbot coverage.

Background Sept-Oct/16 Bringing up of Ozone/Wayland. Start experimenting with Ozone!= ChromeOS. Design discussions with Robert Kroeger. Try Mojo IPC. Buildbots Documentation

Background Nov-Dec/16 CES demo: Linux/AGL/Wayland on R-Car M3

Background Nov-Dec/16 Performance on BrowserBench GPU tests

Background Since Jan/17 //mash/simple_wm Analysis of window classes

Chrome / Mus

Desktop integration Linux desktop integration (01.org) Mus Linux desktop integration Browser process Renderer process Browser process Renderer process desktop integration desktop integration (mus) x11 win IPC (Mojo API) ozone/wayland ozone platform wayland (connection) IPC (old API) ozone platform wayland connection GPU process Gpu service (thread) ozone platform x11 UI process

Discussion: Internal vs External Internal-window mode All the aura windows in the system end up sharing a single display. All the ash and Chrome aura windows are embedded within a single top-level acceleratedwidget. External-window mode Modify Chrome and Mus so that Mus creates native acceleratedwidget s for each top-level mus window chrome/mus new flag --mus, sibling to --mash

Discussion: Internal vs External External-window mode, original plan proposed by Robert Kroeger (out of date): Create a new desktop-stub replacement for Ash? Desktop integration. In essence, a subset of functionality currently provided by Ash is delegated to the native window system. Considering using //src/mash/simple_wm as starting point? After talking to sky@ et al, rjkroege@ agreed that this is not the best way to approach to tackle the issue. Alternatively, sky@ proposed to work this out directly on LinuxOS/Ozone builds.

Mus External Window Mode What is the status today? Functional, but WIP. Where is this in the code? Being worked out off trunk, on GitHub. Existing tests mus_demo has been extended to launch multiple windows.

Mus External Window Mode - Status Today (Chromium ToT): Ozone implies ChromeOS. mus+ash == ChromeOS Today (GitHub): Ozone runs on both ChromeOS and LinuxOS Chrome can be ran in mash (ChromeOS + internal window mode). mus (LinuxOS + external window mode).

Mus External Window Mode - Plan Add external window mode support to Mus. Ongoing: Igalia services/ui/demo/ (help from @kylechar): Stub out ScreenManagerOzoneExternal (no delegate) and evolve it. Split up MusDemoInternal / MusDemoExternal. Compile time switch. Use the WindowTreeHostFactory code path on MusDemoExternal. WTHF handles the creation of ws::display* Extend Mus to support external window mode. Rework internal window mode assumptions in the code. 1:1 relation of ws::display and display::display.

Discussion: Mus/LinuxOS plan Changed Chrome to launch in Mus external window mode. Chrome today launches the same way it ought to, for Chrome/Mus. $ chrome --mus Continue with desktop integration work (feature completion).

Discussion: UI / GPU split chrome -mash (and --mus) still runs the UI and GPU components in the same process but separate threads. Future: musws and musgpu in separate processes https://crbug.com/643746 owner: rjkroege@ Mojo-fication of Ozone/Wayland Use approach similar to Ozone DRM/GBM (ChromeOS)? GBM surface rjkroege: to be discussed later.

Questions? tonikitoo@igalia.com - Antonio Gomes mscho@igalia.com - Mi Sun Silvia Cho