
Choosing an application framework for your Linux mobile device Shreyas Srinivasan and Phaneendra Kumar Geodesic Information Systems [email protected] Abstract ARM Application Frameworks define the user experience. The ARM architecture has always dominated the em- For consumer mobile devices, choosing a feature-rich bedded device market due to its low power consump- and high-performance application framework becomes tion. There have been various versions of ARM a premium. Creators of Linux mobile devices have a over time, but with performance improvements plateau- range of application frameworks (gtk/qt/efl) to choose ing, most ARM processors have chosen to add co- from, but this choice also makes it hard to pick a frame- processors to provide specialized performance to appli- work which suits a specific set of requirements. cations. Some of the widely used embedded processors based on ARM are: This paper evaluates various open source application frameworks and their underlying technologies. It also explains performance benchmarks of the frameworks on • OMAP different types of hardware and the capability of the The Omap series of processors are based on ARM framework to use specific hardware features to improve Cortext A8. Different families can have co- performance. processors like PowerVR SGX 530 2D/3D and a DSP Video accelerator. The OMAP 2430 proces- The Application frameworks which will be evaluated sor range is used by Nokia for their internet tablets. are Gtk/Gnome, QT/KDE, Clutter/Tidy, and EFL/E. • Freescale I.MX The talk will present performance benchmarks of these The I.MX range of processors by Freescale is based frameworks on Omap, Freescale, and Intel mobile pro- on an ARM 1136JF-S core. Different families have cessors. options of different co-processors like the VFP11 numeric processor, IPU, H.263/MPEG4 encoding 1 Introduction accelerator, and ARM MBX R-S graphics acceler- ator. The I.Mx31 processor is used in the Microsoft Zune. User interfaces have become an important factor to de- cide the popularity and success of a consumer device. The launch of the IPhone has showed the importance X86 of a well designed and intuitive user interface, and has heightened expectations of users all over the world. In- The X86 architecture has always been seen as the one creasingly, most processors have built-in floating-point valid for desktops but unsuitable for embedded devices, processors and support open standardes like Open GL mainly due to power consumption. With the Menlow ES, so the ability to support fluid interfaces and anima- family of processors, X86 processors can finally com- tions exists. pete with ARM ones, even in power consumption. Processors for embedded devices have largely been dominated by ARM-based processors, but with X86 • Pentium Mobile processors improving rapidly, it is important to under- The Pentium mobile range of processors are X86- stand the current features and capabilities of each of based processors with 1 GHz processor, a built- these architectures. in FPU, and power consumption of 14.44 Watts. • 199 • 200 • Choosing an application framework for your Linux mobile device These are mainly used for laptops, but some de- Python,C,C++ Bindings vices like the Founder also use this chip because of its very high performance. • Menlow Gstreamer EDS GtkWebkit Telepathy The Menlow (Atom) series of processors are the first of Intel’s chips to foray into low power for Gtk embedded hardware. The major difference is re- Pango Cairo ATK moval of predictive instruction execution; this re- duces power consumption. The Menlow range of processors range from 800 MHz to 1.6 GHz, have Xlib Glib Dbus a built-in floating point unit, and consume just 5W of power. Figure 1: Architecture of Gnome Mobile Application Framework The trends of hardware means different requirements for application platforms depending on the underlying ar- chitecture. Inter Process Communication. Communication be- tween various applications helps build a good user experience. 2 Characteristics of a good Application Framework This paper evaluates multiple application frameworks Timeline and Animation Support. Creating intuitive and their performance in some of the aforementioned and fluid interfaces requires a state-aware canvas categories. which can move different objects over a sequence of coordinates with regards to time. 3 Application Frameworks Hardware support. The ability to use specific hard- ware features to increase performance is of pre- Gnome Gtk mium importance. Embedded hardware-based ren- dering has been standardized around OpenGLES. The GNOME Mobile Platform is a subset of the proven, This is particularly important on the ARM architec- widely used GNOME Platform. The platform defini- ture, where graphics performance can be consider- tion represents components that are currently shipping ably improved by using the Graphical Processing in production devices. Unit and conserving the relatively low computa- tional power of the CPU. • Components Multi Language Bindings. Multi Language bindings make the application framework viable to a wide 1. Cairo variety of programmers. Cairo is a 2D graphics library with sup- port for multiple output devices. Currently Email Libraries. Email is one of the core applica- supported output targets include the X Win- tions. Email libraries which support a range of pro- dow System, Quartz, Win32, image buffers, tocols like POP, IMAP, and Exchange are of great PostScript, PDF, and SVG file output. Exper- importance. imental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB. Browser Support. Support for rendering and embed- ding web pages is a powerful feature which enables 2. EDS applications to enrich the user experience by sup- Evolution Data Server is a PIM server which porting local and cloud-based applications. manages access to calendar, addressbooks, and tasks. All these items are served over Multimedia. Capability of rendering video and audio. Dbus. 2008 Linux Symposium, Volume Two • 201 3. GtkWebKit Ewl Esmart WebKit/GTK+ is the new GTK+ port of the Enlightenment ETK Epsilon WebKit, an open-source web content engine that powers numerous applications such as Edje web browsers, email clients, feed readers, and web and text editors. ECore 4. GStreamer Evas GStreamer is a library that allows the con- Embryo EET EPEG/IMLIB2/EDB struction of graphs of media-handling com- ponents, ranging from simple Ogg/Vorbis OS(Kernel,libc,libX11,libjpeg,libpng,zlib) playback to complex audio (mixing) and video (non-linear editing) processing. Ap- Figure 2: Architecture of Enlightenment Foundation li- plications can take advantage of advances in braries codec and filter technology transparently. De- velopers can add new codecs and filters by writing a simple plugin with a clean, generic 2. Ecore interface. Ecore is the core event abstraction layer and X abstraction layer that makes doing selec- • Advantages tions, Xdnd, general X stuff, and event loops, timeouts, and idle handlers fast, optimized, 1. Existing precedent of devices which ship with and convenient. It’s a separate library so any- this platform. one can make use of the work put into Ecore 2. Well defined roadmap and enthusiastic devel- to make this job easy for applications. oper community. 3. Edje 3. High profile industry support. Edje is a graphical design and layout library based on Evas that provides an abstraction 4. Focus on minimal footprint. layer between the application code and the in- 5. Non-free codecs can be licensed on top of terface, while allowing extremely flexible dy- gstreamer and shipped legally. namic layouts and animations. 4. EWL • Disadvantages The Enlightened Widget Library (EWL) is a high-level toolkit providing all of the widgets 1. No current support for offscreen rendering. you’ll need to create your application. The 2. Cairo OpenGL backend is extremely unsta- expansive object-oriented-style API provides ble. tools to easily expand widgets and containers 3. Gobject API has a steep learning curve. for new situations. 5. Emotion EFL E Emotion is a library providing video-playing capabilities through the use of smart objects. Emotion is based on libxine, a well estab- • Components lished video playing library, and so supports 1. Evas all of the video formats that libxine supports, Evas is a hardware-accelerated canvas API including Ogg Theora, DiVX, MPEG2, etc. for the X Window System that can draw anti- aliased text, smooth super and sub-sampled • Advantages images, alpha-blend, as well as drop down to using normal X11 primitives such as 1. Small Memory footprint pixmaps, lines, and rectangles for speed if 2. Evas is a state-aware canvas which supports your CPU or graphics hardware is too slow. timeline-based animations. 202 • Choosing an application framework for your Linux mobile device 3. Evas has an OpenGL backend and hence can 1. Clutter has a OpenGLES backend, which be hardware accelerated. makes it suitable for ARM-based devices with a GLES-based GPU. 2. Most hardware provides gstreamer-based li- • Disadvantages braries for hardware codec support. 1. Long release cycles. 2. Rapidly changing mainline; makes it hard to • Disadvantages keep up. 1. Clutter is not production-ready. 2. Tidy, the toolkit built on top of clutter, is still Clutter nascent and does not have a comprehensive set of widgets. Clutter Gtk Tidy 4 Benchmarks and suitability Clutter Cairo Clutter GST Clutter Webkit Clutter Frame Rate X11, GLX,SDL,Opengles,OSX and EGL Frame rate, or frame frequency, is the measurement of the frequency (rate) at which an imaging device pro- duces unique consecutive images called frames. The Figure 3: Architecture of Clutter term applies equally well to computer graphics, video cameras, film cameras, and motion capture systems. Frame rate is most often expressed in frames per sec- ond (FPS) and in monitors as Hertz (Hz). To create a • Components fluid interface, the underlying framework should at least 1. Clutter output between 25–30 frames per second.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-