<<

Moblin Architecture Overview Foundation – Seminar

Sunil Saxena Open Source Technology Center & Services Group Legal information

ƒ INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH ® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER , AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,,, MERCHANTABILITY, OR INFRINGEMENT OF ANY , COPYRIGHT, OR OTHER RIGHT. ƒ Intel mayygp,pp,p make changes to specifications, product descriptions, and plans at any time, without notice. ƒ All dates provided are subject to change without notice. ƒ IliIntel is a tra demar kfIlCk of Intel Corporat iihUSdhion in the U.S. and other countr ies. ƒ *Other names and brands may be claimed as the property of others. ƒ Copyright © 2007-2009, Intel Corporation . All rights are protected.

Linux Foundation – Moblin Seminar 2 2 2 Agenda

ƒ Moblin Platform Usages ƒ Moblin Architecture Overview ƒ Summary / Call-to-Action

Linux Foundation – Moblin Seminar 3 3 3 MID Platform Usages

INFORMATION COMMUNICATION ENTERTAINMENT

Social Networking Video, TV, Games EU Generat ed on tent Pic tures Directions Blog, IM/Chat Music POI, LBS Voice (VoIP, CSV) Browsing News, Shop, Sports Internet Browsing Internet Browsing Video Conferencing

GenY GenY Gen Y Digital Parents Mobile Professionals Digital Parents Mobile Professionals Mobile Professional

Linux Foundation4 – Moblin Seminar 4 4 4 & Platform Usages

Communicate Watch & Play Email Photo Viewing/Sharing Instant Message Video Streaming Voice Over IP (VOIP) Basic Online Gaming Social Networking

Learn Research Homework & Studying Internet (Safe) Browsing Language Learning

Browse Listen SfhWbSurf the Web MP3 Read the News Streaming Audio Search for Information

Linux Foundation – Moblin Seminar 5 5 5 In-vehicle Infotainment Platform Usages

In Car Usages

y HandsHands--freefree y Telematics y Navigation y EtEntert tiainment

Linux Foundation – Moblin Seminar 6 6 6 Embedded Platform Usages

Media Phone = Internet Enabled Phone • Kitchen Internet Device ()(aka Consumer Broadband Phone) • Unified Communications Device (aka Unified Communications Client) • Bedside Internet Device (Hospitality, Telecare)

(Office) (Home) • E Cash Registers • Premise Service Platforms (Gateway) • General Embedded • .... New Segment Development

Linux Foundation – Moblin Seminar 7 7 7 7 Agenda ƒ Moblin Platform Usages ƒ Moblin Architecture Overview – UI S ervi ces – Internet Browser – Media Player – Connection Manager / Phone Application – Kernel Services – Netbook UX and Mid UX – Power Management – Boot times – Security – SDK ƒ Summary / Call -to-Action

Linux Foundation – Moblin Seminar 8 8 8 Moblin is Optimized Linux SW Platform for Intel® Atom™ Processors

Netbooks/ MIDs Auto Embedded

OS & OS & OS & OS & Sys. Infra. Moblin Sys. Infra. Sys. IfInfra. Sys. Infra.

Platforms based on Intel® Atom™ processors

Linux Foundation – Moblin Seminar 9 9 9 The Moblin Software Stack

Platform Specific UX

UI Services Mo b lin

App Services Core

Linux Kernel and Drivers

ƒ Moblin Core is common across platforms ƒ User Experience is specific to a platform (e.g. MID, Netbook, IVI, …)

Linux Foundation – Moblin Seminar 10 10 10 The Moblin SW Architecture

Customer PPiddrovided WM + Clu tter UI / Apps Compositor Platf orm SifiSpecific UX toolkit Reference UX

QT 3D User Interface (Clutter) s Embed ee (clutter-QT) Media Playback UI GTK+ (clutter-media) GTK Embed Web Rendering Physics Servic (clutter-GTK) (-clutter) (Box2D) Moblin Comms Services Internet Services Media Services Graphics Services Other Services Network Mgmt Layout Engine Media Services 3D Graphics Message Bus (ConnMan) (Mozilla ) (GStreamer, Helix) (OpenGL) (D-Bus)

i18N Rendering Telephony APIs Web Services Audio Mgmt C Services C

s () ((py,), GSM) (REST, Mojito) (PulseAudio) (Glib, GObject) ore ee 2D Graphics rd Location Content Mgmt PIM Services 3 Party IP () Cellular Bluetooth (Gypsy, GeoClue) (Bickley) (EDS)

App VoIP, IM, Stack (BlueZ) Presence Device Sync Servic Codecs X (SyncML, gUPnP) WiFi / WiMAX (Dri vers, OMA -DM)

Linux Base Services inux

ernel WiFi, WiMAX

LL Power Mgmt Device Drivers Platform Support Graphics system KK Bluetooth, Data

Linux Foundation – Moblin Seminar 11 11 11 UI Services: Clutter 3D User Interface Library (Clutter) ƒ Clutter is an open source QT Embed (clutter-QT) Media Playback software library for creating (clutter-media) GTK Embed Web Rendering Physics sleek, fast and visually rich (clutter-GTK) (mozilla-clutter) (Box2D) interfaces with 3D effects and Graphics Services 3D Graphics animations (OpenGL)

i18N Rendering – Uses OpenGL () without (Pango) exposing the complexity 2D Graphics (Cairo) – Offers a simple, object-oriented X API, tailored toward manipulating 2D objects in 3D space and time – Built on , , pango, cairo Linux Base Services

– Developed in C with bindings for Graphics system Python, Perl, C#

Linux Foundation – Moblin Seminar 12 12 12 UI Services: QT / GTK+

QT 3D User Interface Library (Clutter) QT Embed (clutter-QT) GTK+ GTK Embed (clutter-GTK)

ƒ QT is a cross-pppplatform application framework – Portable across desktop and embedded operating systems ƒ GTK+ is a cross-ppglatform toolkit for creating User Interfaces ƒ Both can be used alongside and with Clutter

Linux Foundation – Moblin Seminar 13 13 13 Graphics in Moblin

ƒ Huge improvements since last year – composited 3D, monitor auto-plug, 2D/3D/Media shared objects, KMS, Kernel based 2D drawing ƒ Graphics Execution Engine – Kernel Memory Management to allow persistent objects, global names, Pageable contents – SHMFS for object allocation – Cache management using “memory domains” exposed to Apps – Kernel manages graphics aperture exclusively – Batch buffers as the fundamental unit ƒ DRI2 – new X extension to replace DRI (Direct Rendering Infrastructure) extension ƒ Kernel Mode Setting – Smooth boot experience and flicker free boot – Hot-plug monitors – Non-root X server possible ƒ Multi-master DRM possible with DRI2 and KMS – Allows non-X GPU usages including GPGPU ƒ OpenGL enhancements – work in progress – GL Shading Language , Tiled memory support , new shader compiler

Linux Foundation – Moblin Seminar 14 14 14 Internet Browser Platform Specific UX Browser ƒ Three major components of the browser 3D User Interface Library (Clutter) – Headless layout engine, clutter embedding, and a platform specific browser app Web Rendering (mozilla-clutter)

ƒ Web Services libraries enable Internet Services Layout Engine integration of web content (e.g. (Mozilla Gecko) Web Services social networking, media) into (REST, Mojito) the user experience Location (Gypsy, GeoClue) ƒ GeoClue provides location information from a variety of sou rces via a D-BsinterfaceBus interface – Gypsy provides abstracted, Linux Base Services multiplexed to GPS devices PlatformGraphics Supportsystem (a replacement for GPSD)

Linux Foundation – Moblin Seminar 15 15 15 Media Player Platform Specific UX Media ƒ Media stack is designed to support either Helix or 3D User Interface Library (Clutter) Media Playback GStreamer (ltt(clutter-media ) ƒ Clutter-media provides a

uniform interface to control Media Services Media Services playback of media sources (GStreamer, Helix) Audio Mgmt (PulseAudio) ƒ Bickley provides metadata Conte n t M gm t extraction and management (Bickley) Codecs for media files (audio, video, and photo) Linux Base Services

Device Drivers Platform Support

Linux Foundation – Moblin Seminar 16 16 16 Gstreamer – The Architecture Overview • What is Gstreamer? – a library for constructing graphs of media-handling components. – applications can take advantage of advances in codec and filter technology transparently. – GStreamer is released under the LGPL. • About Fluendo – a company launched in 2004. It is building their services on tfthtop of the GStreamer Courtesey: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-gstreamer.html streaming media framework. – maintainers of gstreamer are employed in that company.

Linux Foundation – Moblin Seminar 17 17 17 Connection Manager Platform Specific UX CM Phone ƒ Network management via 3D User Interface Library (Clutter) ConnMan supporting WiFi, WiMAX, and 3G data connections

Comms Services Network Mgmt (ConnMan) Phone Applications Telephony APIs (Telepathy, oPhono-GSM)

3rd PtParty IP Blue too th ƒ Telephony interface to enable Cellular VoIP, IM, (BlueZ) Stack Presence support for multiple 3G voice WiFi / WiMAX / 3G stacks and integration with VoIP (Drivers, OMA-DM)

Linux Base Services

Device Drivers Platform Support

Linux Foundation – Moblin Seminar 18 18 18 Other Services: PIM and Sync Platform Specific UX App ƒ EDS provides the data store for PIM 3D User Interface Library data (Calendar, Contacts, and Tasks) (Clutter) Other Services ƒ Integrating device synchronization – Planning a SyncML client which synchronizes PIM data Message Bus – Media sync under investigation (D-Bus) C Services (Glib, GObject) ƒ D-Bus as the common mechanism for PIM Services (EDS) app-to-app / app-to-service Device Sync communication (e.g. Connman, Mojito, (SyncML, gUPnP) EDS, Bickley, etc) Linux Base Services

ƒ Glib and Gobject are standard portable Device Drivers object system used by other services

Linux Foundation – Moblin Seminar 19 19 19 Kernel Services

Linux Base Services WiFi, WiMAX Power Mgmt Device Drivers Platform Support Graphics system Bluetooth, 3G Data

ƒ Base – Base Linux Wireless and Bluetooth drivers ƒ Device drivers and platform support specific to platform ƒ Base Linux Power management for – MID power management stack may be extra – Using Powertop to optimize full-stack

Linux Foundation – Moblin Seminar 20 20 20 Moblin Netbook UX

Moblin Netbook UX

Customer Provided UI / Apps WM + Clutter Compositor Moblin Netbook Reference UX

Netbook Clutter toolkit

ƒ AididfNtbkA new user experience designed for Netbook usages (Internet, Media, Social Networking) ƒ Optimiz ed for a 7-10” screen , key board and trackpad ƒ Supports existing Linux apps (e.g. GTK+, QT)

Linux Foundation – Moblin Seminar 21 21 21 Moblin MID UX

Moblin MID UX

Customer Provided UI / Apps MatchBox WM + Clutter Compositor Moblin MID Reference UX

MID Clutter toolkit

ƒ A new user experience designed for MID usages (Internet, Media, Social Networking, Telephony) ƒ Optimized for < 5” screen, touch as primary input, optional keyboard ƒ Generallyyq requires new a pp UI

Linux Foundation – Moblin Seminar 22 22 22 Power-management

ƒ Moblin Netbook Platform power-management philosophy follows best Linux Power Management practices – When parts of HW that is not used it goes into deepest pow er- saving state – Use Power top to check if any software shows unfavorable behavior to disallow the platform going into power saving states – The HW and OS abstract specific power behavior so that applications are power agnostic ƒ Moblin MID platform is expected to use platform specific (Moorestown) Power management – StdltfifiSegment and platform specific power-managementltit solution

Linux Foundation – Moblin Seminar 23 23 23 Security Model for Moblin

ƒ Security for Moblin provides Exploit defense ƒ Moblin Security features follows best practices of core Linux to – Disall ow exp lo ita tion o f bu ffer over flow – Prevent access by malicious external access ƒ Moblin supports – XD in Linux to disallow execution of code from stack or heap space – Address space randomization – Uses canary value with return address on the stack – Fortif y fi xe d leng th arrays / s truc tures to disa llow access ou ts ide o f it – Does not allow external agent to open network connection into Moblin • No open ports that Moblin listens to, only allows outbound connection – Non-root X server support with the use of KMS and DRI2 ƒ Security Updates come from OSV – Moblin ppggrovides signing them with GPG ke y

Linux Foundation – Moblin Seminar 24 24 24 Boot times

ƒ Boot times is important for us and is a big focus for Moblin ƒ Standbyyqyp and Shutdown times are equally important ƒ Moblin boot time (after BIOS handoff) with SSD isless than 10 seconds at this time – Work continues to cut that down to half of that – MID, IVI and Embedded platforms require lower boot times

Linux Foundation – Moblin Seminar 25 25 25 Moblin 2.0 SDK http://moblin.org/documentation/moblin-sdk ƒ Guide to create a new application http://moblin.org/documentation/moblin-sdk/create-new-application – Setting up a development environment http://moblin.org/documentation/moblin-sdk/create-new-application#dev-environment – Create, build, and run a new application or library http://moblin.org/documentation/moblin-sdk/create-new-application#create-build-run – Find tips, tut ori a ls, an d nex t s teps http://moblin.org/documentation/moblin-sdk/create-new-application#tips ƒ Development Tools http://moblin.org/documentation/moblin-sdk/development-tools ƒ Coding Tutorials http://moblin.org/documentation/moblin-sdk/coding-tutorials

Linux Foundation – Moblin Seminar 26 26 26 Agenda

ƒ Moblin Platform Usages ƒ Moblin Architecture Overview ƒ Summary / Call-to-Action

Linux Foundation – Moblin Seminar 27 27 27 Moblin Summary

• An Open Source Community Project

• A complete Linux stack – kernel, drivers, OS+UI+Apps infrastructure, core apps, tools, SDK

• A common software platform across MIDs, Netooks, Nettops, IVI

• Productized by 17 Linux OSVs WW

• Moblin project = technology

• Moblin products = OSVs

Moblin is the OS optimized for Atom based devices

Linux Foundation – Moblin Seminar 28 28 28 Thank you

Linux Foundation – Moblin Seminar 29 29 29