diff --git a/root/defaults/startwm_wayland.sh b/root/defaults/startwm_wayland.sh new file mode 100755 index 00000000..5c07dd69 --- /dev/null +++ b/root/defaults/startwm_wayland.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Disable compositing and screen locking +if [ ! -f $HOME/.config/kwinrc ]; then + kwriteconfig6 --file $HOME/.config/kwinrc --group Compositing --key Enabled false +fi +if [ ! -f $HOME/.config/kscreenlockerrc ]; then + kwriteconfig6 --file $HOME/.config/kscreenlockerrc --group Daemon --key Autolock false +fi + +# Power related +setterm blank 0 +setterm powerdown 0 + +# Directories +sudo rm -f /usr/share/dbus-1/system-services/org.freedesktop.UDisks2.service +mkdir -p "${HOME}/.config/autostart" "${HOME}/.XDG" "${HOME}/.local/share/" +chmod 700 "${HOME}/.XDG" +touch "${HOME}/.local/share/user-places.xbel" + +# Background perm loop +if [ ! -d $HOME/.config/kde.org ]; then + ( + loop_end_time=$((SECONDS + 30)) + while [ $SECONDS -lt $loop_end_time ]; do + find "$HOME/.cache" "$HOME/.config" "$HOME/.local" -type f -perm 000 -exec chmod 644 {} + 2>/dev/null + sleep .1 + done + ) & +fi + +# Create startup script if it does not exist (keep in sync with openbox) +STARTUP_FILE="${HOME}/.config/autostart/autostart.desktop" +if [ ! -f "${STARTUP_FILE}" ]; then + echo "[Desktop Entry]" > $STARTUP_FILE + echo "Exec=bash /config/.config/openbox/autostart" >> $STARTUP_FILE + echo "Icon=dialog-scripts" >> $STARTUP_FILE + echo "Name=autostart" >> $STARTUP_FILE + echo "Path=" >> $STARTUP_FILE + echo "Type=Application" >> $STARTUP_FILE + echo "X-KDE-AutostartScript=true" >> $STARTUP_FILE + chmod +x $STARTUP_FILE +fi + +# Enable Nvidia GPU support if detected +if which nvidia-smi > /dev/null 2>&1 && ls -A /dev/dri 2>/dev/null && [ "${DISABLE_ZINK}" == "false" ]; then + export LIBGL_KOPPER_DRI2=1 + export MESA_LOADER_DRIVER_OVERRIDE=zink + export GALLIUM_DRIVER=zink +fi + +# Start DE +WAYLAND_DISPLAY=wayland-1 Xwayland :1 & +sleep 2 +exec dbus-launch /usr/bin/startplasma-x11 > /dev/null 2>&1