Re: [PATCH 2/2] ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk value

From: Jaroslav Kysela
Date: Tue Feb 11 2020 - 08:57:01 EST


Dne 11. 02. 20 v 12:42 Benjamin Poirier napsal(a):
On 2020/02/11 10:35 +0100, Jaroslav Kysela wrote:
Dne 11. 02. 20 v 9:16 Benjamin Poirier napsal(a):
[...]

Why PA handles the rear volume control with the current driver code in the
legacy ALSA driver? It should be handled like standard stereo device. I'll
check.

The device comes up with "Analog Stereo Output" profile by default. I
changed it to "Analog Surround 4.0 Output" to test controlling each
channel individually:

Yes, but does the volume control work (does PA change the appropriate ALSA
mixer volume)? Sometimes, it's difficult to see the difference between soft
volume attenuation and the hardware volume control.

I see what you mean.
When set to the "Analog Surround 4.0 Output", pulseaudio didn't change
the "Bass Speaker" mixer (always at 0dB gain). It used a combination of
Master, Front and sometimes PCM mixers to control all four speakers.

Yes, that was the reason to keep only one volume control in the driver until we have a solution for this.

For example:
pacmd list-sinks
name: <alsa_output.pci-0000_00_1f.3.analog-surround-40>
volume: front-left: 10349 / 16% / -48.09 dB, front-right:
39377 / 60% / -13.27 dB, rear-left: 23979 / 37% / -26.20 dB,
rear-right: 47974 / 73% / -8.13 dB
balance 0.61
alsactl -f /tmp/output store 0
iface MIXER
name 'Front Playback Volume'
value.0 33
value.1 79
range '0 - 87'

name 'Bass Speaker Playback Volume'
value.0 87
value.1 87
range '0 - 87'

name 'Master Playback Volume'
value 77
range '0 - 87'

name 'PCM Playback Volume'
value.0 255
value.1 255
range '0 - 255'


You should also test PA with UCM.

Please let me know what do I need to test exactly? I'm not familiar with
UCM.

Just install the latest pulseaudio (latest from repo), alsa-lib and
alsa-ucm-conf (also from repo). If pulseaudio detects UCM, it has the
preference.

Using the packages in debian unstable, `pacmd list` shows "use_ucm=yes".
alsa-ucm-conf was already installed. Hopefully that's enough.

ii alsa-ucm-conf 1.2.1.2-2 all ALSA Use Case Manager configuration files
ii libasound2:amd64 1.2.1.2-2 amd64 shared library for ALSA applications
ii pulseaudio 13.0-5 amd64 PulseAudio sound server

You should use the latest code. I will release ALSA packages version 1.2.2 soon, but PA must be latest (not yet released 14.0). Previous versions do not handle the volume control and HDMI jack detection. There are many UCM changes in 14.0.

Jaroslav


pacmd list
name: <module-alsa-card>
argument: <device_id="0" name="pci-0000_00_1f.3"
card_name="alsa_card.pci-0000_00_1f.3" 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">



--
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.