#!/bin/sh /etc/rc.common USE_PROCD=1 START=96 splash_holds_display() { [ "$(ubus -S call plymouth status 2>/dev/null | \ jsonfilter -e '@.display' 2>/dev/null)" = true ] } start_service() { local term font_size font_engine hwaccel login seats # The splash announces with plymouth.release when it lets go. splash_holds_display && return 0 config_load kmscon config_get term main term xterm-256color config_get font_size main font_size 14 config_get font_engine main font_engine config_get_bool hwaccel main hwaccel 1 config_get login main login "/bin/login -p" config_get seats main seats procd_open_instance procd_set_param command /usr/bin/kmscon --drm --term "$term" \ --font-size "$font_size" --libseat [ -n "$font_engine" ] && \ procd_append_param command --font-engine "$font_engine" [ "$hwaccel" = 1 ] && procd_append_param command --hwaccel [ -n "$seats" ] && procd_append_param command --seats "$seats" procd_append_param command --login -- $login procd_set_param respawn procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance } service_triggers() { procd_add_reload_trigger kmscon procd_add_raw_trigger plymouth.release 0 /etc/init.d/kmscon start }