fdff56f4ec
@drebrez deserves much credit for this one for all the testing, bisecting and for fixing everything. Thank you very much! --- * devices which need a custom weston.ini ship it with a install_if subpackage, so it only gets installed when weston is installed. This sounds complicated, but is actually pretty clean in the APKBUILD. * postmarketos-ui-weston: has a weston.ini.default, which enables xwayland and uses fbdev as backend (because that's what most devices use!). It defaults to the weston.ini.default if there is no weston.ini (as installed by the device package). * changed spaces to tabs for consistency, general minor refactoring of device-APKBUILDs
44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
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)" = "1000" ] && [ $(tty) = "/dev/tty1" ]; then
|
|
|
|
# Find right weston.ini
|
|
cfg="/etc/xdg/weston/weston.ini"
|
|
[ -e "$cfg" ] || cfg="$cfg.default"
|
|
WESTON_OPTS="-c $cfg"
|
|
|
|
# Weston "red screen bug" workaround
|
|
if test -n "${deviceinfo_weston_pixman_type}"; then
|
|
WESTON_OPTS="${WESTON_OPTS} --pixman-type=${deviceinfo_weston_pixman_type}"
|
|
fi
|
|
|
|
# #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
|
|
|