![Oliver Smith](/assets/img/avatar_default.png)
When rendering on framebuffer, always do software rendering. This should make it possible to boot up Plasma Mobile on most devices with downstream kernels, although terribly slow. Still better than a black screen though. Tested and working on the samsung-i9100. We can improve the code and possibly make the rendering mode configurable per device once we experimented more with: * llvmpipe vs. softpipe on various devices * armv7 (around the corner in Alpine) * a proper display manager like lightdm
38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
if test -z "${XDG_RUNTIME_DIR}"; then
|
|
export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
|
|
if ! test -d "${XDG_RUNTIME_DIR}"; then
|
|
mkdir "${XDG_RUNTIME_DIR}"
|
|
chmod 0700 "${XDG_RUNTIME_DIR}"
|
|
fi
|
|
|
|
if [ $(tty) = "/dev/tty1" ]; then
|
|
udevadm trigger
|
|
udevadm settle
|
|
|
|
export QML2_IMPORT_PATH=/usr/lib/qt/qml:/usr/lib/qt5/qml
|
|
export QT_QPA_PLATFORMTHEME=KDE
|
|
export QT_QUICK_CONTROLS_STYLE=Plasma
|
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
|
# this is due to broken xdgvshell6 in qt
|
|
export QT_WAYLAND_SHELL_INTEGRATION=wl-shell
|
|
export XDG_CURRENT_DESKTOP=KDE
|
|
export KDE_SESSION_VERSION=5
|
|
export PLASMA_PLATFORM=phone
|
|
export QT_VIRTUALKEYBOARD_STYLE=Plasma
|
|
|
|
sleep 2
|
|
|
|
if [ -d "/dev/dri" ]; then
|
|
ck-launch-session kwin_wayland --drm --xwayland plasma-phone 2>&1 | logger -t "$(whoami):plasma-mobile"
|
|
else
|
|
# NOTE: using GALLIUM_DRIVER=llvmpipe might give you better performance (or not work at all.)
|
|
# If it does give you a performance gain, please open an issue to discuss how to implement this properly.
|
|
export GALLIUM_DRIVER=softpipe
|
|
export KWIN_COMPOSE=Q
|
|
export LIBGL_ALWAYS_SOFTWARE=1
|
|
|
|
echo "start_plasma.sh: using software rendering with: ${GALLIUM_DRIVER}" | logger -t "$(whoami):plasma-mobile"
|
|
ck-launch-session kwin_wayland --framebuffer --xwayland plasma-phone 2>&1 | logger -t "$(whoami):plasma-mobile"
|
|
fi
|
|
fi
|
|
fi
|