Documentation/Maemo 5 Developer Guide/Architecture/Top Level Architecture

The following figure gives a logical decomposition view of Maemo 5 software architecture based on the domains delivering software to the Fremantle release. Proprietary components are marked in red.

Block diagram

  • Core Domain contains bootloader and Calibration Area, Linux kernel, X windowing system (X11), OpenGL ES, and (some) essential user space components (the C library, essential user space tools, and system configuration data and tools) adapted / configured for the Fremantle HW.
  • System Software domain is responsible for user modes, device states including start-up/shutdown, display and other inactivity state control, providing robustness services, power management, and battery management.
  • Connectivity domain provides the APIs, user interfaces and underlying user-space and kernel components for Wireless Internet, Wireless local and Home connectivity, implements connection establishment mechanisms and user interfaces to control Internet access points on the device. This includes WLAN, connections over Bluetooth, also UPnP, and Device Management (uses the Funambol OMA DM/DS framework).
  • RTCom domain provides both services, and applications, for realtime Internet communications (Voice Over IP calls and Instant Messaging) on Maemo platform. It also provides and distributes presence information within the system and is responsible for smooth integration of the externally developed Skype application into the system.
  • Multimedia Framework domain contains the multimedia APIs including GStreamer, ALSA and PulseAudio, and the lower level functionality such as DSP codecs. Multimedia Framework also responsible for policy, audio-routing, and event-sounds.
  • Location domain implements a framework that applications can use to become location aware. Location implements also an API that provides a set of location related utilities like geocoding, reverse geocoding, show on map, select from map, get map data and POI (Point Of Interest) repository. It also includes everything related to GPS and SUPL.
  • Toolkit domain contains the graphical UI libraries to draw content on the device’s screen and used by the applications to create user graphical interfaces.
  • Desktop domain contains Window Manager and Clutter, Home, Status Menu, and their plugins, Control Panel and its applets, Input Methods and I18N, and application services such as Startup.
  • Data Management domain consists of application and user data related subsystems. It also includes GConf.
  • Applications domain provides end user applications like Browser, Email, Calendar, Games etc provides public interfaces for 3rd party applications to access them.
  • Graphics domain provides sounds, icons and pre-installed content for the device.