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