  
  # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
  if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then
-@@ -131,16 +78,15 @@ fi
+@@ -90,16 +78,15 @@ fi
  
  # We set LD_BIND_NOW to increase the efficiency of kdeinit.
  # kdeinit unsets this variable before loading applications.

 #otherwise apps that manually opt in for high DPI get auto scaled by the developer AND scaled by the wl_output
 export QT_AUTO_SCREEN_SCALE_FACTOR=0
 
-# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
-if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
-    @EXPORT_XCURSOR_PATH@
+XCURSOR_PATH=~/.icons
+IFS=":" read -r -a xdgDirs <<< "$XDG_DATA_DIRS"
+for xdgDir in "${xdgDirs[@]}"; do
+    XCURSOR_PATH="$XCURSOR_PATH:$xdgDir/icons"
+done
+export XCURSOR_PATH
 
-    # TODO: is kapplymousetheme a core app?
+# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
+if [ -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ]; then
     #kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
-    if test $? -eq 10; then

 
 echo 'startplasma: Done.'  1>&2
diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake
index dcb473a4..48dbf465 100644
--- a/startkde/startplasmacompositor.cmake
+++ b/startkde/startplasmacompositor.cmake
@@ -1,118 +1,165 @@
