Jump to content

Plasma Mobile

From postmarketOS Wiki
Revision as of 09:35, 27 November 2017 by Robinp (talk | contribs) (plasma is now in "master" branch)
Plasma Mobile
Plasma Mobile running in QEMU
Plasma Mobile running in QEMU
Name Plasma Mobile
Graphics stack KWin on Wayland or Xorg
Toolkit Qt 5
In postmarketOS
Package postmarketos-ui-plasma-mobile
Status Available

Overview

The basic shell has been ported to postmarketOS, and can now be tested.

To install it on your device run ./pmbootstrap.py init and choose plasma-mobile in the interface section.

Because compiling the entirety of KDE and Plasma may take a long time, a Git repository has been setup where pre-built packages can be downloaded for both x86_64 and armhf. Clone https://github.com/puretryout/pmos-plasma-mobile and copy the armhf and x86_64 folders to ~/.local/var/pmbootstrap/packages/, and copy the config_apk_keys folder to ~/.local/var/pmbootstrap/. Afterwards run ./pmbootstrap.py index from the root of your pmbootstrap installation.

For the official KDE instructions on running Plasma Mobile you can use their website: https://community.kde.org/Plasma/Mobile/RunningApps

Packaging efforts have been documented here.

Running

For now Plasma requires a device with (basic) OpenGL support.

After installation, the shell will automatically launch upon boot. If it doesn't, have a look at /etc/profile.d/start_plasma.sh and /bin/startkwin.sh.

Debugging

By default Plasma and KWin don't log anything significant or useful for this project. To tell them to, create ~/.config/QtProject/qtlogging.ini with the following content:

[Rules]
org.kde.kwindowsystem.info=true
org.kde.kwindowsystem.warning=true
org.kde.kwindowsystem.critical=true
org.kde.kwindowsystem.debug=true
kwin_core.info=true
kwin_core.warning=true
kwin_core.critical=true
kwin_core.debug=true
kwineffects.info=true
kwineffects.warning=true
kwineffects.critical=true
kwineffects.debug=true
libkwineffects.info=true
libkwineffects.warning=true
libkwineffects.critical=true
libkwineffects.debug=true
libkwinglutils.info=true
libkwinglutils.warning=true
libkwinglutils.critical=true
libkwinglutils.debug=true
libkwinxrenderutils.info=true
libkwinxrenderutils.warning=true
libkwinxrenderutils.critical=true
libkwinxrenderutils.debug=true
kwin_wayland_drm.info=true
kwin_wayland_drm.warning=true
kwin_wayland_drm.critical=true
kwin_wayland_drm.debug=true
kwin_wayland_framebuffer.info=true
kwin_wayland_framebuffer.warning=true
kwin_wayland_framebuffer.critical=true
kwin_wayland_framebuffer.debug=true
kwin_wayland_hwcomposer.debug=true
kwin_wayland_backend.info=true
kwin_wayland_backend.warning=true
kwin_wayland_backend.critical=true
kwin_wayland_backend.debug=true
kwin_wayland_x11windowed.info=true
kwin_wayland_x11windowed.warning=true
kwin_wayland_x11windowed.critical=true
kwin_wayland_x11windowed.debug=true
kwin_platform_x11_standalone.info=true
kwin_platform_x11_standalone.warning=true
kwin_platform_x11_standalone.critical=true
kwin_platform_x11_standalone.debug=true
kwin_libinput.info=true
kwin_libinput.warning=true
kwin_libinput.critical=true
kwin_libinput.debug=true
kwin_tabbox.info=true
kwin_tabbox.warning=true
kwin_tabbox.critical=true
kwin_tabbox.debug=true
kwin_decorations.info=true
kwin_decorations.warning=true
kwin_decorations.critical=true
kwin_decorations.debug=true
kwin_scripting.info=true
kwin_scripting.warning=true
kwin_scripting.critical=true
kwin_scripting.debug=true
kwin_xkbcommon.info=true
kwin_xkbcommon.warning=true
kwin_xkbcommon.critical=true
kwin_xkbcommon.debug=true
kwin_qpa_plugin.info=true
kwin_qpa_plugin.warning=true
kwin_qpa_plugin.critical=true
kwin_qpa_plugin.debug=true

You can read the log output with logread -f. Anything related to Plasma and KDE will have a username:plasma-mobile prefix.