|
|
Subscribe / Log in / New account

Plasma Mobile for highly configurable Linux phones

August 29, 2024

This article was contributed by Koen Vervloesem

Plasma Mobile is an open-source user interface for mobile devices, developed by the KDE community. It's built on the same foundations as Plasma Desktop, including KDE Frameworks and the KWin window manager. Much like its desktop counterpart, Plasma Mobile caters to advanced users by offering extensive customizability. It is offered as an option on phones with various mobile Linux distributions.

While its foundations are the same, the user interface consists of the Plasma Mobile shell, which implements the various screens, panels, and other user-interface elements. Moreover, the Plasma Mobile applications are customized to cater for phone-specific needs, including apps for SMS/MMS messages, phone calls, contacts, and for taking pictures with the camera.

Installation in postmarketOS

Plasma Mobile can be installed on postmarketOS (which we looked at back in July) and Mobian (which was also covered in April 2023), among others. Pre-built images of postmarketOS with Plasma Mobile for various devices can be found on the distribution's download page. Alternatively, a custom image can be built by running the "pmbootstrap init" command and choosing plasma-mobile as the interface. Plasma Mobile only runs on Wayland and requires hardware acceleration on the phone. I tested the user interface on my PinePhone by installing a custom-built postmarketOS image from the distribution's edge, rolling-release channel, which features Plasma Mobile 6.1.4.

The first time Plasma Mobile loads, a welcome app guides the user through some basic settings, such as screen brightness, display scaling, and theme selection (light or dark). Next, the user sets the time zone and preferred time format, followed by selecting a WiFi network and configuring the Access Point Name (APN) for mobile data. The requirement to configure my mobile provider's APN was somewhat surprising, as this had been done automatically during previous tests with Phosh and Sxmo on postmarketOS.

Using Plasma Mobile

[Home screen]

Plasma Mobile's home screen displays a wallpaper image, a status bar at the top, and a navigation bar with three buttons at the bottom. Pulling down the status bar reveals a wealth of quick settings, allowing the user to change settings without having to open the dedicated app. These settings range from WiFi and mobile data to sound levels, brightness, and do-not-disturb mode. Some settings can only be toggled, but others allow the user to quickly open specific sections of the settings app, such as for the battery and power management.

Sliding from the bottom of the screen or tapping the middle navigation button opens a screen with app icons. A simple tap on an icon opens the app, while holding the icon places the app on the home screen. Sliding on the app screen from the top or tapping the middle navigation button returns to the home screen. The left navigation button (a square with rounded corners) allows the user to switch between all open apps by sliding the row of apps, or closing an app by tapping the red circle with a black X at the top-right corner of the app. There's also a "close all" button. At any time, the button at the bottom right (also an X) in the navigation bar closes the currently focused app.

Holding an empty space on the home screen allows the user to open wallpapers, settings, or widgets. As expected from a KDE project, the home screen settings are numerous, from the size of icons and the number of rows and columns to the page-transition effect. The user can choose from a dozen widgets to place on the home screen, including an analog or digital clock, a weather widget, media-player controls, and a search bar. The widget can just be held and dragged to the desired location. A widget can be configured or removed by long-pressing its icon and then tapping the settings icon. Resizing a widget involves long-pressing the icon and dragging the handle bars on the frame that appears around it. Customizing the home screen this way is quite intuitive.

The settings app includes settings for the network, Bluetooth, power management, and notifications. There's also a night-light feature to adjust the screen color temperature based on time. This even allows users to set the exact day light and night light temperature values in Kelvin. For the display, features like scaling and color profile can be configured. If the hardware supports it (as is the case for the PinePhone), an externally connected display via a USB dock can even be configured in the display settings.

Messages and calls

SMS and MMS messages are handled by the Spacebar app. Apart from the terminology (the app refers to "chats" and "conversations"), it functions as expected for an SMS app. Simply enter a phone number or contact name, type the message, and tap the send button. Upon receiving an SMS message, Plasma Mobile shows a notification at the top of the screen for five seconds (which is configurable), and tapping it opens the conversation in Spacebar. Missed notifications remain visible in the quick settings panel. However, I wasn't able to open Spacebar from the quick settings by tapping the notification.

The app for calling is simply called Phone. It features a call history, contacts, and a dialer. An incoming call is shown similarly to an SMS notification, but with two extra buttons: "accept" and "reject". The Phone app is fairly basic, with one exception: the adaptive-call-blocking settings allow detailed adjustments for handling calls from unknown numbers.

Polished foundations, rough edges

On the one hand, the configurability and sensible default settings make Plasma Mobile a highly polished user interface for mobile devices. For example, the do-not-disturb mode, which hides notifications, is enabled automatically when the phone's screen is mirrored to an external monitor or during screen sharing.

On the other hand, the extensive settings can be overwhelming and may leave users confused. For instance, changing the look and feel of Plasma Mobile requires navigating through multiple entries in the settings. The color scheme of the windows can be completely customized, and users can even download new color schemes from the KDE Store with a few taps. The same applies to icon themes and Plasma styles, but it's not clear how these various user-interface settings interrelate. Fonts for user-interface elements can also be configured, but this is yet another separate settings entry.

While using Plasma Mobile for a few weeks, various user-interface issues emerged as well. For example, when trying to add the APN for my mobile network provider, the field where I needed to type the URL was always covered by a dialog box to enter the APN name. Additionally, every time I long-press a widget icon to move it or open its settings, Plasma Mobile opens the popup window that should only appear when tapping on the icon. Sometimes, the user interface isn't well-aligned on the screen. For example, the Users settings have all of the text fields awkwardly aligned to the right corner, leaving lots of free space on the left. And while there's a setting to change the incoming-call screen appearance, it doesn't actually make any changes.

Development

KDE's community wiki has a Plasma Mobile developer guide that explains the development environment needed to contribute to the mobile user interface. An actual mobile device running Plasma Mobile isn't even necessary, as developers can install a Plasma Mobile image for amd64 in a virtual machine to test their contributions.

The complete platform stack is explained in the project's Platform Tour wiki page. Applications are written in the cross-platform application framework Qt. The user interface is specified in the declarative language QML, and the default apps use QML's standard library, Qt Quick, as well as the Kirigami user-interface framework for Plasma, which provides a set of Qt Quick components that work well on both mobile and desktop devices.

Development of Plasma Mobile follows the Plasma 6 release schedule. After the major Plasma 6 release in February (which LWN covered), June saw the release of Plasma 6.1, and Plasma 6.2 is expected in the first week of October.

Conclusion

Plasma Mobile is a user interface designed for advanced users who want to tweak their Linux phones. It's more configurable than Phosh and less challenging to adjust to than Sxmo (also reviewed in July). However, it's noticeably more heavyweight on the PinePhone with 2GB RAM compared to Phosh and especially Sxmo. Enjoying Plasma Mobile on a phone requires powerful hardware.


Index entries for this article
GuestArticlesVervloesem, Koen


to post comments

Hopeful

Posted Aug 29, 2024 18:23 UTC (Thu) by rc00 (guest, #164740) [Link] (4 responses)

Between Plasma Mobile and Phosh, I find myself hopeful that Linux on mobile devices becomes a real thing some day. Projects like these and Mobian are fantastic but the critical (and performant) hardware component does not appear to have arrived yet.

Hopeful

Posted Aug 29, 2024 22:21 UTC (Thu) by LtWorf (subscriber, #124958) [Link] (2 responses)

I have a chuwi x86 tablet with plasma mobile. It doesn't do telephony at all, but the hardware is decent.

With an external keyboard it becomes much more usable as a linux system, but it's rather ok. The difficulty is to know which applications and games work in touch only mode and which do not.

Hopeful

Posted Aug 31, 2024 7:54 UTC (Sat) by linmob (guest, #156617) [Link] (1 responses)

Sorry for shameless self marketing, but maybe https://linuxphoneapps.org can help with discovery — what works on a phone should work on a tablet, too.

Hopeful

Posted Aug 31, 2024 12:36 UTC (Sat) by LtWorf (subscriber, #124958) [Link]

But… it lists nothing of what I've been working on in the past years :D

Hopeful

Posted Aug 31, 2024 7:50 UTC (Sat) by linmob (guest, #156617) [Link]

> the critical (and performant) hardware component does not appear to have arrived yet.

You're right that there's no vendor out there selling a really performant device officially with a close-to-mainline kernel.

But that does not mean that the situation is all bleak. Firstly, many older Qualcomm-SoC devices (OnePlus 6(T), Xiaomi PocoF1, Pixel 3a) are increasingly well-supported in distributions like Mobian or postmarketOS (yes, camera is a pain point, but that's not going away soon, as the whole “how do we properly process the stuff sensors put out” stack on “desktop Linux” is still WIP). If you insist that you want to buy a device new from a vendor that's at least not against mainline Linux support, you have some options, too:

The Fairphone 5 and the upcoming SHIFTphone 8 both are in that realm, as developers employed by these companies are involved in the mainline-porting of these devices. Now, both can't be used as phones with postmarketOS yet (notably, the Fairphone 5 lacks audio support) but work is ongoing, so there's reason for hope.

So, it's not all bad, even without a next-gen Librem 5 or PinePhone successor. And if you're open to staying with a vendor kernel but pairing that a GNU/Linux userland through libhybris/halium, there are even more options: FuriLabs FLX1, various Volla Phones, Jolla C2 and a variety of XPERIA 10s supported by Sailfish X.

Welcome contribution

Posted Aug 29, 2024 19:46 UTC (Thu) by tonyblackwell (guest, #43641) [Link]

A useful overview. Thanks for contribution


Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds