更新音频调试日志和修复脚本,添加 HDMI 监控工具

This commit is contained in:
Jack
2026-05-21 11:22:17 +08:00
parent e8073bc448
commit bd5a3e81d9
77 changed files with 15716 additions and 31339 deletions

View File

@@ -3,15 +3,10 @@
--
-- 若仅启用 use-ucm 而不固定 profile栈常会默认选 stereo-fallback界面只剩模拟/耳机HDMI 消失。
--
-- 重要policy-device-profile.lua / findBestProfile若下面 KAISA_WP_DEVICE_PROFILE 设为 "HiFi"
-- PipeWire 的 EnumProfile 里还没有名为 HiFi 的条目pactl「配置文件」仅有 off / pro-audio
-- WirePlumber 无法匹配 device.profile最终会把活动配置留在 off且 pactl set-card-profile HiFi
-- 报「无此实体」。此时请保持 "pro-audio" 先恢复输出;待 install-kaisa-ucm-overlay + 重启后 pactl 已出现
-- HiFi: 时,再把本变量改为 "HiFi" 并重启用户 pipewire 栈。
--
-- 当前仓库主交付为 UCM/HiFi当你已验证 `pactl list cards` 的「配置文件」里出现 `HiFi:`
-- 就应默认固定为 "HiFi",避免重启后回退到 stereo-fallback只剩 3.5mm)。
local KAISA_WP_DEVICE_PROFILE = "HiFi" -- 或 "pro-audio"(仅用于临时排障对照)
-- 交付策略:必须由 UCM/HiFi 管理音频Jack-driven ports
-- 若某台机器在 PipeWire/ACP 枚举阶段暂未暴露 HiFi profilepactl「配置文件」里看不到 HiFi:
-- 这是安装/时序/内核问题,应修复根因,而不是回退到 pro-audio。
local KAISA_WP_DEVICE_PROFILE = "HiFi"
table.insert(alsa_monitor.rules, {
matches = {
@@ -20,10 +15,39 @@ table.insert(alsa_monitor.rules, {
},
},
apply_properties = {
["api.alsa.use-acp"] = true,
-- 交付策略:仅使用 UCM/HiFi避免 ACP 注入 pro-audio 等通用 profile。
-- 这会让系统枚举中不再出现 pro-audio仅保留 UCM 定义的 HiFi / off 等)。
["api.alsa.use-acp"] = false,
["api.alsa.use-ucm"] = true,
["api.acp.auto-profile"] = false,
["api.acp.auto-port"] = true,
-- ACP disabled; keep these unset to avoid confusing policy.
["device.profile"] = KAISA_WP_DEVICE_PROFILE,
},
})
-- Default route among HDMI: WirePlumber policy-node picks highest priority.session.
-- Stock UCM tends to give pcm=2 (HDMI1) the highest value, which matches observed
-- defaults and a flaky pcm2 path (SOF ipc -5 / set_hw_params). Prefer pcm 3/4.
table.insert(alsa_monitor.rules, {
matches = {
{ { "node.name", "matches", "alsa_output.*HiFi__hw_sofrt5682_4__sink*" } },
},
apply_properties = {
["priority.session"] = 900,
},
})
table.insert(alsa_monitor.rules, {
matches = {
{ { "node.name", "matches", "alsa_output.*HiFi__hw_sofrt5682_3__sink*" } },
},
apply_properties = {
["priority.session"] = 850,
},
})
table.insert(alsa_monitor.rules, {
matches = {
{ { "node.name", "matches", "alsa_output.*HiFi__hw_sofrt5682_2__sink*" } },
},
apply_properties = {
["priority.session"] = 700,
},
})