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 here.
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
If the device supports OpenGL, the Plasma Shell will automatically launch upon boot. If it doesn't, you'll have to SSH in and add the following to ~/.config/kdeglobals
:
[QtQuickRendererSettings] SceneGraphBackend=software
Then, reboot again to have it launch automatically upon boot.
If you've chosen to install Plasma Mobile manually instead of in ./pmbootstrap.py init
you'll have to follow the following instructions.
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
Then execute ck-launch-session kwin_wayland --framebuffer --xwayland
. As this way you can not view the logs, it's advisable to add 2> /tmp/kwin_log.txt
to the end of the command, so it ends up looking like ck-launch-session kwin_wayland --framebuffer --xwayland 2> /tmp/kwin_log.txt
. This will make it log to /tmp/kwin_log.txt
instead of stdout.