alsa-ucm-conf
alsa-ucm-conf copied to clipboard
pulseaudio can't load configuration for snd_hda_intel
In v1.2.2, the content of HDA-Intel.conf is in below. v1.2.2 is widely used, such as in ubuntu 20.04.
Syntax 3
Define.Use "" # a non-empty string to use UCM configuration for HDA devices
Define.AcpCardId "$${CardIdByName:acp}"
With this content, pulseaudio can't load configuration from UCM. Then I tried to edit the content. Change it to
Define.Use "2"
or
Define.Use "3"
Pulseaudio worked with "options snd-hda-intel probe_mask=1" on DELL laptop.
My question is what's the real meaning of Define.Use at here. Why the default value of Define.Use is empty string? Even in latest code, the Define.Use is also an empty string.
Empty Use
means fallback to the legacy configuration (no UCM). Why do you need UCM config for your hardware?
With Define.Use "", the log of "pacmd list-cards" is in below.
hzhuang1@E7270:~$ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1f.3>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xe1348000 irq 135"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9d70"
device.product.name = "Sunrise Point-LP HD Audio"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
input:analog-stereo: Analog Stereo Input (priority 60, available: unknown)
output:analog-stereo: Analog Stereo Output (priority 6000, available: no)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: no)
off: Off (priority 0, available: unknown)
active profile: <input:analog-stereo>
sources:
alsa_input.pci-0000_00_1f.3.analog-stereo/#0: Built-in Audio Analog Stereo
ports:
B-analog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: no)
properties:
hzhuang1@E7270:~$
With Define.Use "3", the log of "pacmd list-cards" is in below.
hzhuang1@E7270:~$ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1f.3>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xe1348000 irq 135"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9d70"
device.product.name = "Sunrise Point-LP HD Audio"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
HiFi: Play HiFi quality Music (priority 8000, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <HiFi>
sinks:
alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH__sink/#0: Built-in Audio Speaker + Headphones
sources:
alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH__sink.monitor/#0: Monitor of Built-in Audio Speaker + Headphones
alsa_input.pci-0000_00_1f.3.HiFi__hw_PCH__source/#1: Built-in Audio Headphones Stereo Microphone
ports:
[Out] Speaker: Speaker (priority 100, latency offset 0 usec, available: unknown)
properties:
[Out] Headphones: Headphones (priority 200, latency offset 0 usec, available: yes)
properties:
[In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: unknown)
properties:
hzhuang1@E7270:~$
For the default configuration, pulseaudio can't work at all.
Then the pulseaudio legacy config probably didn't find the right controls. You may check the pulseaudio verbose output and modify /usr/share/pulseaudio/alsa-mixer/paths/ config to detect your hardware.
It's possible to add support for all HDA hardware to UCM, but there's no ETA.
Then the pulseaudio legacy config probably didn't find the right controls. You may check the pulseaudio verbose output and modify /usr/share/pulseaudio/alsa-mixer/paths/ config to detect your hardware.
OK. I'll try it.
It's possible to add support for all HDA hardware to UCM, but there's no ETA.
Excuse me, what does ETA stand for at here? I'm not familiar with the abbreviation.
It's possible to add support for all HDA hardware to UCM, but there's no ETA.
Excuse me, what does ETA stand for at here? I'm not familiar with the abbreviation.
I meant this: https://www.allacronyms.com/ETA/Estimated_Time_of_Availability
I restored to Define.Use "". Then I found that pulseaudio is trying to parse /usr/share/pulseaudio/alsa-mixer/profile-sets/B-default.conf without UCM from verbose log. And there's default.conf in the same directory.
If I removed B-default.conf, pulseaudio can't work. I have to create a symbol link from default.conf to B-default.conf instead. Then it works.
Thanks for your suggestion. By the way, do you know why pulseaudio tries to parse B-default.conf?