Plasma Mobile on the Librem 5

Bhushan Shah bhush94 at gmail.com
Wed Aug 30 07:24:32 UTC 2017


Hello Matthias and all,

First of all huge thanks for reaching to us!

On Tue, Aug 29, 2017 at 03:28:36PM +0200, Matthias Klumpp wrote:
> As some of you might already know, we at Purism are planning to
> develop a mobile phone that uses only free software and Matrix[2] for
> communication. We are currently running a crowdfunding campaign[1] in
> order to be able to make the phone a reality.

Best of luck for that campaign! I will reach out to KDE Promo people as
well to help spread a word about this campaign.

> One of the open questions for the phone is still which UX we will use,
> and Plasma Mobile would obviously be a perfect fit for this kind of
> project, since KDE and Purism share the same values, the UI is already
> done in large parts, and nothing would have to be developed from
> scratch (especially the Kirigami controls are great!).

Yep, and in addition, Kirigami also supports the 'Convergence' usecase
listed in Librem 5 campaign. You will be able to re-use same
applications on big monitor and small screen.

See also: https://community.kde.org/Plasma/Convergence_Overview

> ## Some details about the phone software
> 
> The base operating system of the phone will be PureOS[3], our Debian
> derivative that is currently pending endorsement from the FSF.
> The plan is to use OSTree[4] for the base system, in order to achieve
> atomic updates and easy rollbacks, as well as Flatpaks[5] for
> deployment of applications. It is likely that we will have our own
> Flatpak repository with apps specifically for the phone at some point
> in the future.

I see no issues with this, in fact Plasma Mobile platform is designed
with ability to switch underlying distribution in mind, we also have
some experimental Arch Linux ARM based images in addition to normal
Ubuntu ARM images. Basically following are the requirements for Plasma
Mobile stack.

- Logind/Consolekit
- Libinput
- Ofono, Telepathy (For calling functionalities)
- Qt5 (5.7.1 minimum, 5.9 recommended)
- Wayland
- DRM/HWcomposer/Framebuffer for graphics
- Login manager with wayland session support (SDDM for example)

If any distribution provides those, it can work as a base for the Plasma
Mobile.

> The system will make full use of systemd and will use Bubblewrap[6]
> for sandboxing of selected more critical components.

This is interesting, We Plasma devevlopers haven't looked into
Bubblewrap so far, but it would be useful from the initial glance at
documentation it seems.

> Due to the nature of the hardware, we will not need libhybris or any
> Android kernel abstraction, which means that we can run stock Linux on
> the phone, which greatly simplifies development and will allow us to
> develop at a faster pace, due to not being bound to a specific kernel
> version.

YAY! As Sebastian mentioned in his reply this is the dream for us and
also lot of users.

> The downside is that the i.mx6 ARM CPU isn't incredibly fast. We hope
> that we will be able to update to the faster i.mx8 when it is
> available and can be used with free drivers, but at this point in time
> we need to focus on the i.mx6 as primary hardware target.

I want to mention some hardware enablement bits I've in mind, from what
I know i.mx6 have Vivante GPU, and Etnaviv already seems to support the
Direct Rendering Manager and Wayland [1], so it should be easy enough to
support the KWin/Wayland with DRM backend.

Other bit I am unsure about is, mobile baseband. Tech specs on the
campaign page mentions just "Separate mobile baseband" without any
further details. Though assuming that mobile baseband is supported by
ofono [2][3] Plasma Phone will work with it.

> ## What we need from a phone UI
> 
> Our scope for this project is limited, in order to be able to complete
> it successfully and not end up in a never ending development loop: The
> phone should be able to communicate via Matrix, have a web browser,
> make calls, take pictures. We are not aiming for a massive amount of
> apps, but instead want the basic functionalities of the phone working
> well when we ship it - more apps and features can be delivered later
> via Flatpaks and system updates.

To meet the need of Librem, we have following,

- A simple yet functional phone shell

- Web browser: we have QtWebengine based Angelfish browser for mobile

- Calling: Dialer application and a simple contacts application which
  supports vcard based storage, can be extended with KPeople[4]
  framework. Actual calling functionality is handled through
  telepathy-ofono[5] and telepathy-ofono-ril-mc-plugin[5] (part of same
  sources as telepathy-ofono). However Librem 5 won't need the
  ril-mc-plugin, given it won't be using Android based RILd.

- Take Pictures: We have very simple camera application which uses Qt's
  Camera API, however it hasn't evolved much due to various issues with
  Android HAL itself. Though nothing that can't be improved, for viewing
  Photos itself, we have simple Kirigami based application named
  Koko[6].

- Matrix: Unfortunately we don't have any application supporting Matrix
  itself, though it is in Plans as Eike's response mentioned.

- There are some more applications, for example,
    - Marble maps
    - Okular Reader for reading pdf and other documents
    - Kube[7], QtQuick based e-mail client
    - Peruse, Comic Reader based on Kirigami
    - Spacebar, Kirigami based chat client to send and recieve SMS

In general if there is any requirement for application Kirigami toolkit
can be used to build simple or complex application.

> The UI therefore doesn't need to be excessive and support each and
> every feature that Android already has, having a more minimal UI works
> fine.

In general KDE and Plasma already follows, "Simple by default and
Powerful when needed."

> What we would be interested in is knowing about the future plans for
> Plasma Mobile, especially in the area of design and performance
> improvements. I didn't have the opportunity yet to test Plasma Mobile
> on one of our development boards, but I hope I can get to that
> soonish.

Sure, I will be happy to help you in putting Plasma Mobile on your
development board, one challenge I can think currently is Plasma Mobile
is not packaged in Debian archives, so you will need to manually package
and build Plasma Mobile repositories for Debian/PureOS, There is already
effort by community member to provide packaging for Plasma Mobile for
Debian [8]. I will put you in contact with him if you need help.

I think it makes sense to have a meeting/conference call between Purism
and Plasma team to document the requirements from both sides and plan
how to make this reality.

Thanks!

[1] https://www.youtube.com/watch?v=3_SPGaMcz4Q
[2] https://01.org/ofono
[3] https://git.kernel.org/pub/scm/network/ofono/ofono.git
[4] https://api.kde.org/frameworks/kpeople/html/index.html
[5] http://bazaar.launchpad.net/~phablet-team/telepathy-ofono/trunk/files
[6] https://cgit.kde.org/koko.git
[7] https://kube.kde.org/features.html
[8] https://github.com/debian-pm

-- 
Bhushan Shah
http://blog.bshah.in
IRC Nick : bshah on Freenode
GPG key fingerprint : 0AAC 775B B643 7A8D 9AF7 A3AC FE07 8411 7FBC E11D
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170830/acf11ede/attachment-0001.sig>


More information about the Plasma-devel mailing list