## LiveCD 验证:UCM(HiFi / Jack-driven)方案 目标:在 Ubuntu Live 环境里验证 **本仓库的 UCM2 + HiFi** 是否能实现: - HDMI **插入才显示为输出** - HDMI **测试音正常**、切换正常 ### 1) Live 原生基线(不装任何东西) 目的:确认 Live 的内核/驱动本身没把 HDMI 搞死(排除“纯驱动级”问题)。 ```bash uname -a aplay -l amixer -c0 sset 'IEC958',0 on amixer -c0 sset 'IEC958',1 on amixer -c0 sset 'IEC958',2 on speaker-test -D pulse -c2 -t sine -f 440 -l 2 ``` 说明: - 若 `-D pulse` 不通,再用 ALSA 直连(例如 `speaker-test -D hw:0,3 ...`),但**不要在 PipeWire 运行时**直连 `hw:0,N`,否则会遇到 `EBUSY` 或把状态搅乱。 ### 2) 在 Live 里临时安装本仓库 UCM 方案 有两种方式,选你方便的: - **方式 A(推荐)**:把仓库放到另一只 U 盘/同一只启动盘的可写分区里,Live 启动后挂载再执行脚本 - **方式 B**:Live 里 `git clone` 仓库(需要网络) 在仓库根目录执行: ```bash ./scripts/install-kaisa-ucm-overlay.sh systemctl --user restart wireplumber pipewire pipewire-pulse ``` 说明: - Live 环境通常**没有**你的 pro-audio 方案,所以一般**不需要**跑 `disable-kaisa-pro-audio-wireplumber.sh`(跑了也多半是空操作)。 ### 3) 验收 UCM 是否真的生效(关键) ```bash alsaucm -c sof-rt5682 list _verbs pactl list cards ``` 预期: - `alsaucm` 应列出 `HiFi` - `pactl list cards` 的 **配置文件** 里应出现 `HiFi:` 若 `HiFi:` 已出现但活动配置不是 HiFi,手动切一次: ```bash pactl set-card-profile "$(pactl list cards short | awk '/cml_rt5682/ {print $2; exit}')" HiFi ``` ### 4) 验收“插线才出现 HDMI” + 出声 - **拔掉 HDMI**:GNOME 输出列表应只剩模拟(或 HDMI 变不可用) - **插上 HDMI**:应出现 HDMI1/HDMI2(以及显示器名),并可用测试音验证 终端验收(可选): ```bash pactl list short sinks speaker-test -D pulse -c2 -t sine -f 440 -l 3 ``` ### 5) 常见坑(Live 特有) - **user systemd 不完整**:`systemctl --user restart ...` 失败时,注销/重登 Live 会话再试一次 - **误用 ALSA 直连**:PipeWire 运行时对 `hw:0,N` 直连会 `EBUSY`;优先 `-D pulse` --- 如果需要我远程判定“Live 是否真正验证了 UCM 方案”,请贴: - `pactl list cards`(包含“配置文件”那段) - 插拔 HDMI 前后 `pactl list short sinks` 的变化