From 1bb20a36f9621be463ce00f4817a7b9895b22be4 Mon Sep 17 00:00:00 2001 From: Chris Wang Date: Sat, 4 Oct 2025 23:24:20 -0400 Subject: [PATCH] Added new kde-plasma-mobile environment for trixie, with sddm support for touchscreen by default; changed armbian to only write armbian sddm config if doesn't exist; --- .../kde-plasma-mobile/architectures | 1 + .../armbian/create_desktop_package.sh | 28 +++++++++++++++++++ .../kde-plasma-mobile/config_base/packages | 19 +++++++++++++ .../config_base/packages.uninstall | 1 + .../kde-plasma-mobile/debian/postinst | 23 +++++++++++++++ .../environments/kde-plasma-mobile/support | 1 + .../common/usr/lib/armbian/armbian-firstlogin | 15 ++++++---- 7 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 config/desktop/trixie/environments/kde-plasma-mobile/architectures create mode 100644 config/desktop/trixie/environments/kde-plasma-mobile/armbian/create_desktop_package.sh create mode 100644 config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages create mode 100644 config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages.uninstall create mode 100755 config/desktop/trixie/environments/kde-plasma-mobile/debian/postinst create mode 100644 config/desktop/trixie/environments/kde-plasma-mobile/support diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/architectures b/config/desktop/trixie/environments/kde-plasma-mobile/architectures new file mode 100644 index 0000000000..54b43c7a58 --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/architectures @@ -0,0 +1 @@ +arm64, amd64 diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/armbian/create_desktop_package.sh b/config/desktop/trixie/environments/kde-plasma-mobile/armbian/create_desktop_package.sh new file mode 100644 index 0000000000..c3f348eb49 --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/armbian/create_desktop_package.sh @@ -0,0 +1,28 @@ +# install sddm greeter theme +mkdir -pv "${destination}"/usr/share/sddm/themes +cp -Rv "${SRC}"/packages/blobs/desktop/sddm/themes/plasma-chili/ "${destination}"/usr/share/sddm/themes + +# install default desktop settings +mkdir -pv "${destination}"/etc/skel +cp -Rv "${SRC}"/packages/blobs/desktop/skel/. "${destination}"/etc/skel + +# install wallpapers +mkdir -pv "${destination}"/usr/share/backgrounds/armbian/ +cp -v "${SRC}"/packages/blobs/desktop/desktop-wallpapers/*.jpg "${destination}"/usr/share/backgrounds/armbian + +# install logo for login screen +mkdir -pv "${destination}"/usr/share/pixmaps/armbian +cp -v "${SRC}"/packages/blobs/desktop/icons/armbian.png "${destination}"/usr/share/pixmaps/armbian + +# set default wallpaper +#echo " +#dbus-send --session --dest=org.kde.plasmashell --type=method_call /PlasmaShell org.kde.PlasmaShell.evaluateScript 'string: +#var Desktops = desktops(); +#for (i=0;i "${destination}"/usr/share/backgrounds/armbian/set-armbian-wallpaper.sh diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages b/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages new file mode 100644 index 0000000000..1cac26cc8d --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages @@ -0,0 +1,19 @@ +plasma-mobile-full +kde-full +task-kde-desktop +kde-config-screenlocker +qtwayland5 +konsole +qt6-virtualkeyboard-plugin +maliit-framework +maliit-keyboard +xinput +sddm-theme-breeze +pulseaudio +gstreamer1.0-pulseaudio +pamix +pasystray +pavucontrol +pavucontrol-qt +pulseaudio-module-bluetooth +chromium diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages.uninstall b/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages.uninstall new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/config_base/packages.uninstall @@ -0,0 +1 @@ + diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/debian/postinst b/config/desktop/trixie/environments/kde-plasma-mobile/debian/postinst new file mode 100755 index 0000000000..3357ad82a4 --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/debian/postinst @@ -0,0 +1,23 @@ +# overwrite stock lightdm greeter configuration + #if [ -d /etc/armbian/lightdm ]; then cp -R /etc/armbian/lightdm /etc/; fi +#if [ -f /etc/lightdm/slick-greeter.conf ]; then sed -i 's/armbian03-Dre0x-Minum-dark-blurred-3840x2160.jpg/armbian-4k-black-psycho-gauss.jpg/g' /etc/lightdm/slick-greeter.conf; fi + +# Disable Pulseaudio timer scheduling which does not work with sndhdmi driver +if [ -f /etc/pulse/default.pa ]; then sed "s/load-module module-udev-detect$/& tsched=0/g" -i /etc/pulse/default.pa; fi + +# enable pulse audio +systemctl --user enable pulseaudio +systemctl --user restart pulseaudio + +#configure sddm +sudo mkdir -p /etc/sddm.conf.d +sudo cat <<- EOF > /etc/sddm.conf.d/armbian.conf + [Theme] + Current=breeze + [General] + InputMethod=qtvirtualkeyboard + [X11] + DisplayCommand=/usr/share/sddm/scripts/Xsetup + [Wayland] + CompositorCommand=weston --shell=kiosk # @TODO figure out how to rotate with weston and wayland +EOF diff --git a/config/desktop/trixie/environments/kde-plasma-mobile/support b/config/desktop/trixie/environments/kde-plasma-mobile/support new file mode 100644 index 0000000000..7da76439da --- /dev/null +++ b/config/desktop/trixie/environments/kde-plasma-mobile/support @@ -0,0 +1 @@ +csc \ No newline at end of file diff --git a/packages/bsp/common/usr/lib/armbian/armbian-firstlogin b/packages/bsp/common/usr/lib/armbian/armbian-firstlogin index 01df00e620..90e78f6053 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-firstlogin +++ b/packages/bsp/common/usr/lib/armbian/armbian-firstlogin @@ -955,12 +955,15 @@ if [[ -f /root/.not_logged_in_yet && -n $(tty) ]]; then # create default sddm config mkdir -p /etc/sddm.conf.d - cat <<- EOF > /etc/sddm.conf.d/armbian.conf - [Theme] - Current=breeze - [General] - InputMethod=none - EOF + + if [ ! -e "/etc/sddm.conf.d/armbian.conf" ]; then + cat <<- EOF > /etc/sddm.conf.d/armbian.conf + [Theme] + Current=breeze + [General] + InputMethod=none + EOF + fi # 1st run goes without login cat <<- EOF > /etc/sddm.conf.d/autologin.conf