Introduction and Goals
Intel's low-power Mobile Internet Device (MID) will be used in several environments. The vision for this new category of devices includes the following:
* Internet anytime, anywhere
* Always connected
* Rich OSV ecosystem to provide worldwide coverage to ODM/OEMs
* Rich ISV ecosystem to provide a wide set of applications on the platform for targeted usage models
Multiple OSVs will be creating MID-targeted distributions. To the extent possible, applications written for MIDs should be usable with little modification, in all distributions. The criteria for an OSV Linux distribution targeting the MID platform consists of the following:
* Full Internet experience for end users
o Desktop-like browsing experience (minus the screen size issues)
o Media playback (in and out of browser); all common media formats supported.
* Binary compatibility for easier application development on MID platforms; little to no additional effort for application developers to support multiple MID OS platforms.
Full Internet Experience
There are two basic components of this requirement:
* support for all the latest features employed by web designers (such as Ajax and CSS)
* support for common media formats
Browser Requirements
* Support the plug-ins for Java*, Adobe Flash*, and media player
* Support for Javascript, Ajax, Dynamic HTML, and other commonly used web standards
* Support for features such as iFrame, XMLHttpRequest, and Cascading Style Sheets (CSS)
Media Requirements
* Support for Intel MID platform video hardware acceleration
o Decode support for H.264, VC-1, MPEG-2, MPEG-4 codecs
* Support for common media formats
o Video: WMV9, H.264, MPEG-2, MPEG-4, VC-1, RealVideo, MPEG-1
o Audio: mp3, AC3, AAC, WMA, RealAudio
Binary Compatibility for Applications
As OEMs/ODMs build MIDs based on Intel’s LPIA silicon, they have the freedom to choose operating systems from multiple sources. Multiple OSVs will create MID-targeted OS Linux distributions and multiple ISVs will create and deploy applications for these MID platforms. Applications developed for the MID platform should work on all OSV platforms. The following criteria, based on the Linux Standard Base (LSB) and the Mobile and Internet Linux Project, were created to prevent fragmentation and establish a standard MID OS platform for application developers. OSVs should use the Mobile and Internet Linux Project as the basis for deriving their MID distribution requirements.
MID Software Stack Overview
MID application architecture is built on the GNOME mobile stack, is GTK+ based, and contains a subset of the components used in a GNOME desktop. It contains additional services and components required to provide a rich platform for a variety of applications.
Executable and Linking Format (ELF) support OSVs will support ELF, as outlined in LSB 3.1 core specification.
Program Interpreter Standard Linux program interpreter ld-linux.so.2 will be used (unlike what LSB requires).
Runtime libraries We divide the set of libraries into three buckets (described in the sections below):
* LSB specified libraries
* Core libraries on LSB's radar
* MID-specific libraries
LSB specified libraries
All of these libraries must conform to the LSB 3.1 specification.
Library Soname Description List of Symbols
libX11.so.6 X.org release 7.0 or later Superset of what is specified in LSB 3.1 spec
libXt.so.6
libXi.so.6
libXext.so.6
libm.so.6 C runtime; glibc package
libc.so.6
libpthread.so.0
libgcc_s.so.1 GCC unwind library
libdl.so.2 Dynamic loader library
librt.so.1
libGL.so.1
libICE.so.6
libSM.so.6
libcrypt.so.1
libz.so.1
libncurses.so.5
libutil.so.1
libstdc++.so.6 C++ runtime
libpam.so.0
libfontconfig.so.1
libpng12.so.0
libjpeg.so.62
libglib-2.0.so.0 GTK 2.12 as some of the latest Hildon changes will make it to GTK's Sept. 2007 2.12 release
libgobject-2.0.so.0
libgmodule-2.0.so.0
libgthread-2.0.so.0
libatk-1.0.so.0
libpango-1.0.so.0
libpangoxft-1.0.so.0
libpangoft2-1.0.so.0
libgdk_pixbuf-2.0.so.0
libgdk_pixbuf_xlib-2.0.so.0
libgdk-x11-2.0.so.0
libgtk-x11-2.0.so.0
libxml2.so.2 Libxml 2.21 or later
Core libraries on LSB's radar
Library Soname Description List of Symbols
libxrender.so.1 Additional x.org libraries TBD
libXft.so.2
libfreetype.so.6
libGLU Additional OpenGL library
libdbus-1.so.3 DBus 1.1 or later
libdbus-glib-1.so.2
libcairo.so.2 Cairo 1.4
MID-specific libraries
Following are the set of libraries that must be present in all MID OS distributions. It is recommended that an OSV use GnomeMobile 1.0 release coming in September, 2007.
Library Soname Description List of Symbols
libhildon-1.so.0 Hildon 1.0 coming in September 2007 with GnomeMobile TBD
libhildonfm.so.2
libhildonhelp.so.0
libhildonmime.so.0
libhildondesktop.so.0
libhildonwm.so.0
libbluetooth.so.2 Bluez 3.12
libgstaudio-0.10.so.0 Gstreamer 1.0
libgstbutils-0.10.so.0
libgstcdda-0.10.so.0
libgstinterfaces-0.10.so.0
libgstnetbuffer-0.10.so.0
libgstriff-0.10.so.0
libgstrtp-0.10.so.0
libgsttag-0.10.so.0
libgstvideo-0.10.so.0
libgstbase-0.10.so.0
libgstcheck-0.10.so.0
libgstcontroller-0.10.so.0
libgstdataprotocol-0.10.so.0
libgstnet-0.10.so.0
libgstreamer-0.10.so.0
libclutter-gst-0.1.so.0
libfarsight-0.1.so.2
libgconf-2.so.4 Gconf
libgconfmm-2.6.so.1
libgnomevfs-2.so.0 Gnomevfs
Other runtimes
* Perl, version 5.8.8 or later
* Python, version 2.5 or later
Runtime Commands
While MID usage models do not allow any command line interaction for end users, there will still be command line style utilities installed on the distribution. These are present because they form part of the startup and run-time operations. The command line utilities listed in LSB 3.1 are considered required so that they can safely be called by installation and startup scripts. [Research is still in progress to see which of these should be required for MID]. Any such utilities must behave in an LSB 3.1 compliant way.
File System Hierarchy
Per LSB 3.1 specification
Desktop Integration
The OS platform should be compliant with the following specifications (part of FreeDesktop.org):
* Desktop base directory specification
* Desktop entry specification
* Desktop menu specification
Linux Kernel
Version 2.6.22 or later.
The following features should be enabled for moblin.org compliance:
* tickless kernel support