#!/bin/sh

PREREQ=""

prereqs()
{
    echo "$PREREQ"
}

case "$1" in
    prereqs)
        prereqs
        exit 0
        ;;
esac

if [ ! -e /usr/bin/osk-sdl ]; then
    exit 0
fi

. /scripts/functions

# get encrypted root from cmdline
# this parameter is required, so quit if it's not there
if ! grep -qE '^(.*\s)?osk-sdl-root=' /proc/cmdline; then
    exit 0
fi

root_dev="$(tr ' ' '\n' <  /proc/cmdline | sed -n 's/^osk-sdl-root=//p')"
if [ ! -b "$root_dev" ]; then
    panic "Value for osk-sdl-root ($root_dev) is not a valid block device!"
fi

root_name="$(tr ' ' '\n' <  /proc/cmdline | sed -n 's/^osk-sdl-root-name=//p')"
[ -z "$root_name" ] && root_name="root"

# TODO: some of these are specific to certain hardware...
export ETNA_MESA_DEBUG=no_supertile
export SDL_VIDEODRIVER=kmsdrm

plymouth hide-splash 2>/dev/null
ttymode=$(stty -g)
stty -echo -icanon min 0 time 0

log_begin_msg "osk-sdl starting."
/usr/bin/osk-sdl -d "$root_dev" -n "$root_name" -c /etc/osk.conf \
	|| panic "Failure running osk-sdl. Good luck."

cat > /dev/null
stty "$ttymode"

log_end_msg "osk-sdl done."
plymouth show-splash 2>/dev/null

exit 0
