Plasma on Mobile devices
Application Ecosystem MC Bhushan Shah KDE Developer
Agenda
●●●●●●
Initial development of the Plasma Mobile Basic architecture details Advantages to KDE community Application ecosystem and development Future for Plasma Mobile Challenges
Introduction
●●●●
KDE developer and sysadmin Plasma Mobile maintainer and lead developer Employed by Bluesystems GmbH From Vadodara, India
KDE
●●
Previously known as the K Desktop Environment Now community, which creates free software for end users
●
Several products including Plasma, KDE Frameworks, KDE applications.
Plasma Mobile
Announced in the July 2015
●●
Vision of providing completely free and open-source mobile platform which respects user’s privacy and freedom.
●
Initial prototype on the LG Nexus 5.
Initial Development
●●●●
LGE Nexus 5 as reference device Ubuntu Touch 15.04 (vivid) as base system Makes use of the Android binary blobs / drivers Can also run on the desktop system for development
Basic architecture details
●●●●
KWin wayland as compositor DRM/GBM or hwcomposer backends plasmashell and mobile shell package QtQuickControls2 and Kirigami for application development
Advantages to KDE community
●●●●
Several performance improvements Better touch input support in applications and shell Improvements in Wayland support More modular and re-usable user interfaces
Application ecosystem and development
●●●
QtQuickControls2 and Kirigami as toolkit CMake/QMake as a buildsystem Various bundle formats as well as native distribution packaging for the distribution
Future for Plasma Mobile
●●●
Looks brighter than ever Phone vendors are mainlining their kernel trees Phone vendors are creating devices which runs the open drivers (Purism Librem 5, PinePhone, more)
●
Community is mainlining off-the-shelf devices
Challenges and work areas
●●●
Application life-cycle Hardware enablement and bring-up Power management
Application lifecycle
Limited resources are available on mobile devices
●●
Start/stop applications from consuming excessive resources
●●●
Giving priority to application in foreground Kill the unused applications running in background
https://invent.kde.org/libraries/kcgroups
Hardware enablement and bring-up
●●
Working on bringing traditional GNU/Linux to various off-shelf devices
Binary drivers and Hardware Abstraction Layers from Android
●●
Modem devices continues to be blackbox Downstream kernels
Power Management
●●●
Traditional Desktop systems like Plasma assumes huge source of power is available
Need for benchmarking various components of the system from energy use perspective
Adapting the userspace for “mobile” related power management features like autosleep and wakelocks
Questions and discussions?
Pictures credit: Martijn Braam License: CC0