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

● Now community, which creates 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

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 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 ( 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/ to various off-shelf devices

● Binary drivers and Hardware Abstraction Layers from Android

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