Running Android on the Mainline Graphics Stack. Robert

Size: px
Start display at page:

Download "Running Android on the Mainline Graphics Stack. Robert"

Transcription

1 Running Android on the Mainline Graphics Stack Robert

2 Agenda Android History Android on Mainline Current Status Big Picture

3 Android History

4 Android History Qualcomm diff with mainline, # lines v3.10 v3.14 v3.18 v4.4 v4.9

5 Android History Android forked the Kernel

6 Android History Android forked the Kernel Better Graphics stack was needed

7 Android History Android forked the Kernel Better Graphics stack was needed Support for low power was lacking

8 Android History Android forked the Kernel Better Graphics stack was needed Support for low power was lacking Support for atomic operations

9 Android History Android forked the Kernel Android Atomic Display Framework created

10 Android History Android forked the Kernel Android Atomic Display Framework created Not extensible or generic

11 Android History Android forked the Kernel Android Atomic Display Framework created Not extensible or generic Only atomic for plane updates

12 Android History Android forked the Kernel Android Atomic Display Framework created Not extensible or generic Only atomic for plane updates Not compatible with current ABI

13 Android History Android forked the Kernel Android Atomic Display Framework created Not extensible or generic Only atomic for plane updates Not compatible with current ABI Not upstreamable

14 Android History Android forked the Kernel Android Atomic Display Framework created Mainline Atomic KMS ABI introduced

15 Android History Android forked the Kernel Android Atomic Display Framework created Mainline Atomic KMS ABI introduced Supports the ADF usecases

16 Android History Android forked the Kernel Android Atomic Display Framework created Mainline Atomic KMS ABI introduced Supports the ADF usecases Uses Properties to be generic

17 Android History Android forked the Kernel Android Atomic Display Framework created Mainline Atomic KMS ABI introduced Supports the ADF usecases Uses Properties to be generic Is now replacing ADF in vendor drivers

18 Android on Mainline

19 Android Graphics Stack Apps SurfaceFlinger Vendor driver Kernel

20 Android Graphics Stack Subtitle Karla regular 28pt Apps The Really Good Stuff SurfaceFlinger Vendor driver Kernel

21 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger Vendor driver Kernel The Really Good Stuff - No really, this is the whole point!

22 Android Graphics Stack Subtitle Karla regular 28pt Apps Interface between applications and hardware SurfaceFlinger Vendor driver Kernel

23 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger Vendor driver Kernel

24 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger Vendor driver Kernel Status Bar

25 Android Graphics Stack Subtitle Karla regular 28pt Status Bar SurfaceFlinger Vendor driver Kernel Navigation Bar Apps

26 Android Graphics Stack Subtitle Karla regular 28pt Status Bar Navigation Bar Apps SurfaceFlinger Vendor driver Kernel Background

27 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger speaks HWC to the Composer SurfaceFlinger Vendor driver Kernel

28 Android Graphics Stack What does the Hardware Composer do?

29 Android Graphics Stack What does the Hardware Composer do? Get Layers Through HWC API

30 Android Graphics Stack What does the Hardware Composer do? Get Layers Through HWC API Optimize Layers for Display

31 Android Graphics Stack What does the Hardware Composer do? Get Layers Through HWC API Optimize Layers for Display Output Layers To Display HW

32 Android Graphics Stack Subtitle Karla regular 28pt Apps The non-kernel part of the graphics driver SurfaceFlinger Vendor driver Kernel

33 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger Vendor driver Kernel The non-kernel part of the graphics driver - OpenGL, Vulkan, memory allocator, etc.

34 Android Graphics Stack Subtitle Karla regular 28pt Apps SurfaceFlinger Vendor driver Kernel The non-kernel part of the graphics driver - OpenGL, Vulkan, memory allocator, etc. - Hardware Composer

35 Android Graphics Stack Subtitle Karla regular 28pt Apps The Linux Kernel SurfaceFlinger Vendor driver Kernel

36 Mainline Graphics Stack Mainline now has good Graphics ABI

37 Mainline Graphics Stack Mainline now has good Graphics ABI Google Pixel C shipped using Atomic KMS

38 Mainline Graphics Stack Mainline now has good Graphics ABI Google Pixel C shipped using Atomic KMS Android requires HWC implementation

39 Mainline Graphics Stack Mainline now has good Graphics ABI Google Pixel C shipped using Atomic KMS Android requires HWC implementation Mesa and the Kernel does not implement it

40 Mainline Graphics Stack Mainline now has good Graphics ABI Google Pixel C shipped using Atomic KMS Android requires HWC implementation Mesa and the Kernel does not implement it drm_hwcomposer does!

41 Mainline Graphics Stack What is the Hardware Composer? Apps SurfaceFlinger Vendor driver Kernel

42 Mainline Graphics Stack What is the Hardware Composer? Apps SurfaceFlinger Vendor driver Kernel } Proprietary

43 Mainline Graphics Stack What is the Hardware Composer? Apps SurfaceFlinger Apps SurfaceFlinger Vendor driver??? Kernel Kernel

44 Mainline Graphics Stack What is the Hardware Composer? Apps SurfaceFlinger Apps SurfaceFlinger drm_hwc Vendor driver Driver Kernel Kernel

45 Mainline Graphics Stack What is the Hardware Composer? Apps Apps SurfaceFlinger Apps SurfaceFlinger drm_hwc drm_hwc Vendor driver Driver Kernel SurfaceFlinger Kernel { mesa libdrm DRM Kernel

46 Mainline Graphics Stack What is the Hardware Composer? Apps Apps SurfaceFlinger Apps SurfaceFlinger drm_hwc SurfaceFlinger SurfaceFlinger drm_hwc drm_hwc mesa libdrm Vendor driver Driver Kernel Apps Kernel DRM Kernel { gralloc mesa DRM Kernel libdrm

47 drm_hwcomposer

48 drm_hwcomposer Android added bufer Fence support

49 drm_hwcomposer Android added bufer Fence support Ensures ordering between operations

50 drm_hwcomposer Android added bufer Fence support Ensures ordering between operations Synchronizes bufer sharing

51 drm_hwcomposer Android added bufer Fence support HWC version 2 is improved using Fences

52 drm_hwcomposer Android added bufer Fence support HWC version 2 is improved using Fences Mainline received Fence support

53 drm_hwcomposer Android added bufer Fence support HWC version 2 is improved using Fences Mainline received Fence support drm_hwcomposer implemented

54 drm_hwcomposer Project Hosting Previously hosted within ChromiumOS

55 drm_hwcomposer Project Hosting Previously hosted within ChromiumOS Now hosted on Freedesktop.org

56 drm_hwcomposer Project Hosting Previously hosted within ChromiumOS Now hosted on Freedesktop.org Thanks Google: Sean Paul Puneet Kumar Marissa Wall

57 drm_hwcomposer Project Hosting Previously hosted within ChromiumOS Now hosted on Freedesktop.org GitLab instance on Freedesktop.org soon!

58 Current Status

59 Current status Tested platforms

60 Current status Tested platforms imx6 GPU: Vivante GC3000

61 Current status Tested platforms Dragonboard 410c GPU: Adreno 306

62 Current status Under Development HiKey 960 GPU: Mali G71

63 Big Picture

64 Big Picture Merge Android Features

65 Big Picture Merge Android Features A new feature is introduced in Android

66 Big Picture Merge Android Features A new feature is introduced in Android Slowly migrated into the kernel

67 Big Picture Merge Android Features A new feature is introduced in Android Slowly migrated into the kernel This does not to apply to all subsystems

68 Big Picture Qualcomm v4.9 Diff Merge Android Features 5.00% 5.40% 6.50% 7.10% 3.50% 3.30% 13.40% 11.90% 11.90% arch/arm64/ arch/ drivers/clk/ drivers/gpu/ drivers/media/ drivers/platform/ drivers/power/ drivers/soc/qcom/ include/

69 Big Picture Merge Android Features A new feature is introduced in Android Slowly migrated into the kernel This does not to apply to all subsystems The dif for drivers seem fairly constant

70 Big Picture Merge Android Features Qualcomm diff with mainline, # lines v3.10 v3.14 v3.18 v4.4 v4.9

71 Big Picture Push industry towards Open Source

72 Big Picture Push industry towards Open Source Increase device development speed

73 Big Picture Push industry towards Open Source Increase device development speed Lower driver development costs

74 Big Picture Push industry towards Open Source Increase device development speed Lower driver development costs Increase driver quality

75 Big Picture Push industry towards Open Source Increase device development speed Lower driver development costs Increase driver quality Push Open Source adoption forward

76 Running Android on the Mainline Graphics Stack Any questions?

Status of the Embedded GPU Space

Status of the Embedded GPU Space Status of the Embedded GPU Space 2018 Q1 Robert Foss Senior Software Engineer @memcpy_io Open First Agenda History Upstream Support What Comes Next The Big Picture History History History History History

More information

Graphics Stack Update

Graphics Stack Update Graphics Stack Update Presented by Jammy Zhou Date March 9, 2016 Event BKK16 Agenda X11/Wayland/Android graphics overview Mali and Adreno driver status Linaro effort around graphics Discussion and Q&A

More information

Mainline Explicit Fencing

Mainline Explicit Fencing Mainline Explicit Fencing A new era for graphics Gustavo Padovan Open First Agenda Introduction Android Sync Framework Mainline Explicit Fencing Current Status 2 Fencing Ensure ordering between operations

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard maxime@bootlin.com Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. embedded Linux and kernel

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons Embedded Linux Developers c Copyright 2004-2016, Free

More information

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

AOSP Devboard Update & Recent/Future Pain Points. John Stultz AOSP Devboard Update & Recent/Future Pain Points John Stultz Now there are two: https://source.android.com/source/devices HiKey HiKey960 Hardware overview HiKey HiSilicon Kirin

More information

Linaro Year 6. BKK16 George Grey, Linaro CEO

Linaro Year 6. BKK16 George Grey, Linaro CEO Linaro Year 6 BKK16 George Grey, Linaro CEO Why do we need Linaro? ARM s business model leads to an unprecedented level of innovation in SoCs Intel s quarterly R&D budget is over 2x ARM s annual revenue

More information

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

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center Sync Points in the Intel Gfx Driver Jesse Barnes Intel Open Source Technology Center 1 Agenda History and other implementations Other I/O layers - block device ordering NV_fence, ARB_sync EGL_native_fence_sync,

More information

SFO15-100: 96Boards & the course upstream

SFO15-100: 96Boards & the course upstream SFO15-100: 96Boards & the course upstream Presented by Scott Bambrough David Mandala Date Monday 21 September 2015 Event SFO15 Scott Bambrough David Mandala Agenda 96Boards program status Hardware ecosystem

More information

Mesa i965 Scenes from a Quiet Revolution

Mesa i965 Scenes from a Quiet Revolution Mesa i965 Scenes from a Quiet Revolution Kaveh Nasri Director of 3D User Space Graphics Open Source Technology Center Intel Corporation Sep 21, 2017 X.Org Developer's Conference 2017 https://www.x.org/wiki/events/xdc2017/

More information

TZMP-1 Software Reference Implementation. Ken Liu 2018-Mar-12

TZMP-1 Software Reference Implementation. Ken Liu 2018-Mar-12 TZMP-1 Software Reference Implementation Ken Liu 2018-Mar-12 2018 Arm Limited Content DRM Applications and Secure Video Path Regular Secure Video Path Design with Trustzone TZMP1 Design Concepts Reference

More information

GPGPU on ARM. Tom Gall, Gil Pitney, 30 th Oct 2013

GPGPU on ARM. Tom Gall, Gil Pitney, 30 th Oct 2013 GPGPU on ARM Tom Gall, Gil Pitney, 30 th Oct 2013 Session Description This session will discuss the current state of the art of GPGPU technologies on ARM SoC systems. What standards are there? Where are

More information

OMAP Android Integration

OMAP Android Integration OMAP Android Integration July 1 st 2011 David Gottardo, Android Architecture at Texas Instruments France Email: d-gottardo@ti.com OMAP Android Integration July 1 st 2011 David Gottardo, Android Architecture

More information

Releasing and Testing Free Opensource Graphics Drivers: the case of Mesa3D

Releasing and Testing Free Opensource Graphics Drivers: the case of Mesa3D Releasing and Testing Free Opensource Graphics Drivers: the case of Mesa3D Emil Velikov (emil.velikov@collabora.com) Juan A. Suárez (jasuarez@igalia.com) with PierreLoup Griffais (pgriffais@valvesoftware.com)

More information

Wu Zhiwen.

Wu Zhiwen. Wu Zhiwen zhiwen.wu@intel.com Agenda Background information OpenCV DNN module OpenCL acceleration Vulkan backend Sample 2 What is OpenCV? Open Source Compute Vision (OpenCV) library 2500+ Optimized algorithms

More information

Wayland IVI Extension

Wayland IVI Extension Wayland IVI Extension May 10, 2017 Updates in front of us Eugen Friedrich, Emre Ucan Graphics engineers, ADIT Wayland IVI Extension Agenda Short introduction of wayland-ivi-extension Current status of

More information

Kodi and Embedded Linux

Kodi and Embedded Linux Kodi and Embedded Linux Moving Towards Common Windowing and Video Acceleration Lukas Rusak 02-03-2018 FOSDEM Graphics Devroom The Problem What problem are we trying to solve How bad is it really? The Solution

More information

Memory Management in Tizen. SW Platform Team, SW R&D Center

Memory Management in Tizen. SW Platform Team, SW R&D Center Memory Management in Tizen SW Platform Team, SW R&D Center Contents Tizen Kernel Overview Memory Management in Tizen Kernel Memory Size Optimization 2 Tizen Kernel Overview 3 Tizen Kernel Overview Core

More information

Methods to protect proprietary components in device drivers

Methods to protect proprietary components in device drivers Methods to protect proprietary components in device drivers Matt Porter Embedded Alley Solutions, Inc. Introduction Why the interest in closed drivers on Linux? Competition Advantage perception Upsell

More information

The Penguin and the Droid

The Penguin and the Droid The Penguin and the Droid Robert Berger Reliable Embedded Systems 2012 by Robert Berger - Reliable Embedded Systems cbna CC-Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/ last commit: 2012-03-10

More information

BUD Status of Android AOSP TV Project. Khasim Syed Mohammed, Tech Lead Linaro Home Group

BUD Status of Android AOSP TV Project. Khasim Syed Mohammed, Tech Lead Linaro Home Group BUD17-118 Status of Android AOSP TV Project Khasim Syed Mohammed, Tech Lead Linaro Home Group Overview ENGINEERS AND DEVICES WORKING TOGETHER What is AOSP TV Project about? Focus and Goals of AOSP TV project

More information

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014 Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline

More information

Linux: Reducing the cost of upstream development to encourage collaboration

Linux: Reducing the cost of upstream development to encourage collaboration Linux: Reducing the cost of upstream development to encourage collaboration Martin Peres Intel Open Source Technology Center Finland November 20, 2017 Summary 1 Introduction 2 Upstream issues 3 Forked

More information

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics Vulkan: Scaling to Multiple Threads Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies Take responsibility

More information

Building X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center

Building X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center Building X 2D rendering acceleration with OpenGL Eric Anholt Intel Open Source Technology Center How 2D has worked X has always implemented graphics acceleration in a hardware specific driver Acceleration

More information

MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform

MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform Bin Yang Shoumeng, Yan Intel R&D Center Intel Labs Agenda Background and Scenarios Solution

More information

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo 2014 GlobalLogic Inc. Vehicles are Changing Vehicle became the ultimate mobile device and we, the people, are becoming connected drivers

More information

Bringing Vulkan to VR. Cass Everitt, Oculus

Bringing Vulkan to VR. Cass Everitt, Oculus Bringing Vulkan to VR Cass Everitt, Oculus A Presentation in Two Acts The Graphics-API-Agnostic Design of the VrApi The Vulkan-Samples atw Sample Family as Proving Grounds Act One The Graphics-API-Agnostic

More information

ION - Large pages for devices

ION - Large pages for devices ION - Large pages for devices John Einar Reitan Android/Mobile Microconference - LPC 2016 Motivation ARM Display + IOMMU need 2MB pages when rotating Native page size 4kB 64kB pages

More information

The HiKey AOSP collaborative experience

The HiKey AOSP collaborative experience The HiKey AOSP collaborative experience Presented by John Stultz (With help from Amit Pundir, Guodong Xu, and Vishal Bhoj) Date BKK16-310 March 9, 2016 Event Linaro Connect BKK16 Outline HiKey in AOSP

More information

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED TOM MCREYNOLDS, VLAD BUZOV AUTOMOTIVE SOFTWARE OCTOBER 15TH, 2013 Why kernel upgrades : the problem Linux Kernel cadence doesn t match Automotive s

More information

Unix Device Memory. James Jones XDC 2016

Unix Device Memory. James Jones XDC 2016 Unix Device Memory James Jones XDC 2016 Background Started with a Weston patch proposal Many strong views Much time invested in current software and APIs Thank you for keeping discussions civil Many areas

More information

Marek Szyprowski Samsung R&D Institute Poland

Marek Szyprowski Samsung R&D Institute Poland Marek Szyprowski m.szyprowski@samsung.com Samsung R&D Institute Poland Quick Introduction to Linux DRM A few words on atomic KMS API Exynos DRM IPP subsystem New API proposal Some code examples Summary

More information

Kernel driver maintenance : Upstream vs. Industry

Kernel driver maintenance : Upstream vs. Industry 1 Kernel driver maintenance : Upstream vs. Industry Brice Goglin RMLL Talence - 2010/07/08 Industry contributing to the Linux kernel? 2 Linux developed by people on their free time? 750,000 lines changed

More information

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal Controller (MC) and OMAP+ Display Subsystem (DSS) Embedded Linux Conference, SFO, Sumit Semwal Agenda OMAP+ Display Subsystem (DSS) Overview of OMAP+ DSS Current software design DSS framework Interesting

More information

PRIME Synchronization. XDC 2016 Alex Goins, Andy Ritger

PRIME Synchronization. XDC 2016 Alex Goins, Andy Ritger PRIME Synchronization XDC 2016 Alex Goins, Andy Ritger 1 Introduction: PRIME Output Slaving Enables the sequence: One GPU renders and transfer pixels through GEM shared buffers. Another GPU displays the

More information

Introducing Poplar: First 96Boards TV Platform. Mark Gregotski, Director LHG Hermit Wang, SW Architect, Digital Media IC & Solutions HiSilicon

Introducing Poplar: First 96Boards TV Platform. Mark Gregotski, Director LHG Hermit Wang, SW Architect, Digital Media IC & Solutions HiSilicon Introducing Poplar: First 96Boards TV Platform Mark Gregotski, Director LHG Hermit Wang, SW Architect, Digital Media IC & Solutions HiSilicon Overview General Information Poplar Hardware ENGINEERS AND

More information

Essential Linux Device Drivers [ESSENTIAL LINUX DEVICE DRI] By Sreekrishnan Venkateswaran

Essential Linux Device Drivers [ESSENTIAL LINUX DEVICE DRI] By Sreekrishnan Venkateswaran Essential Linux Device Drivers [ESSENTIAL LINUX DEVICE DRI] By Sreekrishnan Venkateswaran Essential Contents; You need the driver only if you are developing on Windows and want to connect a Samsung android

More information

HiKey in AOSP - Update. John Stultz

HiKey in AOSP - Update. John Stultz HiKey in AOSP - Update John Stultz Continuing Collaboration Working closely with folks at Google. Submitting changes directly to AOSP Gerrit. New Features Added Since Announcement

More information

Status Report 2015/09. Alexandre Courbot Martin Peres. Logo by Valeria Aguilera, CC BY-ND

Status Report 2015/09. Alexandre Courbot Martin Peres. Logo by Valeria Aguilera, CC BY-ND Status Report 2015/09 Alexandre Courbot Martin Peres Logo by Valeria Aguilera, CC BY-ND Agenda Kernel Re-architecture Userspace Mesa Xorg Tegra & Maxwell support Cooperation with NVIDIA Who are we? Introduction

More information

The future of X.Org on non-gnu/linux systems

The future of X.Org on non-gnu/linux systems The future of X.Org on non-gnu/linux systems Matthieu Herrb OpenBSD/X.Org February 2, 2013 Introduction X has always been multi-platform XFree86 was started on SVr4 and FreeBSD, ported on Linux later.

More information

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned 1 Sony s Open Devices Project Goals Achievements What went right? What went wrong? Lessons learned 2 Ambitious project to support open software on Sony Mobile s phone platforms 2 main areas: Android Open

More information

Are you Really Helped by Upstream Kernel Code?

Are you Really Helped by Upstream Kernel Code? Are you Really Helped by Upstream Kernel Code? 1 HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Working for Renesas (semiconductor) 2 Over 15 years real embedded Linux

More information

Linux DRM Developer s Guide

Linux DRM Developer s Guide Linux DRM Developer s Guide Linux DRM Developer s Guide Copyright 2008 Intel Corporation (Jesse Barnes ) The contents of this file may be used under the terms of the GNU General

More information

Developing on DragonBoard

Developing on DragonBoard Developing on DragonBoard Getting Started with APQ8060 and Pragmatux+Android Bill Gatliff bgat@billgatliff.com Ryan Kuester rkuester@insymbols.com 1 2 CPU Daughterboard APQ8060 ARMv7 Dual core 1.5 GHz

More information

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs. 9. Android is an open-source operating system for mobile devices. Nowadays, it has more than 1.4 billion monthly active users (statistic from September 2015) and the largest share on the mobile device

More information

Bluetooth Low Energy on Android

Bluetooth Low Energy on Android Bluetooth Low Energy on Android Getting it done Android Builders Summit 2013 Szymon Janc szymon.janc@tieto.com Łukasz Rymanowski lukasz.rymanowski@tieto.com Agenda Introduction Quick Bluetooth Low Energy

More information

Transforming XenServer into a proper open-source project

Transforming XenServer into a proper open-source project Transforming XenServer into a proper open-source project James Bulpin CTO, XenServer, Citrix About the speaker James Bulpin Head of technology for XenServer group in Citrix; member of the Citrix CTO office

More information

Xenbedded: Xen-based client virtualization for phones and tablets

Xenbedded: Xen-based client virtualization for phones and tablets Xenbedded: Xen-based client virtualization for phones and tablets Kyle Temkin Chris Patterson Assured Information Security, Inc. August 25 th, 2016 // XenSummit 2016 Who are we? Kyle Temkin Hardware Hacker

More information

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016 Introduction Lecture 1 Operating Systems Practical 5 October 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.

More information

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate

More information

Vulkan Timeline Semaphores

Vulkan Timeline Semaphores Vulkan line Semaphores Jason Ekstrand September 2018 Copyright 2018 The Khronos Group Inc. - Page 1 Current Status of VkSemaphore Current VkSemaphores require a strict signal, wait, signal, wait pattern

More information

Vulkan 1.1 March Copyright Khronos Group Page 1

Vulkan 1.1 March Copyright Khronos Group Page 1 Vulkan 1.1 March 2018 Copyright Khronos Group 2018 - Page 1 Vulkan 1.1 Launch and Ongoing Momentum Strengthening the Ecosystem Improved developer tools (SDK, validation/debug layers) More rigorous conformance

More information

Renderscript Accelerated Advanced Image and Video Processing on ARM Mali T-600 GPUs. Lihua Zhang, Ph.D. MulticoreWare Inc.

Renderscript Accelerated Advanced Image and Video Processing on ARM Mali T-600 GPUs. Lihua Zhang, Ph.D. MulticoreWare Inc. Renderscript Accelerated Advanced Image and Video Processing on ARM Mali T-600 GPUs Lihua Zhang, Ph.D. MulticoreWare Inc. lihua@multicorewareinc.com Overview More & more mobile apps are beginning to require

More information

Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM

Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM Agenda Linaro Linaro s IoT efforts Demo Business Models Design and sell x86 chips 2016 $59.5Bn Revenue Sells

More information

Expose NVIDIA s performance counters to the userspace for NV50/Tesla

Expose NVIDIA s performance counters to the userspace for NV50/Tesla Expose NVIDIA s performance counters to the userspace for NV50/Tesla Nouveau project Samuel Pitoiset Supervised by Martin Peres GSoC student 2013 & 2014 October 8, 2014 1 / 27 Summary 1 Introduction What

More information

Achieving High-performance Graphics on Mobile With the Vulkan API

Achieving High-performance Graphics on Mobile With the Vulkan API Achieving High-performance Graphics on Mobile With the Vulkan API Marius Bjørge Graphics Research Engineer GDC 2016 Agenda Overview Command Buffers Synchronization Memory Shaders and Pipelines Descriptor

More information

Infrastructure Middleware (Part 1): Hardware Abstraction Layer (HAL)

Infrastructure Middleware (Part 1): Hardware Abstraction Layer (HAL) Infrastructure Middleware (Part 1): Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA

More information

LINARO CONNECT 23 HKG18 George Grey, Linaro CEO

LINARO CONNECT 23 HKG18 George Grey, Linaro CEO LINARO CONNECT 23 HKG18 George Grey, Linaro CEO Welcome China Electronics Corporation (CEC) Joining Linaro as a Core Member Major Chinese Global IT Supplier China GCC Board Member 100+ companies, 14 listed

More information

Qualcomm Snapdragon Profiler

Qualcomm Snapdragon Profiler Qualcomm Technologies, Inc. Qualcomm Snapdragon Profiler User Guide September 21, 2018 Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc. Other Qualcomm products referenced herein are products

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

EFL at ELC 2016 A toolkit for developping efficient and attractive Uis on embedded devices

EFL at ELC 2016 A toolkit for developping efficient and attractive Uis on embedded devices EFL at ELC 2016 A toolkit for developping efficient and attractive Uis on embedded devices Cedric BAIL cedric@osg.samsung.com 1 EFL: A Toolkit Created for Enlightenment 17 2 Enlightenment 17 Enlightenment

More information

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1 DEVELOPER DAY MONTRÉAL APRIL 2018 Copyright Khronos Group 2018 - Page 1 DEVELOPER DAY Introduction and Overview Alon Or-bach, Samsung MONTRÉAL APRIL 2018 Copyright Khronos Group 2018 - Page 2 Copyright

More information

CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE

CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Work for Renesas (semiconductor provider) Over 15 years real embedded Linux business

More information

EXPLICIT SYNCHRONIZATION

EXPLICIT SYNCHRONIZATION EXPLICIT SYNCHRONIZATION Lauri Peltonen XDC, 8 October, 204 WHAT IS EXPLICIT SYNCHRONIZATION? Fence is an abstract primitive that marks completion of an operation Implicit synchronization Fences are attached

More information

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors Sriram Sethuraman Technologist & DMTS, Ittiam 1 Overview Imaging on Smart-phones

More information

DRI Memory Management

DRI Memory Management DRI Memory Management Full strength manager wasn't required for traditional usage: Quake3 and glxgears. Perceived to be difficult. Fundamental for modern desktops, offscreen rendering. Talked about for

More information

Kick Start your Embedded Development with Qt

Kick Start your Embedded Development with Qt Kick Start your Embedded Development with Qt Increasing Return On Investment & shortening time-to-market Nils Christian Roscher-Nielsen Product Manager, The Qt Company Overview Problems facing Device Creators

More information

Software Development & Education Center ANDROID. Application Development

Software Development & Education Center ANDROID. Application Development Software Development & Education Center ANDROID Application Development Android Overview and History ANDROID CURRICULUM How it all got started Why Android is different (and important) Android Stack Overview

More information

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

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1 Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon

More information

Paging, and segmentation

Paging, and segmentation Paging, and segmentation Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible 2 Big Picture

More information

PCIe driver development for Exynos SoC

PCIe driver development for Exynos SoC PCIe driver development for Exynos SoC Korea Linux Forum 2013 Jingoo Han Samsung Electronics Introduction S/W engineer at Samsung Electronics since 2005 Linux kernel development for Samsung Exynos ARM

More information

Notedb What? Why? How? Gerrit User Summit 2015 Dave Borowitz

Notedb What? Why? How? Gerrit User Summit 2015 Dave Borowitz Notedb What? Why? How? Dave Borowitz Proprietary + Confidential Notedb: Gerrit 3.0 Proprietary + Confidential Notedb: New Gerrit storage backend What? Why? How? Proprietary + Confidential

More information

The Embedded Linux Problem

The Embedded Linux Problem The Embedded Linux Problem Mark.gross@intel.com Android-Linux kernel Architect February 2013 outline Little about me Intro History Environment Key questions Techniques Moving modules out of tree Summary

More information

Produced by. Mobile Application Development. Eamonn de Leastar

Produced by. Mobile Application Development. Eamonn de Leastar Mobile Application Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie Introducing

More information

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1 OpenCL A State of the Union Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem OpenCL Working Group Chair ntrevett@nvidia.com @neilt3d Vienna, April 2016 Copyright Khronos Group 2016

More information

An Introduction to the OpenFabrics Interface. #OFAUserGroup Paul Grun Cray w/ slides stolen (with pride) from Sean Hefty

An Introduction to the OpenFabrics Interface. #OFAUserGroup Paul Grun Cray w/ slides stolen (with pride) from Sean Hefty An Introduction to the OpenFabrics Interface #OFAUserGroup Paul Grun Cray w/ slides stolen (with pride) from Sean Hefty Agenda Where the OFA is going Forming the OFI WG First Principles Application-centric

More information

NVIDIA GPU CODING & COMPUTING

NVIDIA GPU CODING & COMPUTING NVIDIA GPU CODING & COMPUTING WHY GPU S? ARCHITECTURE & PROGRAM MODEL CPU v. GPU Multiprocessor Model Memory Model Memory Model: Thread Level Programing Model: Logical Mapping of Threads Programing Model:

More information

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system

More information

Booting It Successfully For The First Time In Mainline

Booting It Successfully For The First Time In Mainline Open First Booting It Successfully For The First Time In Mainline Enric Balletbò i Serra Electronics Engineer Hardware and Linux enthusiast Kernel contributor More than 10 years of experience bringing-up

More information

ARM support in the Linux kernel

ARM support in the Linux kernel Kernel Recipes 2013 ARM support in the Linux kernel Thomas Petazzoni Bootlin thomas.petazzoni@bootlin.com - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com

More information

The Linux graphics stack, Optimus and the Nouveau driver

The Linux graphics stack, Optimus and the Nouveau driver The Linux graphics stack, Optimus and the Nouveau driver Cooperative rendering across GPUs on Linux Martin Peres Nouveau developer PhD student at LaBRI X.Org Foundation board member September 26, 2014

More information

GRATE LIBERATING NVIDIA'S TEGRA GPU. February Erik "kusma" Faye-Lund.

GRATE LIBERATING NVIDIA'S TEGRA GPU. February Erik kusma Faye-Lund. GRATE LIBERATING NVIDIA'S TEGRA GPU February 2013 - Erik "kusma" Faye-Lund kusmabite@gmail.com / @kusmabite WHO AM I About 20 years of graphics programming experience 10 years professionally Former driver-developer

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 21 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Why not increase page size

More information

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

WPE. Current Status & Future. Žan Doberšek. WPE Current Status & Future Žan Doberšek zdobersek@igalia.com static void _f_do_barnacle_install_properties(gobjectclass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64

More information

Linux DRM Developer s Guide

Linux DRM Developer s Guide Linux DRM Developer s Guide Linux DRM Developer s Guide Copyright 2008-2009 Intel Corporation (Jesse Barnes ) The contents of this file may be used under the terms of the GNU General

More information

Free Electrons Company profile Kernel, drivers, embedded Linux and Android development, consulting, training and support

Free Electrons Company profile   Kernel, drivers, embedded Linux and Android development, consulting, training and support Free Electrons Company profile http://free-electrons.com Mission Support companies using embedded Linux in their projects. Promote embedded Linux. Training courses Engineering expertise for development

More information

IO virtualization. Michael Kagan Mellanox Technologies

IO virtualization. Michael Kagan Mellanox Technologies IO virtualization Michael Kagan Mellanox Technologies IO Virtualization Mission non-stop s to consumers Flexibility assign IO resources to consumer as needed Agility assignment of IO resources to consumer

More information

Supporting a new ARM platform: the Allwinner example

Supporting a new ARM platform: the Allwinner example Embedded Linux Conference 2014 Supporting a new ARM platform: the Allwinner example Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons. Kernel, drivers and embedded Linux development,

More information

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO Open Source Software in mobile devices Timofey Turenko timofey.turenko@nokia.com Nokia Research Center, Office of CTO Agenda What is OSS? How did OSS come into mobile? OSS platforms for mobile devices

More information

OpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015

OpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015 OpenGL on Android Lecture 7 Android and Low-level Optimizations Summer School 27 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this

More information

Android Multimedia Framework Overview. Li Li, Solution and Service Wind River

Android Multimedia Framework Overview. Li Li, Solution and Service Wind River Android Multimedia Framework Overview Li Li, Solution and Service Wind River Agenda What is Multimedia in a mobile device MPEG standard File format Codec Android Multimedia Framework OpenCORE OpenMAX What

More information

Unification of embedded CPU variants

Unification of embedded CPU variants Unification of embedded CPU variants 1 HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com Disclaimer 2 Everything I say here is just my opinion and not the opinion of my employer Renesas.

More information

Android on Tizen. Moscow State University

Android on Tizen. Moscow State University Android on Tizen 1 Moscow State University Presenter Andrey Shitov PhD Student at Lomonosov Moscow State University (MSU), Computational Mathematics and Cybernetics 2 Compilers, Virtual Machines, System

More information

ARM support in the Linux kernel

ARM support in the Linux kernel FOSDEM 2013 ARM support in the Linux kernel Thomas Petazzoni Bootlin thomas.petazzoni@bootlin.com - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com

More information

Mali Offline Compiler User Guide

Mali Offline Compiler User Guide Mali Offline Compiler 6.0.0 User Guide ARM Limited 2017 Introduction 2 Contents 3 Contents Chapter 1: Introduction... 5 Overview... 6 Installation Package... 6 This Release...6 Chapter 2: Installation...

More information

Are you facing troubles at work?

Are you facing troubles at work? Are you facing troubles at work? Can't find important correspondence between employees and customers? Too many accounts to manage? Human error, email was accidentally deleted... When you need to present

More information

Graphics Performance Analysis with FrameRetrace: A Responsive UI for Apitrace Mark Janes, November 9, 2017

Graphics Performance Analysis with FrameRetrace: A Responsive UI for Apitrace Mark Janes, November 9, 2017 Graphics Performance Analysis with FrameRetrace: A Responsive UI for Apitrace Mark Janes, November 9, 2017 mark.a.janes@intel.com About me: Working on Linux platforms since 2004, with a background on embedded

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

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 Automotive Linux Summit July 1-2, 2014 Tokyo, Japan Tizen IVI support Until recently Intel architecture (x86) system Tizen IVI 2.0alpha,

More information

Enabling a Richer Multimedia Experience with GPU Compute. Roberto Mijat Visual Computing Marketing Manager

Enabling a Richer Multimedia Experience with GPU Compute. Roberto Mijat Visual Computing Marketing Manager Enabling a Richer Multimedia Experience with GPU Compute Roberto Mijat Visual Computing Marketing Manager 1 What is GPU Compute Operating System and most application processing continue to reside on the

More information