Files
chromebox_10th_audio_driver/scripts/install-kaisa-ucm-overlay.sh
jack 5c7d0aa360 fix(ucm): use top-level SectionDevice in HiFi.conf for ALSA parser
Nested SectionVerb caused alsaucm "no use case device defined", so PipeWire
never exposed the HiFi profile. Document alsaucm check and reinstall path.

Made-with: Cursor
2026-04-08 00:22:55 +08:00

36 lines
1.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 将仓库内 UCM2 overlay 与 WirePlumber Lua 安装到系统路径(需 sudo
# 用法:在仓库根目录执行 ./scripts/install-kaisa-ucm-overlay.sh
# 安装前请先运行 ./scripts/disable-kaisa-pro-audio-wireplumber.sh
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
if [[ ! -f "$REPO_ROOT/reference/ucm2/conf.d/sof-rt5682/sof-rt5682.conf" ]]; then
echo "未找到 UCM 文件,请在仓库根目录执行。" >&2
exit 1
fi
if ! command -v sudo &>/dev/null; then
echo "需要 sudo。" >&2
exit 1
fi
echo ">>> 安装 UCM2 -> /usr/share/alsa/ucm2/"
sudo cp -a "$REPO_ROOT/reference/ucm2/conf.d/sof-rt5682" /usr/share/alsa/ucm2/conf.d/
sudo cp -a "$REPO_ROOT/reference/ucm2/GoogleKaisa" /usr/share/alsa/ucm2/
echo ">>> 安装 WirePlumber Lua -> /usr/share/wireplumber/main.lua.d/"
sudo install -D -m0644 "$REPO_ROOT/wireplumber/main.lua.d/60-kaisa-ucm.lua" \
/usr/share/wireplumber/main.lua.d/60-kaisa-ucm.lua
echo ">>> 重启用户 pipewire 栈"
if systemctl --user is-system-running &>/dev/null; then
systemctl --user restart wireplumber pipewire pipewire-pulse
else
echo "(无 user 会话,请登录后执行: systemctl --user restart wireplumber pipewire pipewire-pulse" >&2
fi
echo "完成。请先验证 UCM 能解析(应列出 HiFi不应报 parse 错误):"
echo " alsaucm -c sof-rt5682 list _verbs"
echo "再按 OPERATION「UCM Jack 自动显示/隐藏」验收 pactl / GNOME。"