Plasma on Mobile Devices
Total Page:16
File Type:pdf, Size:1020Kb
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 .