Moblin Architecture Overview Linux Foundation – Moblin Seminar
Sunil Saxena Open Source Technology Center Software & Services Group Legal information
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® 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 PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY 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 C on tent Pic tures Directions Blog, IM/Chat Music POI, LBS Voice (VoIP, CSV) Internet 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 Netbook & Nettop 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 Nettops
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 Clutter toolkit Reference UX
QT 3D User Interface Library (Clutter) s QT Embed ee (clutter-QT) Media Playback UI GTK+ (clutter-media) GTK Embed Web Rendering Physics Servic (clutter-GTK) (mozilla-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 Gecko) (GStreamer, Helix) (OpenGL) (D-Bus)
i18N Rendering Telephony APIs Web Services Audio Mgmt C Services C
s (Pango) ((py,)Telepathy, GSM) (REST, Mojito) (PulseAudio) (Glib, GObject) ore ee 2D Graphics rd Location Content Mgmt PIM Services 3 Party IP (Cairo) 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, 3G 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 (mesa) 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 glib, gobject, 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 scheduling 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 access 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 Linux kernel – Base Linux Wireless and Bluetooth drivers Device drivers and platform support specific to platform Base Linux Power management for Netbooks – 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 Metacity 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