Dne 10. 02. 20 v 13:14 Benjamin Poirier napsal(a):
On 2020/02/10 09:11 +0000, Kailang wrote:
Hi,
This platform speaker 2 bind DAC 0x2 was default.
No, 0x6 was the default. commits d2cd795c4ece & 54a6a7dc107d changed it to 0x2 which reduced the max volume.
Use ALC295_FIXUP_DISABLE_DAC3 model will place to DAC 0x3. DAC 0x3 was use as Headphone.
No, none of these quirks have an effect on the headphones.
Do you have a ThinkPad X1 Carbon 7th gen to actually test this code?
If you do, in the output of dmidecode, under "System Information", what's the "Product Name" and "Version"? And what's the pci sub device id for the audio device? The behavior you're describing doesn't match the behavior of the laptop I have here sitting in front of me.
Anyways, I've just tested the headphone port on my machine with the change I posted earlier and it still works as expected - when I plug in headphones, sound comes out through the headphones, when I unplug the headphones, sound comes out through the four speakers loud and clear.
Here's the relevant part of Node 0x17 from /proc/asound/card0/codec#0 with different quirks applied and the level of sound output through the speakers:
no quirk Connection: 3 0x02 0x03 0x06* -> loud volume ALC285_FIXUP_SPEAKER2_TO_DAC1 Connection: 3 0x02* 0x03 0x06 In-driver Connection: 1 0x02 -> weak volume ALC295_FIXUP_DISABLE_DAC3 Connection: 3 0x02 0x03* 0x06 In-driver Connection: 2 0x02 0x03 -> loud volume
Kailang, what's the difference between nodes 0x02 and 0x03 for this codec? Or the DACs are setup differently?
The problem with those Realtek codecs is that they have many "hidden" functions controlled by the undocumented registers.
I have not tested 0x03. Also, both pair of stereo speakers should be connected to one DAC for X1 otherwise we will lose the volume control.
Jaroslav