Jump to content

Plasma Mobile: Difference between revisions

From postmarketOS Wiki
No edit summary
Line 62: Line 62:
In command line:
In command line:
  qdbus org.kde.KWin /Screenshot org.kde.kwin.Screenshot.screenshotArea 0 0 1080 1920
  qdbus org.kde.KWin /Screenshot org.kde.kwin.Screenshot.screenshotArea 0 0 1080 1920
qdbus-qt5 is from package qt5-qttools.


== Troubleshooting ==
== Troubleshooting ==

Revision as of 14:10, 29 March 2020

Note Plasma Mobile doesn't work on armhf due to an issue with qt5-qtdeclarative. If your device is actually armv7 but still runs on armhf, please change it.
Plasma Mobile
Plasma Mobile running on LG Nexus 5 (hammerhead)
Plasma Mobile running on LG Nexus 5 (hammerhead)
Name Plasma Mobile
Graphics stack KWin on Wayland
Toolkit Qt 5
In postmarketOS
Package postmarketos-ui-plasma-mobile
Status Available

A mobile variant of the KDE Plasma user interface, optimized for touchscreen.

Status

Note Plasma Mobile is known to have problem with Android's framebuffer drivers (e.g. #1647). Works best with mainlined devices.

It works on most devices with a working display, both with hardware acceleration and software rendering. There is however an issue making it unable to run on armhf devices without hardware acceleration.


Do note that this interface is unbearably slow without hardware acceleration and is not recommended for devices without it.

Installation

Using pmbootstrap, Plasma Mobile can be installed by selecting it as the UI in pmbootstrap init.

On existing systems, it can be installed by installing the postmarketos-ui-plasma-mobile meta package or plasma-phone-components if postmarketOS specific customization is not wanted.

Starting Plasma Mobile

If postmarketos-ui-plasma-mobile is installed, Plasma Mobile will be automatically launched via the LightDM display manager.

It can also be launched manually by running the following script:

#!/bin/sh

export QML2_IMPORT_PATH=/usr/lib/qt/qml:/usr/lib/qt5/qml
export QT_QPA_PLATFORMTHEME=KDE
export QT_QUICK_CONTROLS_STYLE=Plasma
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export XDG_CURRENT_DESKTOP=KDE
export KDE_SESSION_VERSION=5
export PLASMA_PLATFORM=phone:handset
export QT_VIRTUALKEYBOARD_STYLE=Plasma
export QT_QUICK_CONTROLS_MOBILE=true
export QT_ENABLE_GLYPH_CACHE_WORKAROUND=1
sleep 2

if [ -d "/dev/dri" ]; then
	kwin_wayland --drm --xwayland plasma-phone 2>&1 | logger -t "$(whoami):plasma-mobile"
else
	# NOTE: using GALLIUM_DRIVER=llvmpipe might give you better performance (or not work at all.)
	# If it does give you a performance gain, please open an issue to discuss how to implement this properly.
	export GALLIUM_DRIVER=softpipe
	export KWIN_COMPOSE=Q
	export LIBGL_ALWAYS_SOFTWARE=1

	echo "startplasmamobile: using software rendering with: ${GALLIUM_DRIVER}" | logger -t "$(whoami):plasma-mobile"
	kwin_wayland --framebuffer --xwayland plasma-phone 2>&1 | logger -t "$(whoami):plasma-mobile"
fi

For the official KDE instructions on running Plasma Mobile, see their website.

Taking screenshots

In command line:

qdbus org.kde.KWin /Screenshot org.kde.kwin.Screenshot.screenshotArea 0 0 1080 1920

qdbus-qt5 is from package qt5-qttools.

Troubleshooting

Software rendering

Plasma can also be used if your device doesn't support hardware acceleration (if it's a non-armhf device) yet by using software rendering. Please note that the interface will be slow, and it might not be usable for the average user.

Software rendering will be enabled automatically if no hardware acceleration is detected, just make sure mesa-dri-swrast is installed.

Log output

If Plasma is launched via LightDM using the postmarketos-ui-plasma-mobile package, logs can be viewed by running logread | grep plasma-mobile. The log can also be viewed live by running logread -f; anything related to Plasma and KDE will have a $username:plasma-mobile prefix.

Logging isn't verbose

One needs to enable debug logging for certain components in ~/.config/QtProject/qtlogging.ini. Without that, you barely see any log output. We ship such a qtlogging.ini file in postmarketos-ui-plasma-mobile because Plasma Mobile is relatively new and we want to be able to debug it properly.

If the file did not get installed for you, please double check if it is there and report in 1038.

KWin doesn't work

Note Plasma Mobile shell uses some Wayland protocols, so you can't run it on X11 in case you tried to do that.

Please follow these instructions for debugging.

Guide

Follow the Display guide to change and fix display related issues.

See also