Applica on Management using DirectFB and ilixi Compositor Technology Consul ng Company Research, Development & Global Standard Takanari Hayama (IGEL Co.,Ltd./DirectFB integrated media GmbH) Denis Oliver Kropp (DirectFB integrated media GmbH) Hisao Munakata (Renesas Solu ons Corp)
Technology Consul ng Company IGEL Co.,Ltd. 1 Objec ves
• “Lightweight Applica on Management Framework” – Support exis ng so ware assets where possible. • No need to modify exis ng assets to run on the new framework. – Intui ve interface. – Make the best use of available hardware accelera ons. – Small footprint.
September 19-20, 2012 Automo ve Linux Summit 2012 2 Demo Video
• Demo video
September 19-20, 2012 Automo ve Linux Summit 2012 3 Demo Environment
• So ware: – DirectFB 1.7.0 pre-release – ilixi – Linux Kernel 3.4.10/2.6.35.9 • Hardawre: – Renesas R-CarH1 • CPU: ARM CoretexA9 Quad-core (1GHz) • RAM: DDR3 1GiB • GPU: PowerVR SGX543MP2
September 19-20, 2012 Automo ve Linux Summit 2012 4 Architecture Overview
ilixi DirectFB On Screen WebKit Compositor Applica on Keyboard (App Mgr)
SaWMan LiTE ilixi (Window Mgr (UI Toolkit) (UI Toolkit) Framework)
DirectFB FusionDale FusionSound (Grahpics Middleware) (Service Manager) (Audio Manager)
fusion (IPC) One (IPC)
September 19-20, 2012 Automo ve Linux Summit 2012 5 What is DirectFB?
• Lightweight graphics middleware. – Small footprint (< 1.5MB core for ARM in version 1.7.0) – Not a server/client architecture like X11. – Licensed under LGPL. • Supported features: – Graphics rendering with hardware accelera on. • All rendering primi ves have so ware fallbacks. – Op mized so ware rendering. • Mul -core support. • NEON/MMX support. – OpenGL/ES2 support. – Mul -process, mul -layer, input handling, windowing etc. – Qt integra on available.
September 19-20, 2012 Automo ve Linux Summit 2012 6 Key Components
• DirectFB Core – Graphic renderings – Input managements – Frame buffer managements – Graphics hardware managements • Fusion, One, FusionDale – IPC mechanism • SaWMan – Applica on Management Framework
September 19-20, 2012 Automo ve Linux Summit 2012 7 DirectFB Architecture
DirectFB Core
gfxdrivers GeneFx systems (H/W Renderer) (S/W Renderer) (H/W manager)
input drivers video/image providers surface pools (key, touch, etc.) (decoder) (resource manager)
September 19-20, 2012 Automo ve Linux Summit 2012 8 Screen, Layer, Window, and Surface
Window Layers (H/W Specific) App Surface Layer 0 WM Surface Window Window Layer App Composi on by Surface Layer 1 Composi on by Window Manager Hardware
Surface Screen (LCD etc)
: Surface Blit Layer N App Applica on can get exclusive access Surface to a layer.
September 19-20, 2012 Automo ve Linux Summit 2012 9 Rendering in DirectFB
September 19-20, 2012 10 Automo ve Linux Summit 2012 SaWMan
• Shared Applica on and Window Manager – Co-developed by Royal Philips and Denis. • SaWMan provides applica on management framework. – ilixi Compositor runs as an applica on manager in our scenario. • Applica on manager can hook into requests made by each applica on, and override configura ons such as the size of windows.
September 19-20, 2012 Automo ve Linux Summit 2012 11 What is ilixi?
• A lightweight user interface toolkit for DirectFB – Developed by Tarik Sekmen. – Aims for rich graphical applica on for embedded Linux system. – Small footprint (~512KB for ARM). – Licensed under LGPLv3.
September 19-20, 2012 Automo ve Linux Summit 2012 12 ilixi Compositor
• Applica on Manager developed on top of ilixi toolkit and SaWMan. – Applica on Launcher – Task switcher • ilixi Compositor treats all applica ons as its widgets. – Applica ons may consist of mul ple widgets. – Requires ‘App Defini on’ for each applica on. • Mul ple widgets can be shown at the same me, i.e. mul ple applica ons can be displayed as well.
September 19-20, 2012 Automo ve Linux Summit 2012 13 ilixi Compositor
SaWMan
Compositor
AppCompositor #1 Applica on #1
SurfaceView IDirectFBWindow SurfaceView IDirectFBWindow sends window events
DirectFB
Quoted from h p://ilixi.org/docs/what_is_ilixi.pdf September 19-20, 2012 Automo ve Linux Summit 2012 14 App Defini on Example
September 19-20, 2012 Automo ve Linux Summit 2012 15 Applica on Flags
Applica on Type Flag Descrip on APP_NO_MAINWINDOW Applica on uses a surface instead. APP_SPLASH_WINDOW Applica on has a splash window. APP_ALLOW_WINDOW_CONFIG Applica on can modify its windows. APP_SURFACE_DONTBLOCK Applica on is not blocked when hidden. APP_ALLOW_MULTIPLE Applica on can have mul ple instances. APP_NEEDS_CLEAR Background will be cleared with each update. APP_NEEDS_BLENDING AppCompositors will set blending mode for each SurfaceView. APP_AUTO_START Starts applica on when compositor is ini alised. APP_USE_BACK Applica on can use a Back bu on. APP_STATUSBAR Statusbar applica on. APP_OSK On Screen Keyboard (OSK) applica on. APP_HOME Home applica on. APP_SYSTEM System applica on (not shown on home).
September 19-20, 2012 Automo ve Linux Summit 2012 16 On Screen Keyboard
September 19-20, 2012 Automo ve Linux Summit 2012 17 WebKit on DirectFB
• WebKit directly runs on top of
DirectFB ilixi WebKit ilixi_osk – LiTE toolkit is used for now. Compositor – ilixi toolkit support is on its way. – OSK is in ilixi Compositor. • Code is available at: LiTE FusionDale – git://git.direc b.org/git/direc b/ (UI Toolkit) libs/WebKitDFB.git
FusionSound ilixi (for Sound) (UI Toolkit)
DirectFB
September 19-20, 2012 Automo ve Linux Summit 2012 18 References
• DirectFB – h p://www.direc b.org/ • ilixi – h p://ilixi.org/ – h p://ilixi.org/docs/what_is_ilixi.pdf
September 19-20, 2012 Automo ve Linux Summit 2012 19 Acknowledgements
• People who made this demo: – Tarik Sekman (Author of ilixi) – Andreas Shimokawa (DirectFB contributor) – Marek Pikarski (DirectFB contributor)
September 19-20, 2012 Automo ve Linux Summit 2012 20