Plasma Mobile
Overview
The basic minimum shell has been ported to postmarketOS, and can now be tested. So far no one has gotten it working yet, so don't expect anything but errors.
To install it on your device run ./pmbootstrap.py install --add plasma-mobile,plasma-phone-components,dbus-x11
. You can also tell pmbootstrap to always add Plasma Mobile by adding plasma-mobile
, plasma-phone-components
and dbus-x11
to the list of "Extra packages" when running ./pmbootstrap.py init
.
For instructions on running Plasma Mobile you can use the KDE website: https://community.kde.org/Plasma/Mobile/RunningApps
Packaging efforts have been documented Packaging Plasma Mobile.
Debugging
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
Running
Setup the required environment variables for kwin:
export QT_QPA_PLATFORM=wayland export QT_QPA_PLATFORMTHEME=KDE export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export XDG_CURRENT_DESKTOP=KDE export KSCREEN_BACKEND=QScreen export KDE_FULL_SESSION=1 export KDE_SESSION_VERSION=5 export KWIN_COMPOSE=Q export $(dbus-launch)
Right now kwin fails due to lacking permissions on /dev/fb0
, so as a workaround you can chown it to your user.
# chown user:user /dev/fb0
On devices without OpenGL support (like Qemu right now), it's required to tell kwin to run in software rendering mode. Add the following to ~/.config/kdeglobals
:
[QtQuickRendererSettings] SceneGraphBackend=software
Then execute ck-launch-session kwin_wayland --framebuffer --xwayland
. As this way you can not view the logs, it's advisable to add 2> kwin_log.txt
to the end of the command, so it ends up looking like ck-launch-session kwin_wayland --framebuffer --xwayland 2> kwin_log.txt
. This will make it log to kwin_log.txt instead of stdout.