Plasma Mobile
![]() Plasma Mobile running on LG Nexus 5 (hammerhead) | |
Name | Plasma Mobile |
---|---|
Graphics stack | KWin on Wayland or Xorg |
Toolkit | Qt 5 |
In postmarketOS | |
Package | postmarketos-ui-plasma-mobile |
Status | Available |
Status
The basic shell has been ported to postmarketOS, and can now be tested in Qemu. It also works on most devices with a working display, both with hardware acceleration and software rendering.
Installation
Run pmbootstrap init
and choose plasma-mobile
in the interface section. The binary repo provided by the project already contains KDE builds for x86_64, armhf and aarch64 (compiling takes a long time). Nothing has to be done to enable it.
After installation, the shell will automatically launch upon boot. If it doesn't, have a look at /etc/profile.d/start_plasma.sh
and /usr/bin/plasma-phone
.
For the official KDE instructions on running Plasma Mobile, see their website.
Troubleshooting
Software rendering
Plasma can also be used if your device doesn't support hardware acceleration yet by using software rendering. Please note that the interface will be slow, and it might not be usable for the average user.
To enable software rendering edit /etc/profile.d/start_plasma.sh
. Add export KWIN_COMPOSE=Q
before the ck-launch-session
command, and replace --drm
with --framebuffer
on the same line.
Also make sure mesa-dri-swrast
is installed.
Log output
You can read the log output with logread -f
. Anything related to Plasma and KDE will have a username:plasma-mobile
prefix.
KWin doesn't work
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.
Enable debug output
This will be installed by default as soon as #1038 is resolved. |
To tell Plasma and kwin
to log more, 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