Contents |
The following sections includes short architecture overviews about implementations of different features provided by the platform.
The platform relies on HAL to abstract most of the hardware devices, including:
Gnome volume manager automatically mounts different devices (usb flash, cd-rom etc.). Gnome volume manager can also launch different software when new device is connected. Gnome volume manager sends DBus messages with libnotify about all storage device connection and removing events. The example UI uses notification daemon for showing storage device action messages to the user. Volume manager uses HAL's dbus-interface to get notifications and interact with hardware.
Media playback is based on the GStreamer media framework. The generic platform should not depend on multimedia hardware nor patented code and therefore most of the codecs need to be installed as 3rd party codecs. If e.g. hardware manufacturer provides GStreamer plugins using their optimized OpenMAX components, those plugins are automatically seen by the application suite.
See 3rd party codecs page on how to add 3rd party audio and video codecs to the platform builds.
The generic audio support consists of:
By default, the software does not rely on any multimedia hardware (including accelerated display drivers) being available, the generic platform does not provide support for video. Decoding of for example MPEG4 should be possible in software on relatively low-level hardware, but most codecs output only YUV colorspace and converting it to RGB16 for display on screen is generally too CPU intensive to be feasible.
The generic video support consists of:
The platform includes Gecko 1.9 engine (xulrunner) with a very simple UI called "Nitehawk". The browser engine in the platform has its own status page.
NetworkManager is used to setup different network connections. Currently NetworkManager supports setting up ethernet and WLAN connections and has pluggable support for VPN. GRPS/3G over Bluetooth is not yet supported in the coming 0.7 release but is being worked on.
The example UI has network-manager-applet panel applet to control NetworkManager and setup connections.
Boot up procedure is described in its own page.