Chromium s Way to Wayland October 11, 2017

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

The pathway to Chromium on Wayland

Update on the open source browser space

Integration of the Chromium. Browser in the GENIVI Platform

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

Wayland IVI Extension

Building a Browser for Automotive: Alternatives, Challenges and Recommendations

Meet Crosswalk New HTML5 Runtime. Sakari Poussa Intel

Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

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

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

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

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

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

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

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

In the Driver s Seat

Contributing to Automotive Grade Linux and GENIVI Development Platform

Tizen IVI Architecture New features

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

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

o Processor, disk space, and memory o Screen size and resolution o Certain testing accommodations

Creating outstanding digital cockpits with Qt Automotive Suite

Preempt-RT Raspberry Linux. VMware Tiejun Chen

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

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

<Insert Picture Here> JavaFX 2.0

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A:

Writing your first Web Data Connector

Alternatives To Microsoft Windows Operating System

Servicification: Modularizing Chromium

Git for Subversion users

Organising benchmarking LLVM-based compiler: Arm experience

Github/Git Primer. Tyler Hague

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

Remote Access and Output Sharing Between Multiple ECUs for Automotive

Graphics Stack Update

Presented by Alex Nicolaou

From Separated ECUs to a Display Cluster April 18, 2018

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

Version Control for the 2- Pizza Team: Merge Conflicts (ELLS 9.5) Armando Fox

Full Stack Web Developer Nanodegree Syllabus

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

Dell Canvas Layout. Version 1.0 User s Guide

What's new in GStreamer

Tizen Overview (Tizen Ver. 2.3)

Git tips. Some tips to use Git.

Linux in Automotive From Open Source to Products

MOOSE-Based Application Development on GitLab

Introduction to Supercomputing

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

Automated Testing of Tableau Dashboards

UI Toolkits. HCID 520 User Interface Software & Technology

Getting Things GNOME! Documentation

Creating a Patch. Created by Carl Heymann on 2010 Sep 14 1

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Sparkfun Lunch & Learn. Jeff Boody

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

A BASIC UNDERSTANDING OF VERSION CONTROL

projecto Documentation

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

MariaDB: Community Driven SQL Server. Kristian Nielsen MariaDB developer Monty Program AB

Git: Distributed Version Control

Introduction. Martin Ledvinka. Winter Term 2018

8-Channel IP Surveillance Kit. Network UM C8CHIPSKIT V1.0

A L A TEX-oriented intro to Git

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion

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

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Analytics Research Internship at Hewlett Packard Labs

Android System Development Training 4-day session

About Parallels Desktop 14 for Mac

Costly mistakes IoT developers make and how to avoid them

Mobile Web Appplications Development with HTML5

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

Firefox quality. Mozilla Paris FOSDEM Feb 3rd 2018

GStreamer in the living room and in outer space

Understanding the Characteristics of Android Wear OS. Renju Liu and Felix Xiaozhu Lin Purdue ECE

Poky Linux & OpenEmbedded based environment

Quick Desktop Application Development Using Electron

Eclipse + Html: A Journey

The Cost of Going it Alone Dave Neary

T I Z E N Ve r 2. 3 O v e r v i e w Open Source Project

Nokia for developers. Alexey Kokin. Developer Relations

Fedora 12. For guidelines on the permitted uses of the Fedora trademarks, refer to fedoraproject.org/wiki/legal:trademark_guidelines.

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

OpenText Gupta TD Mobile Release Notes

Choosing free software graphical libraries for embedded devices

iems Interactive Experiment Management System Final Report

Managing Network Configurations with Git and GitLab

Continuous integration & continuous delivery. COSC345 Software Engineering

Technology Requirements

Lab Objective. Lab Assignment. Downloads and Installation

What s New (and better) in Qt

JavaScript Fundamentals_

Accessing OSIRIS and using OSIRIS through GitHub

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

Transcription:

Chromium s Way to Wayland October 11, 2017 Gyuyoung Kim Igalia, GENIVI Alliance 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. Copyright GENIVI Alliance 2017.

Content Introduction of Igalia Motivation Background History Demo Performance Todo list Plan to upstream Rebase strategy How to run Chromium wayland

Introduction of Igalia Worker-owned, employee-run open source consultancy co mpany based on Galicia Coruna, Spain 3 October 11, 2017 Copyright GENIVI Alliance 2017

~60 employees around the world Introduction of Igalia (Cont.) Areas Chromium/Blink, WebKit, and Servo Compilers, JavaScript engines (v8, JSC) Multimedia (GStreamer), Graphics (Mesa), Networking, Accessibi lity 4 October 11, 2017 Copyright GENIVI Alliance 2017

Introduction of Igalia (Cont.) 5 October 11, 2017 Copyright GENIVI Alliance 2017

Motivation Various platforms have been adopting Wayland a s their windowing system AGL, GENIVI, Raspberry Pi, Tizen, Bose, Volvo, Bosch, Jolla Ubuntu 17.10 will ship Wayland by default Fedora 25 is shipping Wayland by default Major UI toolkits have built-in support, including Qt5, GTK+, Clutter, EFL 6 October 11, 2017 Copyright GENIVI Alliance 2017

Motivation (Cont.) There have been a lot of demands that Chromiu m works on Wayland in the industries Wayland has been getting more complete 7 October 11, 2017 Copyright GENIVI Alliance 2017

Background vs. X Wayland 8 October 11, 2017 Copyright GENIVI Alliance 2017

Aura Background (Cont.) To be brief, Aura is UI fram ework working on Chrome OS/Chromium Aura provides window and event types, as well as inte rfaces to customize their b ehavior 9 October 11, 2017 Copyright GENIVI Alliance 2017

Ozone Background (Cont.) Abstraction layer for the construction of accelerated surfaces underlying the Aura toolkit Process input devices assignment and event handling 10 October 11, 2017 Copyright GENIVI Alliance 2017

History Ozone/Wayland project had been started by Intel since 2014 as their own Opensource project The project entered maintenance mode in Dece mber 2015 However there was conflicts between Intel s impl ementation and Google s plan Intel s implementation vs. Chromium servicification 11 October 11, 2017 Copyright GENIVI Alliance 2017

History (Cont.) Eventually Intel stopped managing the Ozone/Wayland project vs. 12 October 11, 2017 Copyright GENIVI Alliance 2017

History (Cont.) Igalia decided to start a new project with same end goal with Intel - We fixed Ozone s Wayland backend in Chromium mainline - Didn t start to upstream Succeed to launch a content shell on Ozone/Wayland 13 October 11, 2017 Copyright GENIVI Alliance 2017

History (Cont.) Igalia got in touch with Google/Chromium developers to understand their plans for Ozone/Wayland Servicification Mus/Ash Igalia decided to follow up Chromium s new architectur e for Ozone/Wayland 14 October 11, 2017 Copyright GENIVI Alliance 2017

History (Cont.) Start to work on Ozone/Wayland in earnest Some problems at that time prior to Sep. 2016 Partial upstream from original Intel s project Insufficient documentation Limited buildbot coverage Improved by Igalia Brought up of Ozone s Wayland backend in Chromium trunk Start experimenting with Ozone on Chromium desktop as well Documentation Setup buildbots Design discussion with Robert Kroeger who is a lead UI frame work at Google 15 October 11, 2017 Copyright GENIVI Alliance 2017

History (Cont.) Finally Igalia exhibited initial Chromium Wayland on R-Car M3 board at CES 2016 16 October 11, 2017 Copyright GENIVI Alliance 2017

Demo of Chromium Wayland 17 October 11, 2017 Copyright GENIVI Alliance 2017

Performance In some benchmarks, Ozone/Wayland is still a slightly lower performance compared to X11 version 600 500 400 300 200 100 0 Ozone/Wayland Ozone/X11 System under test HW: Dell XPS15 CPU: i7 cpu RAM: 16GB Source : Igalia Ozone wayland github on 27th Sep. Bigger score is better 18 October 11, 2017 Copyright GENIVI Alliance 2017

Performance (Cont.) After rebasing Ozone/Wayland version based on Chromiu m m62, rendering performance is much faster than before on R-Car m3 board 19 October 11, 2017 Copyright GENIVI Alliance 2017

Todo list Fix drag and drop Fix clipboard (it works as in internal window mode) Multi screen support Non-English keyboard layouts Window closing Mouse cursor Ensure no feature losses or major performance penalties when compared to stock Chromium X11/Linux Start to upstream the changes 20 October 11, 2017 Copyright GENIVI Alliance 2017

Plan to upstream In WebEngine Hackfest on 1-3 October 2017, Antoni o and Maksim have talked with Robert (Lead of Ozon e at Google) about the upstream plan Changes will be split in two big parts We will start upstreaming one of them immediately 21 October 11, 2017 Copyright GENIVI Alliance 2017

Rebase strategy Ozone wayland has been developed at github - https://github.com/igalia/chromium Rebased every week against Chromium ToT. Our goal is t o be as close as possible to the latest Chromium code Every week, a member of the Igalia Chromium team takes the rebase shift. Commits that are complementary of each other, receive a "fixup!" prefix on the co mmit title, and keep the rest of original commit title unchanged. 22 October 11, 2017 Copyright GENIVI Alliance 2017

How to run Chromium Wayland Steps Setup Chromium build environment first Install depot_tools and clone Chromium source code Get Chromium Wayland branch from Igalia github $ git remote add Igalia https://github.com/igalia/chromium.git $ git fetch Igalia $ git checkout ozone-wayland-dev Configuration $ gn args out/ozone --args="use_ozone=true enable_package_mash_servic es=true use_xkbcommon=true is_debug=false" Build $ ninja -C out/ozone chrome Run $.out/ozone/chrome --mus --ozone-platform=wayland 23 October 11, 2017 Copyright GENIVI Alliance 2017

References The Chromium project s way to Wayland written by Antoni o Gomes(tonikitoo) Update on the open source browser space written by Jac obo Aragunde Pérez Ozone-Wayland Architecture written by Intel 24 October 11, 2017 Copyright GENIVI Alliance 2017

Thank you! gkim@igalia.com - Gyuyoung Kim tonikitoo@igalia.com - Antonio Gomes msisov@igalia.com - Maksim Sisov mscho@igalia.com - Mi Sun Silvia Cho 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. Copyright GENIVI Alliance 2017.