Plasma/Mobile/DevGuide

From KDE Community Wiki
< Plasma‎ | Mobile
Revision as of 17:24, 19 May 2018 by Dimkard (talk | contribs)

Plasma Mobile Developer Guide

 
Under Construction
This is a new page, currently under construction!

The development environment needed depends on the specific area of Plasma Mobile you want to contribute. There are three kinds of development environment:

  1. General Linux-based development environment
  2. Plasma Mobile emulated environment
  3. Mobile device running plasma mobile

For most tasks you will not need an actual mobile device running Plasma Mobile. Moreover, although you may contribute to Plasma Mobile using any kind of linux-based development environment , we strongly suggest to use the Plasma Mobile pre compiled image, since such an environment will make the development much easier and facilitate the testing of your work on a machine that emulates a mobile device.

Plasma Mobile emulated environment

Get the Plasma Moible precompiled image

At first, you have to download the precompiled ISO image. TODO: Add link

Run the virtual machine

To use the precompiled ISO, QEMU should be installed. QEMU is a free and open-source hosted hypervisor that performs hardware virtualization. In ubuntu based distributions (e.g. KDE neon) , just execute:

sudo apt install qemu-utils qemu-system-x86

Mobile device running plasma mobile

Currently there are two possible ways of testing Plasma Mobile on an actual mobile device,

  • Using postmarketOS
  • Installing Halium and a KDE neon-based rootfs

Using postmarketOS

PostmarketOS is touch-optimized, pre-configured Alpine Linux-based distribution which offers Plasma Mobile as one choice of several available user interfaces. There is a list of devices that can run postmarketOS, and you can find instructions on installing postmarketOS on your device at their wiki page.

When you follow the instructions to install postmarketOS, remember to select “plasma-mobile” as the user interface when asked:

Available user interfaces (5):
* none: No graphical environment
* hildon: (X11) Lightweight GTK+2 UI (optimized for single-touch touchscreens)
* luna: (Wayland) webOS UI, ported from the LuneOS project (Not working yet)
* plasma-mobile: (Wayland) Mobile variant of KDE Plasma, optimized for touchscreen
* weston: (Wayland) Reference compositor (demo, not a phone interface)
* xfce4: (X11) Lightweight GTK+2 desktop (stylus recommended)
User interface [weston]: plasma-mobile

Using Halium

Halium provides the minimal android layer that allows a non-Android graphical environment to interact with the underlying Android kernel and access the hardware. The Plasma Mobile team provides a Neon-based rootfs which can be used along with the Halium builds.

To run Plasma Mobile using Halium as hardware adaption layer, download the official image, based on KDE Neon. This image is based on the dev-unstable branch of KDE Neon, and always ships the latest versions of KDE frameworks, kwin and Plasma Mobile. Currently Halium has been ported to many devices.Just get the source manifest of your device and build your own images. Check Halium documention for detailed instructions about building and installing Halium .