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
This commit is contained in:
2026-04-08 00:22:55 +08:00
parent 3c7860c96f
commit 5c7d0aa360
3 changed files with 89 additions and 80 deletions

View File

@@ -1,86 +1,85 @@
# Google Kaisa — sof-rt5682 / Intel Kabylake HDMI
# HDMI 逻辑名与 ALSA deviceHDMI1=hw:0,2 HDMI2=hw:0,3 HDMI3=hw:0,4以本机 aplay -l 为准)
# 可用性由 JackControl 驱动IEC958 在 Enable/Disable 时切换
# 本文件由 SectionUseCase."HiFi" 引用;须使用顶层 SectionDevice勿再包一层 SectionVerb
# 否则 alsaucm 报「no use case device defined」PipeWire 不会出现 HiFi profile
# HDMIdevice 2/3/4JackControl + IEC958 numid 与本机 amixer 对齐。
SectionVerb."HiFi" {
SectionDevice."Port1" {
Comment "Analog (Port1)"
SectionDevice."Port1" {
Comment "Analog (Port1)"
EnableSequence [
cset "name='HPOL Playback Switch' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
EnableSequence [
cset "name='HPOL Playback Switch' 1"
cset "name='HPOR Playback Switch' 1"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
]
DisableSequence [
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
]
DisableSequence [
cset "name='HPOL Playback Switch' 0"
cset "name='HPOR Playback Switch' 0"
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
]
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
PlaybackChannels 2
}
}
SectionDevice."HDMI1" {
Comment "HDMI1"
EnableSequence [
cset "numid=14 1"
]
DisableSequence [
cset "numid=14 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},2"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=2 Jack"
}
}
SectionDevice."HDMI2" {
Comment "HDMI2"
EnableSequence [
cset "numid=20 1"
]
DisableSequence [
cset "numid=20 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},3"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=3 Jack"
}
}
SectionDevice."HDMI3" {
Comment "HDMI3"
EnableSequence [
cset "numid=26 1"
]
DisableSequence [
cset "numid=26 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},4"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=4 Jack"
}
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
PlaybackChannels 2
}
}
SectionDevice."HDMI1" {
Comment "HDMI1"
EnableSequence [
cset "numid=14 1"
]
DisableSequence [
cset "numid=14 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},2"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=2 Jack"
}
}
SectionDevice."HDMI2" {
Comment "HDMI2"
EnableSequence [
cset "numid=20 1"
]
DisableSequence [
cset "numid=20 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},3"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=3 Jack"
}
}
SectionDevice."HDMI3" {
Comment "HDMI3"
EnableSequence [
cset "numid=26 1"
]
DisableSequence [
cset "numid=26 0"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},4"
PlaybackChannels 2
JackControl "HDMI/DP,pcm=4 Jack"
}
}