fix(server): pin runtime HDMI defaults during install
This commit is contained in:
parent
c1212dcb86
commit
1525d3f888
@ -30,6 +30,19 @@ is_attached_state() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
detect_connected_hdmi_connector() {
|
||||||
|
local dev status best=""
|
||||||
|
for dev in /sys/class/drm/card*-HDMI-A-*; do
|
||||||
|
[[ -e $dev/status ]] || continue
|
||||||
|
status=$(cat "$dev/status" 2>/dev/null || true)
|
||||||
|
if [[ $status == connected ]]; then
|
||||||
|
best=$(basename "$dev")
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
printf '%s\n' "$best"
|
||||||
|
}
|
||||||
|
|
||||||
run_as_user() {
|
run_as_user() {
|
||||||
sudo -u "$ORIG_USER" env HOME="$USER_HOME" SSH_AUTH_SOCK="${SSH_AUTH_SOCK:-}" "$@"
|
sudo -u "$ORIG_USER" env HOME="$USER_HOME" SSH_AUTH_SOCK="${SSH_AUTH_SOCK:-}" "$@"
|
||||||
}
|
}
|
||||||
@ -191,6 +204,25 @@ sudo install -Dm755 "$SRC_DIR/target/release/lesavka-uvc" /usr/local/bin/lesa
|
|||||||
sudo install -Dm755 "$SRC_DIR/scripts/daemon/lesavka-core.sh" /usr/local/bin/lesavka-core.sh
|
sudo install -Dm755 "$SRC_DIR/scripts/daemon/lesavka-core.sh" /usr/local/bin/lesavka-core.sh
|
||||||
sudo install -Dm755 "$SRC_DIR/scripts/daemon/lesavka-uvc.sh" /usr/local/bin/lesavka-uvc.sh
|
sudo install -Dm755 "$SRC_DIR/scripts/daemon/lesavka-uvc.sh" /usr/local/bin/lesavka-uvc.sh
|
||||||
|
|
||||||
|
echo "==> 5b. Runtime environment defaults"
|
||||||
|
sudo install -d -m 0755 /etc/lesavka
|
||||||
|
HDMI_CONNECTOR=${LESAVKA_HDMI_CONNECTOR:-$(detect_connected_hdmi_connector)}
|
||||||
|
if [[ -n $HDMI_CONNECTOR ]]; then
|
||||||
|
echo " ↪ HDMI connector: $HDMI_CONNECTOR"
|
||||||
|
else
|
||||||
|
echo "⚠️ no connected HDMI connector detected; leaving LESAVKA_HDMI_CONNECTOR unset." >&2
|
||||||
|
fi
|
||||||
|
{
|
||||||
|
echo "# generated by lesavka/scripts/install/server.sh"
|
||||||
|
echo "# Edit only for local hardware overrides; rerunning the installer refreshes defaults."
|
||||||
|
if [[ -n $HDMI_CONNECTOR ]]; then
|
||||||
|
printf 'LESAVKA_HDMI_CONNECTOR=%q\n' "$HDMI_CONNECTOR"
|
||||||
|
fi
|
||||||
|
printf 'LESAVKA_HDMI_DRIVER=%q\n' "${LESAVKA_HDMI_DRIVER:-vc4}"
|
||||||
|
printf 'LESAVKA_UAC_DEV=%q\n' "${LESAVKA_UAC_DEV:-hw:UAC2Gadget,0}"
|
||||||
|
printf 'LESAVKA_ALSA_DEV=%q\n' "${LESAVKA_ALSA_DEV:-hw:UAC2Gadget,0}"
|
||||||
|
} | sudo tee /etc/lesavka/server.env >/dev/null
|
||||||
|
|
||||||
echo "==> 6a. Systemd units - lesavka-core"
|
echo "==> 6a. Systemd units - lesavka-core"
|
||||||
cat <<'UNIT' | sudo tee /etc/systemd/system/lesavka-core.service >/dev/null
|
cat <<'UNIT' | sudo tee /etc/systemd/system/lesavka-core.service >/dev/null
|
||||||
[Unit]
|
[Unit]
|
||||||
@ -238,6 +270,7 @@ Environment=LESAVKA_EYE_FPS=20
|
|||||||
Environment=LESAVKA_MIC_INIT_ATTEMPTS=5
|
Environment=LESAVKA_MIC_INIT_ATTEMPTS=5
|
||||||
Environment=LESAVKA_MIC_INIT_DELAY_MS=250
|
Environment=LESAVKA_MIC_INIT_DELAY_MS=250
|
||||||
Environment=LESAVKA_ALLOW_GADGET_CYCLE=1
|
Environment=LESAVKA_ALLOW_GADGET_CYCLE=1
|
||||||
|
EnvironmentFile=-/etc/lesavka/server.env
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
StandardError=append:/tmp/lesavka-server.stderr
|
StandardError=append:/tmp/lesavka-server.stderr
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user