diff --git a/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh b/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh new file mode 100644 index 00000000..69d8a53f --- /dev/null +++ b/meta-nuc/recipes-core/initscripts/initscripts/hdmi_port_audio.sh @@ -0,0 +1,28 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: +# Required-Start: +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Configure ALSA audio output to the connected HDMI port +### END INIT INFO + +# +# If both HDMI ports are connected then use HDMI0 for default ALSA audio out.. + +ALSA_CONF_FILE="/etc/asound.conf" + +HDMI0_STATUS_FILE="/sys/class/drm/card0-HDMI-A-1/status" +HDMI1_STATUS_FILE="/sys/class/drm/card0-HDMI-A-2/status" + +HDMI0_ALSA_CONF="hw:0,3" +HDMI1_ALSA_CONF="hw:0,7" + +if [ -f "${HDMI0_STATUS_FILE}" ] && [ "`cat ${HDMI0_STATUS_FILE}`" == "connected" ] +then + sed -i "s/pcm *\"hw:[0-9]*,[0-9]*\"/pcm \"${HDMI0_ALSA_CONF}\"/" ${ALSA_CONF_FILE} +elif [ -f "${HDMI1_STATUS_FILE}" ] && [ "`cat ${HDMI1_STATUS_FILE}`" == "connected" ] +then + sed -i "s/pcm \"hw:[0-9]*,[0-9]*\"/pcm \"${HDMI1_ALSA_CONF}\"/" ${ALSA_CONF_FILE} +fi diff --git a/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend b/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend new file mode 100644 index 00000000..abc5fe01 --- /dev/null +++ b/meta-nuc/recipes-core/initscripts/initscripts_1.0.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://hdmi_port_audio.sh" + +PR .= ".1" + +do_install_append() { + install -m 0755 ${WORKDIR}/hdmi_port_audio.sh ${D}${sysconfdir}/init.d + ln -sf ../init.d/hdmi_port_audio.sh ${D}${sysconfdir}/rcS.d/S66hdmi_port_audio.sh +}