pmaports/device/device-pine-dontbeevil/start_weston.sh

49 lines
1.1 KiB
Bash
Raw Normal View History

export DISPLAY=:0
. /etc/deviceinfo
if test -z "${XDG_RUNTIME_DIR}"; then
# https://wayland.freedesktop.org/building.html
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
# Weston autostart on tty1 (Autologin on tty1 is enabled in
# /etc/inittab by postmarketos-base post-install.hook)
if [ "$(id -u)" = "10000" ] && [ $(tty) = "/dev/tty1" ]; then
# Find right weston.ini
cfg="/etc/xdg/weston/weston.ini"
[ -e "$cfg" ] || cfg="$cfg.default"
WESTON_OPTS="-c $cfg"
echo "Waiting for touchscreen"
while ! [ -d /dev/input ] ;
do
echo -n "."
sleep 2
done
echo ""
echo "Touchscreen loaded. starting weston"
# #633: Weston doesn't support autostarting applications (yet), so
# we try to run postmarketos-demos for 10 seconds, until it succeeds.
(
for i in $(seq 0 19); do
sleep 0.5
postmarketos-demos && break
done
) &
weston-launch -- ${WESTON_OPTS} 2>&1 | logger -t "$(whoami):weston"
# In case of failure, restart after 1s
sleep 1
exit
fi
fi