Coder Social home page Coder Social logo

alsa-ucm-conf's People

Contributors

13r0ck avatar akihikodaki avatar charleskeepax avatar clamor-s avatar digetx avatar dpward avatar hrw avatar jason77-wang avatar jenneron avatar jhovold avatar jwrdegoede avatar khfeng avatar krzk avatar kv2019i avatar libinyang avatar lordhoto avatar mchehab avatar nodens avatar perexg avatar plbossart avatar rusty122 avatar shumingfan avatar singalsu avatar smangels avatar srinivas-kandagatla avatar superna9999 avatar tiwai avatar ujfalusi avatar weirdtreething avatar zoran055 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alsa-ucm-conf's Issues

After Update: No more sound. Downgrading solved it.

Hello.

I am on Manjaro Linux, an Arch derivative.
Recently, after a system update, sound was gone.
After a couple of hours investigation, I narrowed it down to an update of alsa-ucm-conf.
Basically after downgrading 1.2.6.3-0 => 1.2.5.1-1, my problem is gone.

Symptom: With 1.2.6.3-0, there was no sound.
Running aplay -l listed my hardware.
Also I was able to hear sound from my monitor using the following command:

aplay -D plughw:0,7 /usr/share/sounds/alsa/Front_Right.wav

But pactl list sinks came back empty. Pavucontrol showed no output devices either. Rebooting several times, editing various config files did not help.

I looked at the list of recent upgrades and saw alsa-ucm-conf in the logs. Downgrading solved my issue.

Distribution:

Linux homelab 5.13.19-2-MANJARO #1 SMP PREEMPT Sun Sep 19 21:31:53 UTC 2021 x86_64 GNU/Linux

List of PLAYBACK Hardware Devices from aplay -l:

card 0: PCH [HDA Intel PCH], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0

Sound managed with:

pipewire --version
pipewire
Compiled with libpipewire 0.3.40
Linked with libpipewire 0.3.40

I am posting this in order to document what happened in case someone has a similar issue, and searches google for hints.
Also to inform the developer, maybe something can be done to avoid this.

Thank you.

No cards found in 1.2.5

On 1.2.4:

$ alsaucm listcards
  0: HDA-Intel
  1: SOF
  2: bdw-rt5677
  3: broadwell-rt286
  4: broxton-rt298
  5: bytcht-cx2072x
  6: bytcht-es8316
  7: bytcr-rt5640
  8: bytcr-rt5651
  9: cht-bsw-rt5672
  10: chtmax98090
  11: chtnau8824
    chtnau8824 internal card
  12: chtrt5645
    Intel SoC Audio Device
  13: chtrt5650
    Intel SoC Audio Device
  14: hda-dsp
  15: kblrt5660
  16: skylake-rt286
  17: sof-hda-dsp
  18: sof-soundwire

On 1.2.5:

$ alsaucm listcards
  list is empty

My card's config (snd-soc-apq8096, using DB820c config) isn't being loaded on 1.2.5 as a result and I get no sound. Note that in both cases above, alsa-ucm-conf and alsa-lib are of the same version; as mixing versions causes some other errors (lack of conf.virt.d on alsa-lib 1.2.5 alsa-ucm-conf 1.2.4, and invalid syntax 4 on alsa-lib 1.2.4 with alsa-ucm-conf 1.2.5)

Using Arch Linux ARM.

No top-level directory in tarballs

Usually release tarballs have a top-level directory in the format "<packagename>-<version>". At least the 1.2.1.2 release of alsa-ucm-conf didn't have any such directory, which caused some headache for me as a packager. I figured out how to deal with it, so I don't need this issue fixed, but it would probably still be a good idea to add the conventional directory in future releases.

dcef48f "add support for AMD acp microphone devices" can break pulseaudio

I recently upgraded alsa-ucm-conf from 1.2.3 to 1.2.4 on Arch Linux, and now pulseaudio fails to initialize my sound card.
This system is a Dell Inspiron 7405 with a Ryzen 7 4700U and a Realtek ALC3204 sound card. The microphone is handled by the audio co-processor.
Pulseaudio generates the following error:

Failed to find a working profile.
Failed to load module "module-alsa-card" (argument: "device_id="1" name="pci-0000_03_00.6" card_name="alsa_card.pci-0000_03_00.6" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

notworking-journal.txt
working-pacmd-list-sinks.txt

I did a git bisect and got this:

dcef48f13d4f5db79b006755074940b94730a883 is the first bad commit
commit dcef48f13d4f5db79b006755074940b94730a883
Author: Jaroslav Kysela <[email protected]>
Date:   Wed Jun 24 13:39:07 2020 +0200

    HDA-Intel: add support for AMD acp microphone devices
    
    - move the generic HDA code from sof-hda-dsp to HDA-Intel
    - add generic codecs/hda/hdmi.conf
    
    Signed-off-by: Jaroslav Kysela <[email protected]>

 ucm2/HDA-Intel/HDA-Capture-value.conf   |   4 +
 ucm2/HDA-Intel/HDA-Intel.conf           |  28 +++++++
 ucm2/HDA-Intel/Hdmi.conf                |  37 +++++++++
 ucm2/HDA-Intel/HiFi-acp.conf            |   8 ++
 ucm2/HDA-Intel/HiFi-analog.conf         | 133 +++++++++++++++++++++++++++++++
 ucm2/HDA-Intel/HiFi.conf                |  32 ++++++++
 ucm2/HDA-Intel/init.conf                |  39 +++++++++
 ucm2/codecs/hda/hdmi.conf               |  25 ++++++
 ucm2/module/lib/linked.conf             |   3 +
 ucm2/module/snd_acp3x_rn.conf           |   1 +
 ucm2/sof-hda-dsp/HDA-Capture-value.conf |   4 -
 ucm2/sof-hda-dsp/Hdmi.conf              |  78 +++++-------------
 ucm2/sof-hda-dsp/HiFi.conf              | 135 +-------------------------------
 13 files changed, 331 insertions(+), 196 deletions(-)
 create mode 100644 ucm2/HDA-Intel/HDA-Capture-value.conf
 create mode 100644 ucm2/HDA-Intel/HDA-Intel.conf
 create mode 100644 ucm2/HDA-Intel/Hdmi.conf
 create mode 100644 ucm2/HDA-Intel/HiFi-acp.conf
 create mode 100644 ucm2/HDA-Intel/HiFi-analog.conf
 create mode 100644 ucm2/HDA-Intel/HiFi.conf
 create mode 100644 ucm2/HDA-Intel/init.conf
 create mode 100644 ucm2/codecs/hda/hdmi.conf
 create mode 100644 ucm2/module/lib/linked.conf
 create mode 120000 ucm2/module/snd_acp3x_rn.conf
 delete mode 100644 ucm2/sof-hda-dsp/HDA-Capture-value.conf

alsa-ucm-conf 1.2.4 fails with platform-skl_hda_dsp_generic

Hi,

I am experiencing the same issue as reported in issue #66, however I am still able to reproduce this with alsa-lib and alsa-utils 1.2.4 installed.

  • 1.2.3

alsa-info output is attached in alsa-info.1.2.3.txt.
pulseaudio standard logs show:

May 30 01:33:34 lady-voodoo.local pulseaudio[23962]: E: [pulseaudio] alsa-ucm.c: Failed to get the verb HiFi
May 30 01:33:34 lady-voodoo.local pulseaudio[23962]: E: [pulseaudio] alsa-ucm.c: No UCM verb is valid for sof-hda-dsp

pactl list short cards list the following cards as available:

0	alsa_card.usb-046d_HD_Pro_Webcam_C920_BD731F4F-02	module-alsa-card.c
1	alsa_card.usb-Sennheiser_Sennheiser_SP_30_A002340202303344-00	module-alsa-card.c
2	alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_genericmodule-alsa-card.c

pulseaudio -vvv output is attached in pulseaudio-1.2.3.log.
pacmd ls output is attached in pacmd-ls-1.2.3.txt

  • 1.2.4

alsa-info output is attached in alsa-info.1.2.4.txt.
pulseaudio standard logs show:

May 30 01:14:40 lady-voodoo.local /bin/bash[672]: HISTORY: PID=672 UID=1000 pulseaudio -k
May 30 01:14:40 lady-voodoo.local systemd[481]: pulseaudio.service: Succeeded.
May 30 01:14:40 lady-voodoo.local systemd[481]: pulseaudio.service: Consumed 7.644s CPU time.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI3, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI2, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI1, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic2, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic1, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Speaker, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

pactl list short cards list the following cards as available:

0	alsa_card.usb-046d_HD_Pro_Webcam_C920_BD731F4F-02	module-alsa-card.c
1	alsa_card.usb-Sennheiser_Sennheiser_SP_30_A002340202303344-00	module-alsa-card.c

pulseaudio -vvv output is attached in pulseaudio-1.2.4.log.
pacmd ls output is attached in pacmd-ls-1.2.4.txt.

UCM file required for Multiple sound card scenario for Renoir APU

We recently upstreamed PDM Driver for Renoir APU.

Renoir APU platform has Onboard DMIC + Southbridge AZ (HD Audio Endpoint) support.
When External Mic connected, Device switching should happen from Internal DMIC to external Mic.

Need UCM file to support Multiple sound cards for Renoir APU.

Alsa info link: https://pastebin.ubuntu.com/p/4kprhDZYbg/

Created Ticket based on discussion on the below-mentioned thread.
https://www.alsa-project.org/pipermail/alsa-devel/2020-June/168527.html

Lenovo t14s amd only Dummy Device as output in pulseaudio

Hi,

since upgrading to alsa-ucm 1.2.4 I only have a "Dummy Device" instead of the internal speaker. When using alsa-ucm 1.2.3 all is fine. I'm not quite sure if this is a pulseaudio or alsa issue maybe you can guide me in the right direction

Output of lspci:

06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
	Subsystem: Lenovo Device 5082
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin B routed to IRQ 85
	Region 0: Memory at fd3c8000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable+ DSel=0 DScale=0 PME+
	Capabilities: [64] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 16GT/s (ok), Width x16 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee09000  Data: 4024
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Kernel driver in use: snd_hda_intel

I bisected the issue:

git bisect start
# good: [dbac4c3e7ad05b4eb17964688fd9f07c61b8d336] ucm2: fix more indentation issues
git bisect good dbac4c3e7ad05b4eb17964688fd9f07c61b8d336
# bad: [334b12e9a796cddf70779b68418ee7ad52ba1d14] sof-soundwire: use the codecs/hda/hdmi.conf macro
git bisect bad 334b12e9a796cddf70779b68418ee7ad52ba1d14
# bad: [8a9609cc694cb1de501a67d7c091edaa9a338932] cht-bsw-rt5672: Add Lenovo ThinkPad 10 specific configuration
git bisect bad 8a9609cc694cb1de501a67d7c091edaa9a338932
# good: [9f2dae6a560c60593c24aa4b85aed07418f9dd8e] sof-soundwire: initial UCM2 version
git bisect good 9f2dae6a560c60593c24aa4b85aed07418f9dd8e
# bad: [73c105b4707b601de63d1f24641e65e5ac23f3a6] DB820c/DB845c: move to Qualcomm/ tree
git bisect bad 73c105b4707b601de63d1f24641e65e5ac23f3a6
# good: [38e5906cd1b18b6f4df5a1d35ca535325e7b65a0] sof-hda-dsp: fix the device order (Hdmi devices)
git bisect good 38e5906cd1b18b6f4df5a1d35ca535325e7b65a0
# bad: [6b8518c431cac18a825bd7342875f54b44cb7afc] DAISY-I2S: move to Samsung/snow/snow.conf
git bisect bad 6b8518c431cac18a825bd7342875f54b44cb7afc
# bad: [dcef48f13d4f5db79b006755074940b94730a883] HDA-Intel: add support for AMD acp microphone devices
git bisect bad dcef48f13d4f5db79b006755074940b94730a883
# first bad commit: [dcef48f13d4f5db79b006755074940b94730a883] HDA-Intel: add support for AMD acp microphone devices

Intel SOF HDA: Lenovo m920sff support (Realtek ALC 233)

Description: An issue with the headphone detection (Speaker/Headphone auto-mute).

More info: thesofproject/linux#3088 and https://bugzilla.suse.com/show_bug.cgi?id=1188685

Mixer:

Simple mixer control 'Master',0
Simple mixer control 'Headphone',0       # Switch only
Simple mixer control 'Headphone+LO',0    # Volume only
Simple mixer control 'Speaker',0
Simple mixer control 'Front Mic',0
Simple mixer control 'Front Mic Boost',0
Simple mixer control 'Line Out',0        # Switch only
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958',1
Simple mixer control 'IEC958',2
Simple mixer control 'Capture',0
Simple mixer control 'Auto-Mute Mode',0
Simple mixer control 'Dmic0',0
Simple mixer control 'Dmic1 2nd',0
Simple mixer control 'Loopback Mixing',0
Simple mixer control 'PGA1.0 1 Master',0
Simple mixer control 'PGA2.0 2 Master',0
Simple mixer control 'PGA3.0 3 Master',0
Simple mixer control 'PGA4.0 4 Master',0
Simple mixer control 'PGA7.0 7 Master',0
Simple mixer control 'PGA8.0 8 Master',0
Simple mixer control 'PGA9.0 9 Master',0

Jacks:

name 'Mic Jack'
name 'Front Mic Jack'
name 'Line Out Jack'
name 'Front Headphone Jack'
name 'Speaker Phantom Jack'
name 'HDMI/DP,pcm=3 Jack'
name 'HDMI/DP,pcm=4 Jack'
name 'HDMI/DP,pcm=5 Jack'

UCM fails as CardDriver may not be defined

UCM doesn't load as CardDriver isn't set on some platforms

Changing https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/ucm.conf#L69 to Directory "${CardLongName}" resolves the issue

I: [pulseaudio] source.c: Created source 1 "alsa_input.platform-sound.analog-stereo" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     alsa.resolution_bits = "16"
I: [pulseaudio] source.c:     device.api = "alsa"
I: [pulseaudio] source.c:     device.class = "sound"
I: [pulseaudio] source.c:     alsa.class = "generic"
I: [pulseaudio] source.c:     alsa.subclass = "generic-mix"
I: [pulseaudio] source.c:     alsa.name = ""
I: [pulseaudio] source.c:     alsa.id = "ADMAIF1 CIF ADMAIF1-0"
I: [pulseaudio] source.c:     alsa.subdevice = "0"
I: [pulseaudio] source.c:     alsa.subdevice_name = "subdevice #0"
I: [pulseaudio] source.c:     alsa.device = "0"
I: [pulseaudio] source.c:     alsa.card = "1"
I: [pulseaudio] source.c:     alsa.card_name = "tegra-snd-t210ref-mobile-rt565x"
I: [pulseaudio] source.c:     alsa.long_card_name = "tegra-snd-t210ref-mobile-rt565x"
I: [pulseaudio] source.c:     device.bus_path = "platform-sound"
I: [pulseaudio] source.c:     sysfs.path = "/devices/sound/sound/card1"
I: [pulseaudio] source.c:     device.form_factor = "internal"
I: [pulseaudio] source.c:     device.string = "front:1"
I: [pulseaudio] source.c:     device.buffering.buffer_size = "32768"
I: [pulseaudio] source.c:     device.buffering.fragment_size = "16384"
I: [pulseaudio] source.c:     device.access_mode = "mmap+timer"
I: [pulseaudio] source.c:     device.profile.name = "analog-stereo"
I: [pulseaudio] source.c:     device.profile.description = "Analog Stereo"
I: [pulseaudio] source.c:     device.description = "Built-in Audio Analog Stereo"
I: [pulseaudio] source.c:     module-udev-detect.discovered = "1"
I: [pulseaudio] source.c:     device.icon_name = "audio-card"

UCM can't match the USB device ID in Ubuntu 20.04

We created the UCM2 conf files and used the 'components' string to match the right UCM config.
Unfortunately, the system can't apply the right UCM config.

The test files and alsa-lib version shows below.
USB-Audio.conf
perexg@e3517b1
Dell-Desktop UCM2 files
shumingfan@16dce69
$ alsaucm --version
alsaucm: version 1.2.2

Is it possible to resolve this problem when using alsa-lib-1.2.2?

Support for TC-Helicon GoXLR

Hi,

I’m the owner of a GoXLR : https://www.tc-helicon.com/product.html?modelCode=P0CQK . It is a usb sound mixer that is not supported officially with Linux. The main issue is that the GoXLR is a multi inputs / multi outputs device, but it is not seen as one. It works great under Windows thanks to a driver. With Linux, it is seen as a single usb sound device with a single multichannel output. Right now, I managed with other people to separate those channels with pulseaudio or jack or even pipewire, using loopback modules for example. For exemple, Front Left and Front Right are the stereo output named "System". Rear left and rear right are another stereo output named "Game". There are other outputs, and it is the same mechanism for the inputs.

I opened an issue on pipewire, but someone told me it wasn’t possible to separate the in/outputs with a profile : https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1787 .

I then wondered if it was possible with a kernel quirk, which I asked : https://bugzilla.kernel.org/show_bug.cgi?id=215035 .

I was adviced to open a ticket here. So here I am. Do you think it would be possible to create a profile for my device ?

alsa-info.txt
pipewire.conf.txt

ALC1220 Broken Front Panel

Since upgrading from v1.2.4 -> v1.2.5.1, I can no longer get any input/output from my front-panel.

I've bisected the issue to 5947dae. Reverting fixes it, but this may break other cards.

The hardware is an "AX370-Gaming K7", with a ALC1220 chip.

alsa-info Before revert

alsainfo_before.txt

alsa-info After revert

alsainfo_after.txt

Relevant dmesg output:
[   11.455796] snd_hda_intel 0000:0b:00.3: enabling device (0000 -> 0002)
[   11.532977] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC1220: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[   11.532980] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.532981] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.532982] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[   11.532983] snd_hda_codec_realtek hdaudioC1D0:    dig-out=0x1e/0x0
[   11.532984] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[   11.532985] snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18
[   11.532986] snd_hda_codec_realtek hdaudioC1D0:      Line=0x1a
[   11.543432] snd_hda_codec_realtek hdaudioC1D1: autoconfig for ALC1220: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:hp
[   11.543434] snd_hda_codec_realtek hdaudioC1D1:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.543435] snd_hda_codec_realtek hdaudioC1D1:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   11.543436] snd_hda_codec_realtek hdaudioC1D1:    mono: mono_out=0x0
[   11.543436] snd_hda_codec_realtek hdaudioC1D1:    inputs:
[   11.543437] snd_hda_codec_realtek hdaudioC1D1:      Front Mic=0x1a
[   11.548516] input: HD-Audio Generic Rear Mic as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input19
[   11.548554] input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input20
[   11.548583] input: HD-Audio Generic Line Out Front as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input21
[   11.548613] input: HD-Audio Generic Line Out Surround as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input22
[   11.548641] input: HD-Audio Generic Line Out CLFE as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input23
[   11.548669] input: HD-Audio Generic Front Mic as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input24
[   11.548695] input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/sound/card1/input25

pavucontrol Before revert (doesn't work):

ssbad

pavucontrol After revert (works):

Appears the same as it did on v1.2.4:
ssgood

Bass speaker is off on yoga slim 7i 15 (Yoga Slim 7-15ITL05)

Alsainfo: http://alsa-project.org/db/?f=673e04313fa931831176ed3f50a9af1c9206395e

I tested with fedora 33, 34 and Ubuntu 21.04. Only the high frequency speakers at the laptop bottom are working, while the speakers above the keyboard are off. Here is a link to the laptop https://www.lenovo.com/de/de/laptops/yoga/yoga-slim-series/Yoga-Slim-7-15IIL05/p/88YGS701403

In Microsoft Windows 10 everything is fine.

In Ubuntu 21.04 i can at least change the bass speaker volume in alsamixer, but it is changing hardware master volume instead of hardware bass speaker volume.

In Feodra 33 and 34 i can not even change the bass speaker volume in alsamixer
audiobug

You can immiediatly hear, that the bass speaker above the keyboard is off
audio.zip

There are related bugs for ALC287
The same bug on other yoga laptops https://bugzilla.kernel.org/show_bug.cgi?id=205755
Patches for the issue on other yoga Laptops https://patchwork.kernel.org/project/alsa-devel/patch/[email protected]/

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.

Low volume with chtmax98090 (Toshiba Chromebook 2/Swanky)

It looks like the UCM configuration for this board is the Chromebook Asus C300 one, but the volume levels set by default are far too low. It looks like when Pulseaudio loads on my system, it follows the initialization steps and results in a really low volume, as the Speaker is set to 27/100 and one must manually set the alsamixer levels to fix it. I could have a periodic task reload the volume state, but I find it better to override the UCM configuration manually and tell my package manager to ignore changes to that file during upgrade.

FWIW, my fix is to modify ucm2/codecs/max98090/EnableSeq.conf and change

	cset "name='Headphone Volume' 10"
	cset "name='Speaker Volume' 10"

to

	cset "name='Headphone Volume' 80%"
	cset "name='Speaker Volume' 80%"

Naturally, this is a bit of a nasty solution. It'd be nice to have an upstream fix in case other stuff is changed for this.

bytcr-rt5640 initiializes but has wrong settings

My device is Elitepad 1000 G2.
The headphone and the mic inside cannot work.
However, The speaker works properly.
The mic IN1 is the headphone mic insted of the mic inside.
I think that it may be because the audio was ported to the wrong place.
Sorry for my bad English :D

No support for Kaby Lake DA7219 (on Chromebooks)

I'm sorry if this is the wrong page and the bug tracking mailing list would be better, or if this is the wrong part of the ALSA project, however this seems indeed related to ALSA UCM configuration. The original issue is here, however OP and developers did not seem to care or know what to do, so I wondered whether a fixed version of this could be put into the standard ALSA configuration. The support in the kernel seems to be there, at least theoretically. The firmware might be adopted into alsa-firmware, if it is actually needed.

alsa-ucm-conf 1.2.5 broke front headphone output on pipewire-pulse

After upgrade to 1.2.5, front headphone output isn't working.
In GNOME Settings, when I select front headphone output and click "Test", it shows a dialog with text "Click a speaker to test", but there are no buttons to click.

systemctl --user status pipewire shows this:

Jun 06 04:40:30 trx40 systemd[2732]: Started Multimedia Service.
Jun 06 04:40:41 trx40 pipewire[44766]: '_ucm0005.hw:ALC1220VBDT,2': playback open failed: No such device
Jun 06 04:40:41 trx40 pipewire[44766]: adapter 0x559741478670: can't get format: No such device
Jun 06 04:40:41 trx40 pipewire[44766]: usage: node.name=<string>
Jun 06 04:40:41 trx40 pipewire[44766]: '_ucm0005.hw:ALC1220VBDT,1': playback open failed: No such device
Jun 06 04:40:41 trx40 pipewire[44766]: adapter 0x559741530560: can't get format: No such device
Jun 06 04:40:41 trx40 pipewire[44766]: usage: node.name=<string>

Downgrading alsa-ucm-conf to 1.2.4 fixes the issue

Tried pipewire 0.3.29 and pipewire git master
Though with pulseaudio 14.2 the output works
Motherboard: ASUS ROG Strix TRX40-E

With alsa-ucm-conf 1.2.4 - output working:
alsa-info.sh output: alsa-info-good.txt
pw-dump output: pw-dump-good.txt

With alsa-ucm-conf 1.2.5 - output not working:
alsa-info.sh output: alsa-info-bad.txt
pw-dump output: pw-dump-bad.txt

UCM2 documentation

Add/improve the documentation for

  • directory tree layout
  • build-in string substitutions
  • runtime conditional configuration selection
  • mixer settings (boot -> use -> verb -> device)

UCM fails if driver built into kernel

Since class/sound/card${CardNumber}/device/driver/module does not exist if the module is built-in, ${sys:$KernelModulePath} is left undefined.
This is caused by b353145. The fallback suggested in alsa-project/alsa-lib#79 works for at least my bdw-rt5677.
Is there a more general solution here? Maybe .../device/modalias?

update to 1.2.4 is missing a sink ALC1220Dual

I run archlinux, recently alsa-ucm-conf was upgraded to 1.2.4-1 then 1.2.4-2, both of these have the same issue, they are missing a sink:

default.pa

❯ cat /etc/pulse/default.pa 
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.fail

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties

### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

### Load several protocols
load-module module-dbus-protocol
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GSettings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gsettings.so
.nofail
load-module module-gsettings
.fail
.endif


### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
# load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

### Make some devices default
#set-default-sink output
#set-default-source input
load-module module-alsa-sink device=hw:1,4

# set the default card
# set-card-profile alsa_card.pci-0000_12_00.3 

1.2.4-2 output:


~
❯ aplay -lL                                           
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA ATI HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA ATI HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA ATI HDMI, HDMI 4
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
    HDA ATI HDMI, HDMI 5
    HDMI Audio Output
usbstream:CARD=HDMI
    HDA ATI HDMI
    USB Stream Output
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1220 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    Front output / input
surround21:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Generic
    HD-Audio Generic
    USB Stream Output
usbstream:CARD=Talk
    KLIM Talk
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 4: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

~
❯ pacmd list-sinks         
2 sink(s) available.
    index: 0
	name: <alsa_output.pci-0000_0a_00.1.hdmi-stereo-extra4>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9030
	volume: front-left: 65066 /  99% / -0.19 dB,   front-right: 65066 /  99% / -0.19 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 1
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
	card: 1 <alsa_card.pci-0000_0a_00.1>
	module: 7
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 4"
		alsa.id = "HDMI 4"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "10"
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfcba0000 irq 110"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:0a:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "ab38"
		device.product.name = "Navi 10 HDMI Audio"
		device.string = "hdmi:0,4"
		device.buffering.buffer_size = "352768"
		device.buffering.fragment_size = "176384"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo-extra4"
		device.profile.description = "Digital Stereo (HDMI 5)"
		device.description = "Navi 10 HDMI Audio Digital Stereo (HDMI 5)"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "ROG PG348Q"
	active port: <hdmi-output-4>
  * index: 1
	name: <alsa_output.hw_1_4>
	driver: <module-alsa-sink.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY 
	state: RUNNING
	suspend cause: (none)
	priority: 9030
	volume: front-left: 64224 /  98% / -0.53 dB,   front-right: 64224 /  98% / -0.53 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 100.87 ms
	max request: 17 KiB
	max rewind: 17 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	fixed latency: 100.14 ms
	module: 25
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC1220 Analog"
		alsa.id = "ALC1220 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "4"
		alsa.card = "1"
		alsa.card_name = "HD-Audio Generic"
		alsa.long_card_name = "HDAudio-Gigabyte-ALC1220DualCodecs"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:0c:00.4"
		sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4/sound/card1"
		device.bus = "pci"
		device.vendor.id = "1022"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
		device.product.id = "1487"
		device.product.name = "Starship/Matisse HD Audio Controller"
		device.string = "hw:1,4"
		device.buffering.buffer_size = "17664"
		device.buffering.fragment_size = "2944"
		device.access_mode = "mmap"
		device.description = "Starship/Matisse HD Audio Controller"
		device.icon_name = "audio-card-pci"

1.2.3 output

~
❯ aplay -lL    
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA ATI HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA ATI HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA ATI HDMI, HDMI 4
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
    HDA ATI HDMI, HDMI 5
    HDMI Audio Output
usbstream:CARD=HDMI
    HDA ATI HDMI
    USB Stream Output
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1220 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    Front output / input
surround21:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Generic
    HD-Audio Generic
    USB Stream Output
usbstream:CARD=Talk
    KLIM Talk
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 4: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

~
❯ pacmd list-sinks
3 sink(s) available.
    index: 0
	name: <alsa_output.pci-0000_0a_00.1.hdmi-stereo-extra4>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9030
	volume: front-left: 61789 /  94% / -1.53 dB,   front-right: 61789 /  94% / -1.53 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 1
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
	card: 1 <alsa_card.pci-0000_0a_00.1>
	module: 7
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 4"
		alsa.id = "HDMI 4"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "10"
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfcba0000 irq 110"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:0a:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "ab38"
		device.product.name = "Navi 10 HDMI Audio"
		device.string = "hdmi:0,4"
		device.buffering.buffer_size = "352768"
		device.buffering.fragment_size = "176384"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo-extra4"
		device.profile.description = "Digital Stereo (HDMI 5)"
		device.description = "Navi 10 HDMI Audio Digital Stereo (HDMI 5)"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "ROG PG348Q"
	active port: <hdmi-output-4>
    index: 1
	name: <alsa_output.pci-0000_0c_00.4.HiFi__hw_Generic_4__sink>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY 
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9033
	volume: front-left: 65262 / 100% / -0.11 dB,   front-right: 65262 / 100% / -0.11 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	fixed latency: 100.14 ms
	card: 2 <alsa_card.pci-0000_0c_00.4>
	module: 8
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC1220 Analog"
		alsa.id = "ALC1220 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "4"
		alsa.card = "1"
		alsa.card_name = "HD-Audio Generic"
		alsa.long_card_name = "HDAudio-Gigabyte-ALC1220DualCodecs"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:0c:00.4"
		sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4/sound/card1"
		device.bus = "pci"
		device.vendor.id = "1022"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
		device.product.id = "1487"
		device.product.name = "Starship/Matisse HD Audio Controller"
		device.string = "hw:Generic,4"
		device.buffering.buffer_size = "17664"
		device.buffering.fragment_size = "2944"
		device.access_mode = "mmap"
		device.profile.name = "HiFi: hw:Generic,4: sink"
		device.profile.description = "Headphones + Speaker"
		alsa.mixer_device = "hw:Generic"
		device.description = "Starship/Matisse HD Audio Controller Headphones + Speaker"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		[Out] Headphones: Headphones (priority 300, latency offset 0 usec, available: no)
			properties:
				
		[Out] Speaker: Speaker (priority 100, latency offset 0 usec, available: unknown)
			properties:
				
	active port: <[Out] Speaker>
  * index: 2
	name: <alsa_output.pci-0000_0c_00.4.HiFi__hw_Generic__sink>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY 
	state: RUNNING
	suspend cause: (none)
	priority: 9032
	volume: front-left: 55056 /  84% / -4.54 dB,   front-right: 55056 /  84% / -4.54 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 100.85 ms
	max request: 17 KiB
	max rewind: 17 KiB
	monitor source: 3
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	fixed latency: 100.14 ms
	card: 2 <alsa_card.pci-0000_0c_00.4>
	module: 8
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC1220 Analog"
		alsa.id = "ALC1220 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "1"
		alsa.card_name = "HD-Audio Generic"
		alsa.long_card_name = "HDAudio-Gigabyte-ALC1220DualCodecs"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:0c:00.4"
		sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4/sound/card1"
		device.bus = "pci"
		device.vendor.id = "1022"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
		device.product.id = "1487"
		device.product.name = "Starship/Matisse HD Audio Controller"
		device.string = "hw:Generic"
		device.buffering.buffer_size = "17664"
		device.buffering.fragment_size = "2944"
		device.access_mode = "mmap"
		device.profile.name = "HiFi: hw:Generic: sink"
		device.profile.description = "Line Out"
		alsa.mixer_device = "hw:Generic"
		device.description = "Starship/Matisse HD Audio Controller Line Out"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		[Out] Line1: Line Out (priority 200, latency offset 0 usec, available: unknown)
			properties:
				
	active port: <[Out] Line1>

notice the "Line Out" sink is missing in 1.2.4

[regression] Intel HDA: No microphone input since v1.2.6

I recently updated Alsa to v1.2.6 from v1.2.5.1 which caused my microphone input to disappear in GNOME sound settings.

I followed this guide https://fedoraproject.org/wiki/How_to_debug_PulseAudio_problems and I spotted this error in pulseaudio -vvvvv output:

I: [pulseaudio] (alsa-lib)utils.c: could not open configuration file /usr/share/alsa/ucm2/sof-hda-dsp/Hdmi.conf
I: [pulseaudio] (alsa-lib)parser.c: error: failed to open file /usr/share/alsa/ucm2/sof-hda-dsp/Hdmi.conf: -2
I: [pulseaudio] (alsa-lib)main.c: error: failed to import hw:0 use case configuration -2
I: [pulseaudio] (alsa-lib)utils.c: could not open configuration file /usr/share/alsa/ucm2/sof-hda-dsp/Hdmi.conf
I: [pulseaudio] (alsa-lib)parser.c: error: failed to open file /usr/share/alsa/ucm2/sof-hda-dsp/Hdmi.conf: -2
I: [pulseaudio] (alsa-lib)main.c: error: failed to import sof-hda-dsp use case configuration -2
I: [pulseaudio] alsa-ucm.c: UCM not available for card sof-hda-dsp

So I did the follown fix:

diff --git a/ucm2/Intel/sof-hda-dsp/HiFi.conf b/ucm2/Intel/sof-hda-dsp/HiFi.conf
index fb9b1ca..713fdd9 100644
--- a/ucm2/Intel/sof-hda-dsp/HiFi.conf
+++ b/ucm2/Intel/sof-hda-dsp/HiFi.conf
@@ -48,4 +48,4 @@ If.dmic {
        }
 }
 
-Include.hdmi.File "/sof-hda-dsp/Hdmi.conf"
+Include.hdmi.File "/Intel/sof-hda-dsp/Hdmi.conf"

I guess that this commit f7a898e should have included this change.


Note: I also had to update alsa-lib from v1.2.6 to v1.2.6.1 otherwise I was getting the following error:

I: [pulseaudio] (alsa-lib)pcm_hw.c: Invalid type for subdevice
I: [pulseaudio] alsa-util.c: Error opening PCM device _ucm0001.hw:sofhdadsp,5: Nepřípustný argument
D: [pulseaudio] alsa-mixer.c: Profile set 0x55dfc06abba0, auto_profiles=no, probed=yes, n_mappings=0, n_profiles=0, n_decibel_fixes=0
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.

Maybe it has something to do with alsa-project/alsa-lib#199 .

Now, my microphone works again.

alsaucm could not open configuration

When I run alsaucm listcards on my system I get:

ALSA lib utils.c:261:(uc_mgr_config_load) could not open configuration file /usr/share/alsa/ucm2/HDA-Intel/HDA-Intel.conf  
alsaucm: error failed to get card list: No such file or directory

happ
My audio card is a HDA Intel PCH

No audio from Starship/Matisse HD Audio Controller

I have an AMD ryzen 3900X paired with a Gigabyte AX370-Gaming 5 motherboard. I use arch linux. Upon upgrading the package alsa-ucm-conf from version 1.2.6.1-1 to 1.2.6.2-2 and rebooting, my onboard audio stops working completely. Downgrading restores functionality after another reboot. In pavucontrol, for 1.2.6.1-1 there are many available profiles, but for 1.2.6.2-2 there is only one, which says unavailable. I also use pipewire rather than pulseaudio if that makes a difference

Release tarballs ship other version, break build scripts

Hi! I package this for Arch Linux.

The release tarballs on the ALSA website ship the 1.2.5 data in a directory with a differing version number:

alsa-ucm-conf-1.2.4.81.g4884e/

This breaks build system assumptions about the contents of these tarballs. Please provide the data in directories that match the release version.

Creating UCM2 profiles for devices to split multichannel streams

Hey. Apologies for this question-issue, but I wasn't sure where to ask and figured it was better to do it here in public (so that others may benefit from the discussion) than ask by email or something.

I randomly stumbled upon #121 which is about creating a UCM2 profile for the TC-Helicon GoXLR device to split some multichannel streams to better match the physical layout of the device.

I had no idea this was possible with UCM2 (in fact I looked at UCM2 for this a few months ago and got the impression that it was not possible), and would be interested in creating a similar profile for my device, a Behringer UMC204HD. This device has a similar problem of reporting a stereo input stream when the physical layout is two mono inputs, and a 4-channel output stream when the physical layout is two stereo outputs. Thus far I've been using PulseAudio/PipeWire remappings to get around the issue, but a UCM2 profile would be a far superior solution, if indeed it is possible.

So, my questions are:

  • Is being able to split streams like this a new feature of ALSA/UCM2? How do I know if my system (Fedora 34) supports this feature?
  • Is there documentation somewhere to get me started with writing a config for my device? I have no idea what half the stuff in 97beee6 means so I'm expecting to fall into some pits during the process ;)

only have sound after mute and unmute and set volume in alsamixer

I have a x86 thinclient with debian bullseye installed. It has no sound in my headphone after boot, but I open alsamixer and then:
1, press M to mute the master
2, press M again to unmute the master
3, change the master volume from 100 to 99
After the above three steps I can hear the sound from my headphone.
Here is the alsainfo before and after the three steps:
alsa-info_nosound.txt
alsa-info_sound.txt

I can see the difference in "Amp-Out vals".

alsa-ucm.c: UCM not available for card sof-bytcr-rt5640

( 30.692| 0.006) I: [pulseaudio] (alsa-lib)main.c: error: failed to import hw:0 use case configuration -2
( 30.693| 0.000) I: [pulseaudio] (alsa-lib)main.c: error: failed to import sof-bytcr-rt5640 use case configuration -2
( 30.693| 0.000) I: [pulseaudio] alsa-ucm.c: UCM not available for card sof-bytcr-rt5640

UCM profile for the Chromebook Yoga C630. Please add.

Here is the HiFi.conf file contents:

SectionVerb {
Value {
OutputDspName "speaker_eq"
FullySpecifiedUCM "1"
}
EnableSequence [
cdev "hw:kblda7219max"

cset "name='codec1_out mo media0_in mi Switch' off"
cset "name='codec0_out mo media0_in mi Switch' off"
cset "name='Playback Digital Volume' 111"
cset "name='Playback Digital Switch' 1"
cset "name='Out DACL Mux' DAIL"
cset "name='Out DACR Mux' DAIR"
cset "name='Mixer Out FilterL DACL Switch' 1"
cset "name='Mixer Out FilterR DACR Switch' 1"
cset "name='ST Mixer Out FilterL Out FilterL Switch' 1"
cset "name='ST Mixer Out FilterR Out FilterR Switch' 1"
cset "name='Headphone Jack Switch' off"
cset "name='Headset Mic Switch' off"
cset "name='Mic Volume' 5"
cset "name='Capture Digital Volume' 111"
cset "name='Capture Digital Switch' 1"
cset "name='Mixin Volume' 10"
cset "name='Mixin Switch' 1"
cset "name='Mixer In Mic Switch' 1"
cset "name='Out DAIL Mux' ADC"
cset "name='Out DAIR Mux' ADC"
cset "name='media0_out mo codec0_in mi Switch' off"
cset "name='media0_out mo dmic01_hifi_in mi Switch' off"
cset "name='Pin5-Port0 Mux' 1"
cset "name='Pin6-Port0 Mux' 2"
cset "name='Pin7-Port0 Mux' 3"
cset "name='Gain Ramp Rate' 1"
]
DisableSequence [
]
}

SectionDevice."Speaker".0 {
Value {
PlaybackPCM "hw:kblda7219max,0"
}
EnableSequence [
cdev "hw:kblda7219max"
cset "name='codec0_out mo media0_in mi Switch' on"
cset "name='Spk Switch' on"
]
DisableSequence [
cdev "hw:kblda7219max"
cset "name='codec0_out mo media0_in mi Switch' off"
cset "name='Spk Switch' off"
]
}

SectionDevice."Headphone".0 {
Value {
PlaybackPCM "hw:kblda7219max,0"
MixerName "Headphone"
JackName "kblda7219max Headset Jack"
JackType "gpio"
JackSwitch "2"
OutputDspName ""
}
EnableSequence [
cdev "hw:kblda7219max"
cset "name='codec1_out mo media0_in mi Switch' on"
cset "name='Headphone Jack Switch' on"
cset "name='Headphone Switch' 1"
]
DisableSequence [
cdev "hw:kblda7219max"
cset "name='codec1_out mo media0_in mi Switch' off"
cset "name='Headphone Jack Switch' off"
cset "name='Headphone Switch' 0"
]
}

SectionDevice."Line Out".0 {
Value {
PlaybackPCM "hw:kblda7219max,0"
MixerName "Headphone"
JackName "kblda7219max Headset Jack"
JackType "gpio"
JackSwitch "6"
OutputDspName ""
}
EnableSequence [
cdev "hw:kblda7219max"
cset "name='codec1_out mo media0_in mi Switch' on"
cset "name='Headphone Jack Switch' on"
cset "name='Headphone Switch' 1"
]
DisableSequence [
cdev "hw:kblda7219max"
cset "name='codec1_out mo media0_in mi Switch' off"
cset "name='Headphone Jack Switch' off"
cset "name='Headphone Switch' 0"
]
}

SectionDevice."Internal Mic".0 {
Value {
CapturePCM "hw:kblda7219max,3"
CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1"
MaxSoftwareGain "2000"
}
EnableSequence [
cdev "hw:kblda7219max"
cset "name='media0_out mo dmic01_hifi_in mi Switch' on"
]
DisableSequence [
cdev "hw:kblda7219max"
cset "name='media0_out mo dmic01_hifi_in mi Switch' off"
]
}

SectionDevice."Mic".0 {
Value {
CapturePCM "hw:kblda7219max,1"
MixerName "Headset Mic"
JackName "kblda7219max Headset Jack"
JackType "gpio"
}
EnableSequence [
cdev "hw:kblda7219max"
cset "name='Headset Mic Switch' on"
cset "name='media0_out mo codec0_in mi Switch' on"
cset "name='Mic Switch' on"
]
DisableSequence [
cdev "hw:kblda7219max"
cset "name='Headset Mic Switch' off"
cset "name='media0_out mo codec0_in mi Switch' off"
cset "name='Mic Switch' off"
]
}

SectionDevice."HDMI1".0 {
Value {
PlaybackPCM "hw:kblda7219max,4"
JackName "kblda7219max HDMI/DP, pcm=4 Jack"
JackType "gpio"
OutputDspName ""
}
EnableSequence [
]
DisableSequence [
]
}

SectionDevice."HDMI2".0 {
Value {
PlaybackPCM "hw:kblda7219max,5"
JackName "kblda7219max HDMI/DP, pcm=5 Jack"
JackType "gpio"
OutputDspName ""
}
EnableSequence [
]
DisableSequence [
]
}

SectionDevice."HDMI3".0 {
Value {
PlaybackPCM "hw:kblda7219max,6"
JackName "kblda7219max HDMI/DP, pcm=6 Jack"
JackType "gpio"
OutputDspName ""
}
EnableSequence [
]
DisableSequence [
]
}

kbl-r5514-5663-max Headphone does not work

On a Pixelbook I have copied these firmware files in place:

  • /opt/google/dsm/dsmparam.bin
  • /lib/firmware/9d71-GOOGLE-EVEMAX-0-tplg.bin
  • /lib/firmware/dsp_lib_dsm_core_spt_release.bin
  • /lib/firmware/intel/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin

With that alone the speakers started working after a reboot.

I have been trying to modify the ucm HiFi.conf to ucm2 on Fedora. If I comment out all of SectionDevice."Headphones" the speakers and internal microphone work. If I leave it I see a bunch of error messages in dmesg. Pulseaudio also produces some error messages and then just loads a dummy device.

dmesg:

[ 7866.107942]  Kbl Audio Headset Playback: ASoC: no backend DAIs enabled for Kbl Audio Headset Playback
[ 7866.107950]  Kbl Audio Headset Playback: ASoC: dpcm_fe_dai_prepare() failed (-22)

pulseaudio:

D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 21845 ms
I: [pulseaudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_PREPARE failed (-22)
I: [pulseaudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_PREPARE failed (-22)
I: [pulseaudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_PREPARE failed (-22)
I: [pulseaudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_PREPARE failed (-22)
D: [pulseaudio] alsa-util.c: Set neither period nor buffer size.
I: [pulseaudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_PREPARE failed (-22)
I: [pulseaudio] alsa-util.c: snd_pcm_hw_params failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:_ucm0006.hw:kblr55145663max,2 with SND_PCM_NO_AUTO_FORMAT ...
I: [pulseaudio] (alsa-lib)conf.c: Unknown parameter 1
I: [pulseaudio] (alsa-lib)conf.c: Parse arguments error: No such file or directory
I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM plug:_ucm0006.hw:kblr55145663max,2
I: [pulseaudio] alsa-util.c: Error opening PCM device plug:_ucm0006.hw:kblr55145663max,2: No such file or directory
D: [pulseaudio] alsa-mixer.c: Profile set 0x555cededf730, auto_profiles=no, probed=yes, n_mappings=0, n_profiles=0, n_decibel_fixes=0
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-kbl_r5514_5663_max" card_name="alsa_card.platform-kbl_r5514_5663_max" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/platform/kbl_r5514_5663_max/sound/card0 (alsa_card.platform-kbl_r5514_5663_max) failed to load module.

From reading I gather there's probably some routing incorrectly or incompletely set up that is the cause, but I'm at a bit of a loss on where to go from here.

I saw a suggestion somewhere to set this module option, but as far as I can tell it makes no difference:

cat /etc/modprobe.d/dsp.conf 
options snd_intel_dspcfg dsp_driver=2

Not really an alsa / ucm problem as far as I am aware but in the interest of giving as much info as possible I originally switched to pulseaudio because I had an easier time finding meaningful logs. I switched back to pipewire later to realize the mic is just producing awful noise so I went back to pulseaudio for the time being. Might need to file a pipewire bug later.

The HiFi.conf and alsa-info are attached.

alsa-info.txt
Hifi.conf.txt

ALC1220 and presence of ucm2/ucm.conf breaks audio

I'd want to make a better report but I am not an ALSA expert, so the issue is that after update I lose any sound and I use ALC1220 codec on MSI MEG X570 GODLIKE motherboard.

Deep googling gave me the report: https://bugs.archlinux.org/task/67058
So indeed deletion of the file helped immediately.
The bug is super confusing because it looks like the device is present at alsa level but absent on Pulse Audio and it is not shown in GUI at all.

I am at alsa-ucm-conf-1.2.4, linux-5.11.11, pulseaudio 13.0, gentoo.

HP Spectre X360 fails to find soundcard

HP Spectre x360 Convertible 13t-aw200

Vanilla kernel 5.16.2
alsa-ucm-conf-1.2.6.3
alsa-lib-1.2.6.1
alsa-utils-1.2.6
pulseaudio-15.0

pulseverbose.log

A combination of these commands plays noise successfully:
alsaucm -c sof-soundwire set _verb HiFi set _enadev Speaker
speaker-test -Dhw:0,2 -c2 -r48000

$ aplay -Ll
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
sysdefault:CARD=sofsoundwire
sof-soundwire,
Default Audio Device
usbstream:CARD=sofsoundwire
sof-soundwire
USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Headphone () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 2: SDW1-speakers (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 5: HDMI1 () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 6: HDMI2 (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 7: HDMI3 () []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 8: HDMI4 (
) []
Subdevices: 1/1
Subdevice #0: subdevice #0

ucm2:sof-soundwire: Add Support For Dell Privacy Mic Mute LED Control

Dell is going to add internal microphone mute led control for Dell privacy system,
which has hardware level protection for audio privacy, when mic mute
state is changed, the ucm2 will help to switch the Mic Mute LED state.

This solution has been discussed by this FR.
thesofproject/linux#2496

This system EC which support audio privacy needs get ACK event when the LED state need to change.
I add one new mixer for RT715 (local mics) to switch the mic mute led state
So the UCM2 will help to call the mixer to notify the LED state is changed.
The led trigger driver will emit the notification to EC through the LED driver.
Then LED state controlled by the EC will be changed accordingly.

thinkpad t14s amd: unable to control built-in mic and headphones mic independently

I did some investigation on a pulseaudio bug report, and found that the UCM configuration for the internal mic and headset mic both use "Capture" as the CaptureMixerElem. This means that muting one device mutes also the other (and I guess volume control is shared too). In amixer output I don't see a separate control for the headset mic, but for the internal mic volume I guess "Digital" can be used (there's no switch, though).

So it seems that these changes are needed:

  • don't set CaptureMixerElem, CaptureSwitch or CaptureVolume for the headset mic
  • set the internal mic CaptureMixerElem and CaptureVolume to Digital
  • you may want to also set CaptureMasterElem for both both mics to Capture

ThinkPad T14 AMD microphone LED always ON

I'm running Arch Linux with alsa-ucm-conf 1.2.5.1. This problem was present in previous versions and it's being discussed on a forum thread among other things.

So the problem is that microphone LED is always ON but mute/unmute behaviour still works.

Surround sound

Is there a way to enable surround sound?? My laptop is a HP Envy13 so it has 4 speakers. Tried using the pulse/daemon.conf to no avail.

Assertion 'jack' failed at modules/alsa/alsa-ucm.c:2158

Hi, I have the following hardware:

~> cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf7080000 irq 90
1 [Generic ]: HDA-Intel - HD-Audio Generic
HDAudio-Gigabyte-ALC1220DualCodecs

and I'm running:

~> cat /etc/os-release
NAME="openSUSE Tumbleweed"
VERSION="20200228"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20200228"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20200228"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
LOGO="distributor-logo"

Audio was working until a recent update. Now, I have no audio and when starting PulseAudio, I get:

~> pulseaudio
W: [pulseaudio] pid.c: Stale PID file, overwriting.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic1, assuming stereo duplex.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic2, assuming stereo duplex.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Line2, assuming stereo duplex.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones, assuming stereo duplex.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Line1, assuming stereo duplex.
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: Assertion 'jack' failed at modules/alsa/alsa-ucm.c:2158, function device_add_hw_mute_jack(). Aborting.
Aborted (core dumped)

I tracked it down to /usr/share/alsa/ucm2/HDA-Intel/HiFi-dual.conf. If I revert the two commits here (https://github.com/alsa-project/alsa-ucm-conf/commits/master/ucm2/HDA-Intel/HiFi-dual.conf) and then use the version of HiFi-dual.conf before it was moved, then PulseAudio starts normally and I have sound.

ucm2: sof-hda-dsp: DMICS may not be present

UCM files assume that when SOF is used, the number of DMICs is between 1 and 4.

That's an invalid assumption in the following two cases:
a) the user plays with kernel parameters to select SOF on a platform without DMIC
options snd_intel_dspcfg dsp_driver=3
b) the user plays with kernel parameters to work-around invalid dmic information, e.g. for UpExtreme the NHLT information reports 4 microphones but none are attached to the connector by default
options snd_sof_intel_hda_common dmic_num=0

In those two cases, the only solution is to comment out the entire 'Mic1' section in ucm2/sof-hda-dsp/HiFi.conf. It'd be nicer to detect this case with the component information

The machine driver currently only provides the cfg-dmics component string when the real or overridden number of dmics is > 0.
The component string is as follows

amixer -Dhw:0 info
Card hw:0 'sofhdadsp'/'AAEON-UP_WHL01-V1.0'
  Mixer name	: 'Realtek ALC892'
  Components	: 'HDA:8086280b,80860101,00100000 HDA:10ec0892,160d0892,00100302'
  Controls      : 40
  Simple ctrls  : 15

Reported by @worldgeek and confirmed on my platform.

@perexg @kv2019i @libinyang FYI

1.2.5 now prefixing devices with "_ucm0001."

I'm using a ucm2 config that is not yet upstream (see [1]), and 1e6297b has caused devices to get renamed; they are now prefixed with _ucm0001.:

alsaucm json output from 1.2.4:

...
  "Verbs": {
    "HiFi": {
      "Comment": "Default",
      "Devices": {
        "Handset": {
          "Comment": "Handset",
          "ConflictingDevices": [
            "Speaker",
            "Headphones"
          ],
          "Values": {
            "CaptureCTL": "hw:L5",
            "PlaybackCTL": "hw:L5",
            "PlaybackChannels": "2",
            "PlaybackPCM": "hw:L5,0",
            "PlaybackPriority": "100",
            "PlaybackSwitch": "name='Speaker Switch'",
            "PlaybackVolume": "name='Speaker Volume'"
          }
        },
...

alsaucm json output from 1.2.5:

...
  "Verbs": {
    "HiFi": {
      "Comment": "Default",
      "Devices": {
        "Handset": {
          "Comment": "Handset",
          "ConflictingDevices": [
            "Speaker",
            "Headphones"
          ],
          "Values": {
            "CaptureCTL": "_ucm0001.hw:L5",
            "PlaybackCTL": "_ucm0001.hw:L5",
            "PlaybackChannels": "2",
            "PlaybackPCM": "_ucm0001.hw:L5,0",
            "PlaybackPriority": "100",
            "PlaybackSwitch": "name='Speaker Switch'",
            "PlaybackVolume": "name='Speaker Volume'"
          }
        },
...

This breaks things like pulseaudio config that expects specific device names. Was this renaming intentional?

cc @agx

  1. https://source.puri.sm/Librem5/librem5-base/-/tree/pureos/byzantium/default/audio/ucm2/Librem_5

No sound after upgrade from 1.2.3 to 1.2.4 (Xiaomi Redmibook 16 II Ryzen Edition)

Hello.
Yesterday I have upgraded Arch Linux on my laptop with pacman -Syu and after reboot I've had no sound from built-in speakers. I had downgraded all upgraded packages and started upgrading one-by-one with reboot after every step. I have found out that upgrading alsa-ucm-conf package from 1.2.3-2 to 1.2.4-1 is causing the issue. If I understand correctly my laptop has something called Family 17h (Models 10h-1fh) HD Audio Controller which is using for output and Raven/Raven2/FireFlight/Renoir Audio Processor Stereo which is using for input. After upgrading to 1.2.4 I had had only broken output, the input (microphone) was working correctly.
I have attached two outputs of alsa-info.sh to this message: one before and other one after upgrade.
alsa-info-1.2.3.txt
alsa-info-1.2.4.txt
I hope it will help.

rockchip/veyron sound level issues

Hi,

setup:

asus c201 (speedy veyron)
linux 5.10.28 or 5.11.13
debian bullseye: alsa 1.2.4, asa-ucm-conf (and topology) installed, pulseaudio 14.2, gnome 3.38 on wayland

what works:

  • jack input/output using headset

problems:

  • speaker output is somewhat low even at 100% (feels like 50%)
  • microphone is so low that it cannot detect sound (smashing the mic hole with a stick is detected but barely audible)
  • last time i checked hdmi was working - i need to check again though

What can i provide ?
pulseaudio -vvvvvv ?

Pinebook Pro's audio does not work

I have a Pinebook Pro whose audio (including the internal speaker, headphone and internal MIC) does not work by default with general Linux.

Here is the alsa-info.txt

I notice Manjaro ARM has asound.state in pinebookpro-post-install package. If I install the asound.state into /var/lib/alsa/, then alsactl restore, all of the audio works!

However, I guess that asound.state is produced as a result, not the original configuration. If this relates to alsa-ucm-conf project, how should I configure the ucm for Pinebook Pro's audio?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.