SlideShare a Scribd company logo
1 of 26
Download to read offline
Introduction Ubuntu Edge 
Operating System [Ubuntu Touch] 
Tushar B Kute 
tushar@tusharkute.com 
http://snashlug.org 
contact@snashlug.org
Ubuntu Edge 
The Ubuntu Edge was a proposed "high 
concept" smartphone announced by Canonical 
Ltd. on 22 July 2013. 
The Edge was designed as a hybrid device, 
which would function as a high-end 
smartphone (with both Ubuntu Touch and 
Android), or—when used with a monitor, 
keyboard and mouse—be able to operate as a 
conventional desktop PC running Ubuntu. 
The Ubuntu Edge was also designed to support 
dual boot, and was to run along with Android.
Ubuntu Touch 
Ubuntu Touch (also known as Ubuntu 
Phone) is a mobile version of the 
Ubuntu operating system developed 
by Canonical UK Ltd and Ubuntu 
Community. 
It is designed primarily for 
touchscreen mobile devices such as 
smartphones and tablet computers.
History 
Mark Shuttleworth announced, 31 
October 2011, that by Ubuntu 14.04, 
Ubuntu will support smartphones, 
tablets, TVs and smart screens. 
The Ubuntu platform for phones was 
unveiled on 2 January 2013. 
The Ubuntu Touch Developer Preview 
was released on 21 February 2013.
Release 
Canonical released Ubuntu Touch 1.0, the 
first developer/partner version on 17 
October 2013, along with Ubuntu 13.10 
that "primarily supports the Galaxy Nexus 
and Nexus 4 phones, though there are 
images available for other phones and 
tablets". 
Developers have access to all of the source 
code under a license allowing modification 
and redistribution of the software.
Features 
Ubuntu Touch uses the Qt 5-based touch 
user interface and various software 
frameworks originally developed for 
Maemo and MeeGo such as oFono as 
telephony stack, accounts-sso for single 
sign-on, and Maliit for input. 
Utilizing libhybris the system can often 
be used with Linux kernels used in 
Android, which makes it easily ported to 
most recent Android smartphones.
Features 
 Ubuntu Touch utilizes the same core technologies 
as the Ubuntu Desktop, so applications designed 
for the latter platform run on the former and vice 
versa. 
 Ubuntu Desktop components come with the 
Ubuntu Touch system; allowing Ubuntu Touch 
devices to provide a full desktop experience 
when connected to an external monitor. 
 Ubuntu Touch devices can be equipped with a full 
Ubuntu session and may change into a full 
desktop operating system when plugged into a 
docking station.
System Requirements 
Source: ubuntu.com
Ubuntu Touch: Challenges 
 Desktop Unity using Compiz + Nux 
– Complex design 
– Lacking proper support for OpenGL ES 2.0 
 Quite a few components were not optimized 
for mobile (battery, background processes, 
usability, etc) 
 Hardware accelerated stack without 
depending on the hw vendor 
 Decision to develop a new stack, and make it 
generic enough so it could later be also 
shared with Desktop (convergence)
New Unity: one that would rule them all 
 Traditional stack composed of Compiz, Nux, Unity and X11 
– Not ideal for mobile, not properly compatible with OpenGL ES 
2.0 
– Nux not so developer friendly 
● And not commonly known by developers 
– X11 was also not ideal, but a replacement was already on the 
way 
● Wayland and/or MIR 
 Experience with Ubuntu Netbook (EFL) and later Unity 2D (Qt) 
– EFL fast and small, but API not that stable and issues with lack 
of development tools and documentation. 
– Qt already supported and used by different targets and 
products 
● Great development tools and documentation 
● QML
Unity8: Built with Qt and QML 
 Decision to create a new Unity from scratch, using Qt 5.0 
– Qt was already quite well supported and known by 
developers 
– QML proved to be an easy and straightforward 
language/tool 
– Fully compatible with OpenGL ES 2.0 
– Different APIs and abstractions for many core 
components 
– Great Software Development Kit 
– Convergence in mind 
 Only issue was finding hardware with decent drivers
Reusing Android Drivers 
 Android based devices largely available: 
– Decent drivers, but mostly closed 
source 
– Open Source code base, allowing us to 
read and modify it as needed 
 Issues: 
– Highly connected with the Kernel 
version used by Android (along with the 
usual tons of vendor-specific 
modifications) 
– Android is built with Bionic instead of 
Glibc, types not necessarily compatible 
– Android core API/ABI is not necessarily 
stable, need to stick with a specific 
version (e.g. 4.4.2)
Reusing Android Drivers: LibHybris 
 Compatibility layer for systems based on Glibc that allows 
Bionic based binaries to be used. 
 Created by Carsten Munk on August 2012 
 Conceptually libhybris is a custom version of the Bionic 
linker, with hooks replacing Bionic symbols with Glibc 
compatible ones 
 Main differences and issues with libhybris: 
– Android uses fixed TLS slots that can override glibc's 
TLS 
– Bionic pthreads implementation differs from glibc
Architectural diagram of the 
overall system 
 Platform API 
– Sensors 
– GPS 
– Multimedia 
 Mir 
– Display Server 
– Abstraction for the OpenGL ES 2.0 drivers 
– Hardware Composer 
 QtUbuntu 
– Qt Platform Abstraction plugin 
– Based on Platform API
Architectural diagram of the 
overall system
Telephony 
 Hard to convince vendors to publish 
enough documentation to build an 
Open Source driver 
 Android proposes an abstraction by 
providing a HAL and a specific protocol 
(Radio Layer Interface) for solicited and 
unsolicited commands 
 Each vendor provides a binary blob 
that talks the RIL protocol 
 RIL is separated in two layers: 
– Base layer that talks with the binary 
modem 
– Upper layer that talks to the base 
layer using the RIL protocol, over a 
socket
Telephony and Connectivity 
oFono as the main telephony service 
– In order to reuse the Android modem drivers, a new 
oFono specific modem was created that talks with the 
RIL daemon 
– Communication via Socket, LibHybris not involved 
Network Manager as the default connectivity manager 
– No support to talk with oFono (oFono was only 
compatible with ConnMan) 
– New plugin created that talks to oFono and helps setting 
the data connection 
BlueZ 4.x (no issues here) 
Telepathy (and telepathy-ofono) used as the main 
communication framework
Telephony and Connectivity
Multimedia 
 GStreamer commonly used as the default 
multimedia framework on the Desktop 
– Used by QtWebkit, QtMultimedia and others 
– Supports a wide range of plugins 
– Abstraction for the Android multimedia stack, 
but only covering the JNI layer 
(android.media.MediaCodec) 
 Android JNI (and Java) not used by Ubuntu Touch 
– New abstraction on top of stagefright and 
libmedia was created 
– Using LibHybris 
– Texture streaming
Multimedia
Camera: Android 
Multiple HAL versions (1.0, 2.0, 3.0, 3.1) 
– ABI breakage 
– API differences 
– Hard to abstract 
Android Camera Service 
– Part of media service 
– Abstracts the Camera HAL in a simple API 
– Texture used for both output and preview 
– Not deeply connected to any other Android 
subsystem
Camera: Ubuntu Touch 
 Camera Service running inside the container 
– API abstracted by a compat library living on Android 
– LibHybris used to interact with the compat library 
– QtMultimedia plugin that talks with the compat 
library
Future Development 
 Telephony and Connectivity 
– MMS 
– Bluez 5 
 Multimedia 
– Encode support 
– Upstreaming 
 Camera 
– Video Recording 
 And many more!
References 
http://canonical.com 
http://ubuntu.com 
http://linuxfoundation.org
This presentation is created using LibreOffice Writer 4.1.0.4 available 
freely under GNU public license. 
Thank you

More Related Content

What's hot

Cloud tpu jae_180814
Cloud tpu jae_180814Cloud tpu jae_180814
Cloud tpu jae_180814Jaewook. Kang
 
윈도우 매니저 스터디: 1. 윈도우 매니저 출력
윈도우 매니저 스터디: 1. 윈도우 매니저 출력윈도우 매니저 스터디: 1. 윈도우 매니저 출력
윈도우 매니저 스터디: 1. 윈도우 매니저 출력nemoux
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentEmerson Exchange
 
IBM Integration Bus High Availability Overview
IBM Integration Bus High Availability OverviewIBM Integration Bus High Availability Overview
IBM Integration Bus High Availability OverviewPeter Broadhurst
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedGanapathi Kandaswamy
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022Stefano Stabellini
 
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019Mark Maclean
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)Ian Choi
 
F5 Distributed Cloud.pptx
F5 Distributed Cloud.pptxF5 Distributed Cloud.pptx
F5 Distributed Cloud.pptxabenyeung1
 
V mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transferV mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transfersolarisyougood
 
Microsoft Hyper-V explained
Microsoft Hyper-V explainedMicrosoft Hyper-V explained
Microsoft Hyper-V explainedTTEC
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...T.Rob Wyatt
 
Linux power management: are you doing it right?
Linux power management: are you doing it right?Linux power management: are you doing it right?
Linux power management: are you doing it right?Chris Simmonds
 
Siemens win cc manual pcs 7 runtime
Siemens win cc manual pcs 7 runtimeSiemens win cc manual pcs 7 runtime
Siemens win cc manual pcs 7 runtimeDien Ha The
 
39018631 lte-overview
39018631 lte-overview39018631 lte-overview
39018631 lte-overviewcefer mecid
 
CGNAT Wide Screen
CGNAT Wide ScreenCGNAT Wide Screen
CGNAT Wide ScreenZCorum
 

What's hot (20)

Cloud tpu jae_180814
Cloud tpu jae_180814Cloud tpu jae_180814
Cloud tpu jae_180814
 
윈도우 매니저 스터디: 1. 윈도우 매니저 출력
윈도우 매니저 스터디: 1. 윈도우 매니저 출력윈도우 매니저 스터디: 1. 윈도우 매니저 출력
윈도우 매니저 스터디: 1. 윈도우 매니저 출력
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized Environment
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
 
IBM Integration Bus High Availability Overview
IBM Integration Bus High Availability OverviewIBM Integration Bus High Availability Overview
IBM Integration Bus High Availability Overview
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019
Dell EMC OpenManage Enterprise 3.2 Server Firmware Updating Kickstart July 2019
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)
 
SR-IOV Introduce
SR-IOV IntroduceSR-IOV Introduce
SR-IOV Introduce
 
F5 Distributed Cloud.pptx
F5 Distributed Cloud.pptxF5 Distributed Cloud.pptx
F5 Distributed Cloud.pptx
 
V mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transferV mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transfer
 
Microsoft Hyper-V explained
Microsoft Hyper-V explainedMicrosoft Hyper-V explained
Microsoft Hyper-V explained
 
Master Thesis on LTE and 5G Technology
Master Thesis on LTE and 5G TechnologyMaster Thesis on LTE and 5G Technology
Master Thesis on LTE and 5G Technology
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
 
Linux power management: are you doing it right?
Linux power management: are you doing it right?Linux power management: are you doing it right?
Linux power management: are you doing it right?
 
Siemens win cc manual pcs 7 runtime
Siemens win cc manual pcs 7 runtimeSiemens win cc manual pcs 7 runtime
Siemens win cc manual pcs 7 runtime
 
39018631 lte-overview
39018631 lte-overview39018631 lte-overview
39018631 lte-overview
 
CGNAT Wide Screen
CGNAT Wide ScreenCGNAT Wide Screen
CGNAT Wide Screen
 
Mellanox VXLAN Acceleration
Mellanox VXLAN AccelerationMellanox VXLAN Acceleration
Mellanox VXLAN Acceleration
 

Viewers also liked

Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Vikram Verma
 
Ubuntu Desktop Telephony Stack
Ubuntu Desktop Telephony StackUbuntu Desktop Telephony Stack
Ubuntu Desktop Telephony StackDavid Sugar
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineeringRex Tsai
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbianAJAL A J
 
Day 6 ubuntu boot camp
Day 6 ubuntu boot campDay 6 ubuntu boot camp
Day 6 ubuntu boot campDarlene Parker
 
Operating Systems in Mobile Phones
Operating Systems in Mobile PhonesOperating Systems in Mobile Phones
Operating Systems in Mobile PhonesSasukeJUchiha
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating SystemUday_Peddur
 
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)TAUS - The Language Data Network
 
Lovemydog 2012 , UK\'s leading pet accessory brand
Lovemydog 2012 , UK\'s leading pet accessory brandLovemydog 2012 , UK\'s leading pet accessory brand
Lovemydog 2012 , UK\'s leading pet accessory brandLoveMyDog
 
Apostolado del mar lineamientos celam
Apostolado del mar lineamientos celamApostolado del mar lineamientos celam
Apostolado del mar lineamientos celamitepal
 
Sustainable Cities Network Posibilities
Sustainable Cities   Network PosibilitiesSustainable Cities   Network Posibilities
Sustainable Cities Network PosibilitiesGlenn Klith Andersen
 

Viewers also liked (20)

Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones
 
Ubuntu touch
Ubuntu touch Ubuntu touch
Ubuntu touch
 
Ubuntu OS Presentation
Ubuntu OS PresentationUbuntu OS Presentation
Ubuntu OS Presentation
 
Ubuntu Desktop Telephony Stack
Ubuntu Desktop Telephony StackUbuntu Desktop Telephony Stack
Ubuntu Desktop Telephony Stack
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineering
 
Mac
MacMac
Mac
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbian
 
Day 6 ubuntu boot camp
Day 6 ubuntu boot campDay 6 ubuntu boot camp
Day 6 ubuntu boot camp
 
Operating Systems in Mobile Phones
Operating Systems in Mobile PhonesOperating Systems in Mobile Phones
Operating Systems in Mobile Phones
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating System
 
23 de setiembre del 2014
23 de setiembre del 201423 de setiembre del 2014
23 de setiembre del 2014
 
Volume ii web
Volume ii webVolume ii web
Volume ii web
 
Presentación jonny heber
Presentación jonny heberPresentación jonny heber
Presentación jonny heber
 
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)
Machine Translation Quality - Are We There Yet? - Olga Beregovaya (Welocalize)
 
Lovemydog 2012 , UK\'s leading pet accessory brand
Lovemydog 2012 , UK\'s leading pet accessory brandLovemydog 2012 , UK\'s leading pet accessory brand
Lovemydog 2012 , UK\'s leading pet accessory brand
 
Apostolado del mar lineamientos celam
Apostolado del mar lineamientos celamApostolado del mar lineamientos celam
Apostolado del mar lineamientos celam
 
Bondia Lleida 08032012
Bondia Lleida 08032012Bondia Lleida 08032012
Bondia Lleida 08032012
 
Dushyant Patel (1)
Dushyant Patel (1)Dushyant Patel (1)
Dushyant Patel (1)
 
Sustainable Cities Network Posibilities
Sustainable Cities   Network PosibilitiesSustainable Cities   Network Posibilities
Sustainable Cities Network Posibilities
 
14 planeshabana
14 planeshabana14 planeshabana
14 planeshabana
 

Similar to Introduction to Ubuntu Edge Operating System (Ubuntu Touch)

开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机Rex Tsai
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system pptSantosh Kumar
 
Mobileoperatingsystem ppt-130522194611-phpapp02
Mobileoperatingsystem ppt-130522194611-phpapp02Mobileoperatingsystem ppt-130522194611-phpapp02
Mobileoperatingsystem ppt-130522194611-phpapp02AvniKumari1
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)guest3df603
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416zxdrtyu
 
Open source mobile Operating Systems
Open source mobile Operating SystemsOpen source mobile Operating Systems
Open source mobile Operating SystemsDeeptiman Mallick
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux MultimediaCaglar Dursun
 
Latest Development Of MeeGo
Latest Development Of MeeGoLatest Development Of MeeGo
Latest Development Of MeeGoAmanda Lam
 
Linux and its fundamentals
Linux and its fundamentalsLinux and its fundamentals
Linux and its fundamentalsAgreeta Sharma
 
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For GnomeRao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For GnomeMario B.
 

Similar to Introduction to Ubuntu Edge Operating System (Ubuntu Touch) (20)

开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system ppt
 
Android...by raziel lucagbo
Android...by raziel lucagboAndroid...by raziel lucagbo
Android...by raziel lucagbo
 
Ice cream-sandwich
Ice cream-sandwichIce cream-sandwich
Ice cream-sandwich
 
Mobileoperatingsystem ppt-130522194611-phpapp02
Mobileoperatingsystem ppt-130522194611-phpapp02Mobileoperatingsystem ppt-130522194611-phpapp02
Mobileoperatingsystem ppt-130522194611-phpapp02
 
Ubuntu-Overview
Ubuntu-OverviewUbuntu-Overview
Ubuntu-Overview
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)
 
Introduction to Ubuntu
Introduction to UbuntuIntroduction to Ubuntu
Introduction to Ubuntu
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
 
Open source mobile Operating Systems
Open source mobile Operating SystemsOpen source mobile Operating Systems
Open source mobile Operating Systems
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
 
Lucidlynxslides
LucidlynxslidesLucidlynxslides
Lucidlynxslides
 
The Technology Talk
The Technology TalkThe Technology Talk
The Technology Talk
 
Android
AndroidAndroid
Android
 
Latest Development Of MeeGo
Latest Development Of MeeGoLatest Development Of MeeGo
Latest Development Of MeeGo
 
Linux and its fundamentals
Linux and its fundamentalsLinux and its fundamentals
Linux and its fundamentals
 
Qt
QtQt
Qt
 
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For GnomeRao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
 
Linux
LinuxLinux
Linux
 

More from Tushar B Kute

Apache Pig: A big data processor
Apache Pig: A big data processorApache Pig: A big data processor
Apache Pig: A big data processorTushar B Kute
 
01 Introduction to Android
01 Introduction to Android01 Introduction to Android
01 Introduction to AndroidTushar B Kute
 
Ubuntu OS and it's Flavours
Ubuntu OS and it's FlavoursUbuntu OS and it's Flavours
Ubuntu OS and it's FlavoursTushar B Kute
 
Install Drupal in Ubuntu by Tushar B. Kute
Install Drupal in Ubuntu by Tushar B. KuteInstall Drupal in Ubuntu by Tushar B. Kute
Install Drupal in Ubuntu by Tushar B. KuteTushar B Kute
 
Install Wordpress in Ubuntu Linux by Tushar B. Kute
Install Wordpress in Ubuntu Linux by Tushar B. KuteInstall Wordpress in Ubuntu Linux by Tushar B. Kute
Install Wordpress in Ubuntu Linux by Tushar B. KuteTushar B Kute
 
Share File easily between computers using sftp
Share File easily between computers using sftpShare File easily between computers using sftp
Share File easily between computers using sftpTushar B Kute
 
Signal Handling in Linux
Signal Handling in LinuxSignal Handling in Linux
Signal Handling in LinuxTushar B Kute
 
Implementation of FIFO in Linux
Implementation of FIFO in LinuxImplementation of FIFO in Linux
Implementation of FIFO in LinuxTushar B Kute
 
Implementation of Pipe in Linux
Implementation of Pipe in LinuxImplementation of Pipe in Linux
Implementation of Pipe in LinuxTushar B Kute
 
Basic Multithreading using Posix Threads
Basic Multithreading using Posix ThreadsBasic Multithreading using Posix Threads
Basic Multithreading using Posix ThreadsTushar B Kute
 
Part 04 Creating a System Call in Linux
Part 04 Creating a System Call in LinuxPart 04 Creating a System Call in Linux
Part 04 Creating a System Call in LinuxTushar B Kute
 
Part 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxPart 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxTushar B Kute
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingTushar B Kute
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Tushar B Kute
 
Open source applications softwares
Open source applications softwaresOpen source applications softwares
Open source applications softwaresTushar B Kute
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteTushar B Kute
 
Technical blog by Engineering Students of Sandip Foundation, itsitrc
Technical blog by Engineering Students of Sandip Foundation, itsitrcTechnical blog by Engineering Students of Sandip Foundation, itsitrc
Technical blog by Engineering Students of Sandip Foundation, itsitrcTushar B Kute
 
Chapter 01 Introduction to Java by Tushar B Kute
Chapter 01 Introduction to Java by Tushar B KuteChapter 01 Introduction to Java by Tushar B Kute
Chapter 01 Introduction to Java by Tushar B KuteTushar B Kute
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteTushar B Kute
 
Java Servlet Programming under Ubuntu Linux by Tushar B Kute
Java Servlet Programming under Ubuntu Linux by Tushar B KuteJava Servlet Programming under Ubuntu Linux by Tushar B Kute
Java Servlet Programming under Ubuntu Linux by Tushar B KuteTushar B Kute
 

More from Tushar B Kute (20)

Apache Pig: A big data processor
Apache Pig: A big data processorApache Pig: A big data processor
Apache Pig: A big data processor
 
01 Introduction to Android
01 Introduction to Android01 Introduction to Android
01 Introduction to Android
 
Ubuntu OS and it's Flavours
Ubuntu OS and it's FlavoursUbuntu OS and it's Flavours
Ubuntu OS and it's Flavours
 
Install Drupal in Ubuntu by Tushar B. Kute
Install Drupal in Ubuntu by Tushar B. KuteInstall Drupal in Ubuntu by Tushar B. Kute
Install Drupal in Ubuntu by Tushar B. Kute
 
Install Wordpress in Ubuntu Linux by Tushar B. Kute
Install Wordpress in Ubuntu Linux by Tushar B. KuteInstall Wordpress in Ubuntu Linux by Tushar B. Kute
Install Wordpress in Ubuntu Linux by Tushar B. Kute
 
Share File easily between computers using sftp
Share File easily between computers using sftpShare File easily between computers using sftp
Share File easily between computers using sftp
 
Signal Handling in Linux
Signal Handling in LinuxSignal Handling in Linux
Signal Handling in Linux
 
Implementation of FIFO in Linux
Implementation of FIFO in LinuxImplementation of FIFO in Linux
Implementation of FIFO in Linux
 
Implementation of Pipe in Linux
Implementation of Pipe in LinuxImplementation of Pipe in Linux
Implementation of Pipe in Linux
 
Basic Multithreading using Posix Threads
Basic Multithreading using Posix ThreadsBasic Multithreading using Posix Threads
Basic Multithreading using Posix Threads
 
Part 04 Creating a System Call in Linux
Part 04 Creating a System Call in LinuxPart 04 Creating a System Call in Linux
Part 04 Creating a System Call in Linux
 
Part 03 File System Implementation in Linux
Part 03 File System Implementation in LinuxPart 03 File System Implementation in Linux
Part 03 File System Implementation in Linux
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
 
Open source applications softwares
Open source applications softwaresOpen source applications softwares
Open source applications softwares
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
 
Technical blog by Engineering Students of Sandip Foundation, itsitrc
Technical blog by Engineering Students of Sandip Foundation, itsitrcTechnical blog by Engineering Students of Sandip Foundation, itsitrc
Technical blog by Engineering Students of Sandip Foundation, itsitrc
 
Chapter 01 Introduction to Java by Tushar B Kute
Chapter 01 Introduction to Java by Tushar B KuteChapter 01 Introduction to Java by Tushar B Kute
Chapter 01 Introduction to Java by Tushar B Kute
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
 
Java Servlet Programming under Ubuntu Linux by Tushar B Kute
Java Servlet Programming under Ubuntu Linux by Tushar B KuteJava Servlet Programming under Ubuntu Linux by Tushar B Kute
Java Servlet Programming under Ubuntu Linux by Tushar B Kute
 

Recently uploaded

Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Recently uploaded (20)

Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

Introduction to Ubuntu Edge Operating System (Ubuntu Touch)

  • 1. Introduction Ubuntu Edge Operating System [Ubuntu Touch] Tushar B Kute tushar@tusharkute.com http://snashlug.org contact@snashlug.org
  • 2. Ubuntu Edge The Ubuntu Edge was a proposed "high concept" smartphone announced by Canonical Ltd. on 22 July 2013. The Edge was designed as a hybrid device, which would function as a high-end smartphone (with both Ubuntu Touch and Android), or—when used with a monitor, keyboard and mouse—be able to operate as a conventional desktop PC running Ubuntu. The Ubuntu Edge was also designed to support dual boot, and was to run along with Android.
  • 3.
  • 4. Ubuntu Touch Ubuntu Touch (also known as Ubuntu Phone) is a mobile version of the Ubuntu operating system developed by Canonical UK Ltd and Ubuntu Community. It is designed primarily for touchscreen mobile devices such as smartphones and tablet computers.
  • 5. History Mark Shuttleworth announced, 31 October 2011, that by Ubuntu 14.04, Ubuntu will support smartphones, tablets, TVs and smart screens. The Ubuntu platform for phones was unveiled on 2 January 2013. The Ubuntu Touch Developer Preview was released on 21 February 2013.
  • 6. Release Canonical released Ubuntu Touch 1.0, the first developer/partner version on 17 October 2013, along with Ubuntu 13.10 that "primarily supports the Galaxy Nexus and Nexus 4 phones, though there are images available for other phones and tablets". Developers have access to all of the source code under a license allowing modification and redistribution of the software.
  • 7. Features Ubuntu Touch uses the Qt 5-based touch user interface and various software frameworks originally developed for Maemo and MeeGo such as oFono as telephony stack, accounts-sso for single sign-on, and Maliit for input. Utilizing libhybris the system can often be used with Linux kernels used in Android, which makes it easily ported to most recent Android smartphones.
  • 8. Features  Ubuntu Touch utilizes the same core technologies as the Ubuntu Desktop, so applications designed for the latter platform run on the former and vice versa.  Ubuntu Desktop components come with the Ubuntu Touch system; allowing Ubuntu Touch devices to provide a full desktop experience when connected to an external monitor.  Ubuntu Touch devices can be equipped with a full Ubuntu session and may change into a full desktop operating system when plugged into a docking station.
  • 10. Ubuntu Touch: Challenges  Desktop Unity using Compiz + Nux – Complex design – Lacking proper support for OpenGL ES 2.0  Quite a few components were not optimized for mobile (battery, background processes, usability, etc)  Hardware accelerated stack without depending on the hw vendor  Decision to develop a new stack, and make it generic enough so it could later be also shared with Desktop (convergence)
  • 11. New Unity: one that would rule them all  Traditional stack composed of Compiz, Nux, Unity and X11 – Not ideal for mobile, not properly compatible with OpenGL ES 2.0 – Nux not so developer friendly ● And not commonly known by developers – X11 was also not ideal, but a replacement was already on the way ● Wayland and/or MIR  Experience with Ubuntu Netbook (EFL) and later Unity 2D (Qt) – EFL fast and small, but API not that stable and issues with lack of development tools and documentation. – Qt already supported and used by different targets and products ● Great development tools and documentation ● QML
  • 12. Unity8: Built with Qt and QML  Decision to create a new Unity from scratch, using Qt 5.0 – Qt was already quite well supported and known by developers – QML proved to be an easy and straightforward language/tool – Fully compatible with OpenGL ES 2.0 – Different APIs and abstractions for many core components – Great Software Development Kit – Convergence in mind  Only issue was finding hardware with decent drivers
  • 13. Reusing Android Drivers  Android based devices largely available: – Decent drivers, but mostly closed source – Open Source code base, allowing us to read and modify it as needed  Issues: – Highly connected with the Kernel version used by Android (along with the usual tons of vendor-specific modifications) – Android is built with Bionic instead of Glibc, types not necessarily compatible – Android core API/ABI is not necessarily stable, need to stick with a specific version (e.g. 4.4.2)
  • 14. Reusing Android Drivers: LibHybris  Compatibility layer for systems based on Glibc that allows Bionic based binaries to be used.  Created by Carsten Munk on August 2012  Conceptually libhybris is a custom version of the Bionic linker, with hooks replacing Bionic symbols with Glibc compatible ones  Main differences and issues with libhybris: – Android uses fixed TLS slots that can override glibc's TLS – Bionic pthreads implementation differs from glibc
  • 15. Architectural diagram of the overall system  Platform API – Sensors – GPS – Multimedia  Mir – Display Server – Abstraction for the OpenGL ES 2.0 drivers – Hardware Composer  QtUbuntu – Qt Platform Abstraction plugin – Based on Platform API
  • 16. Architectural diagram of the overall system
  • 17. Telephony  Hard to convince vendors to publish enough documentation to build an Open Source driver  Android proposes an abstraction by providing a HAL and a specific protocol (Radio Layer Interface) for solicited and unsolicited commands  Each vendor provides a binary blob that talks the RIL protocol  RIL is separated in two layers: – Base layer that talks with the binary modem – Upper layer that talks to the base layer using the RIL protocol, over a socket
  • 18. Telephony and Connectivity oFono as the main telephony service – In order to reuse the Android modem drivers, a new oFono specific modem was created that talks with the RIL daemon – Communication via Socket, LibHybris not involved Network Manager as the default connectivity manager – No support to talk with oFono (oFono was only compatible with ConnMan) – New plugin created that talks to oFono and helps setting the data connection BlueZ 4.x (no issues here) Telepathy (and telepathy-ofono) used as the main communication framework
  • 20. Multimedia  GStreamer commonly used as the default multimedia framework on the Desktop – Used by QtWebkit, QtMultimedia and others – Supports a wide range of plugins – Abstraction for the Android multimedia stack, but only covering the JNI layer (android.media.MediaCodec)  Android JNI (and Java) not used by Ubuntu Touch – New abstraction on top of stagefright and libmedia was created – Using LibHybris – Texture streaming
  • 22. Camera: Android Multiple HAL versions (1.0, 2.0, 3.0, 3.1) – ABI breakage – API differences – Hard to abstract Android Camera Service – Part of media service – Abstracts the Camera HAL in a simple API – Texture used for both output and preview – Not deeply connected to any other Android subsystem
  • 23. Camera: Ubuntu Touch  Camera Service running inside the container – API abstracted by a compat library living on Android – LibHybris used to interact with the compat library – QtMultimedia plugin that talks with the compat library
  • 24. Future Development  Telephony and Connectivity – MMS – Bluez 5  Multimedia – Encode support – Upstreaming  Camera – Video Recording  And many more!
  • 26. This presentation is created using LibreOffice Writer 4.1.0.4 available freely under GNU public license. Thank you