Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pulseaudio can't load configuration for snd_hda_intel #99

Open
hzhuang1 opened this issue Jun 10, 2021 · 6 comments
Open

pulseaudio can't load configuration for snd_hda_intel #99

hzhuang1 opened this issue Jun 10, 2021 · 6 comments

Comments

@hzhuang1
Copy link

hzhuang1 commented Jun 10, 2021

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.

@perexg
Copy link
Member

perexg commented Jun 10, 2021

Empty Use means fallback to the legacy configuration (no UCM). Why do you need UCM config for your hardware?

@hzhuang1
Copy link
Author

hzhuang1 commented Jun 10, 2021

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.

@perexg
Copy link
Member

perexg commented Jun 10, 2021

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.

@hzhuang1
Copy link
Author

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.

@perexg
Copy link
Member

perexg commented Jun 10, 2021

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

@hzhuang1
Copy link
Author

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants