diff --git a/overlay/etc/cont-init.d/10-setup_user.sh b/overlay/etc/cont-init.d/10-setup_user.sh index 3541c2c..c672921 100644 --- a/overlay/etc/cont-init.d/10-setup_user.sh +++ b/overlay/etc/cont-init.d/10-setup_user.sh @@ -15,6 +15,18 @@ echo "Adding run user to video, audio, input and pulse groups" usermod -a -G video,audio,input,pulse ${USER} +echo "Adding run user to render group (for HW accelerated encoding)" +render_guid=$(stat -c "%g" /dev/dri/render* | tail -n 1) +if [[ ! -z ${render_guid} ]]; then + render_group=$(getent group "${render_guid}" | cut -d: -f1) + if [[ -z ${render_group} ]]; then + groupadd -g "${render_guid}" "videorender" + render_group="videorender" + fi + usermod -a -G ${render_group} ${USER} +fi + + echo "Setting umask to ${UMASK}"; umask ${UMASK} diff --git a/overlay/etc/cont-init.d/70-configure_neko.sh b/overlay/etc/cont-init.d/70-configure_neko.sh index ff667e7..a1d7d4c 100644 --- a/overlay/etc/cont-init.d/70-configure_neko.sh +++ b/overlay/etc/cont-init.d/70-configure_neko.sh @@ -1,16 +1,27 @@ echo "**** Configure Neko ****" +# REF: https://neko.m1k1o.net/#/getting-started/configuration if ([ "${MODE}" != "s" ] && [ "${MODE}" != "secondary" ]); then if [ ${WEB_UI_MODE} = "neko" ]; then echo "Enable Neko server" - sed -i 's|^autostart.*=.*$|autostart=true|' /etc/supervisor.d/neko.ini + sed -i 's|^autostart.*=.*$|autostart=true|' /etc/supervisor.d/neko.ini + + # Configure nat1to1 if it is not already set if [[ -z ${NEKO_NAT1TO1} ]]; then export NEKO_NAT1TO1=$(ip route get 1 | awk '{print $(NF-2);exit}') echo "Setting NEKO_NAT1TO1=${NEKO_NAT1TO1}" else echo "User provided setting NEKO_NAT1TO1=${NEKO_NAT1TO1}" fi + + # Configure hardware acceleration if it is not already set + if [[ -z ${NEKO_HWENC} ]]; then + # Enable VAAPI if device available + if [[ ! -z $(stat -c "%g" /dev/dri/render* | tail -n 1) ]]; then + export NEKO_HWENC=vaapi + fi + fi else echo "Disable Neko server" fi