Document the fixed evidence commands (Jack/ELD/pactl) and A/B/A reboot procedure to confirm how a single monitor maps to ALSA HDMI pcms. Made-with: Cursor
2.2 KiB
2.2 KiB
下一步(建议以 docs 主线为准)
本仓库当前主交付已收敛到 UCM/HiFi(Jack-driven HDMI) 主线;操作与验收请优先阅读:
docs/linux-hdmi/OPERATION_PipeWire_Kaisa_UCM_HiFi.md
排障与根因分析:
docs/linux-hdmi/DEBUG_Reboot_No_Sound_and_Fix.mddocs/linux-hdmi/LOCAL_Root_Cause_and_Fix.mddocs/linux-hdmi/ROOTCAUSE_Reboot_Silent_Analysis.md
建议的一键诊断(在桌面会话、普通用户下运行):
./scripts/kaisa-audio-doctor.sh --verify
./scripts/kaisa-audio-doctor.sh --fix --verify
单显示器环境下建议使用“只测已连接输出”的验证,避免误测未连接的 HDMI PCM:
./scripts/kaisa-audio-doctor.sh --fix --verify --only-connected --retries 10
单显示器:物理 HDMI 口与 pcm 映射验证(固定证据)
目的:验证“只接一个显示器时,不管插哪个物理 HDMI 口,系统是否都最终映射到同一个 ALSA HDMI pcm(常见为 pcm=2)”。
每次进桌面后跑(固定证据)
amixer -c0 cget "iface=CARD,name='HDMI/DP,pcm=2 Jack'"
amixer -c0 cget "iface=CARD,name='HDMI/DP,pcm=3 Jack'"
amixer -c0 cget "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
amixer -c0 cget "iface=PCM,name='ELD',device=2" | head -n 3
amixer -c0 cget "iface=PCM,name='ELD',device=3" | head -n 3
amixer -c0 cget "iface=PCM,name='ELD',device=4" | head -n 3
pactl list cards | sed -n '/cml_rt5682_def/,+220p' | \
grep -nE '\\[Out\\] HDMI|availability group|available|not available|device\\.product\\.name'
判读要点:
Jack values=on:该 pcm 的 HDMI/DP 口当前被内核认为“连着线/有连接”ELD values>0:该 pcm 读取到了显示器 ELD(通常说明 EDID/ELD 就绪)pactl里对应HDMI/DP,pcm=N的available/not available:与 Jack/ELD 应一致
建议做 3 轮(A/B/A)
- 轮 1:只插物理口 A → 重启 → 采证据
- 轮 2:只插物理口 B → 重启 → 采证据
- 轮 3:回到物理口 A → 重启 → 采证据(看是否仍一致)
如果三轮都显示同一个 pcm(例如 pcm=2)的 Jack=on 且 ELD>0,即可认为“单显示器时物理口切换不会改变 pcm 映射”在当前系统上成立。