Jump to content

Plasma Mobile

From postmarketOS Wiki
Revision as of 23:24, 25 August 2017 by Ollieparanoid (talk | contribs) (Migrate from https://github.com/postmarketOS/pmbootstrap/wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.