[alsa-devel] [PATCH] Four patches to fixup surround internal speakers on Realtek 88x
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we? So here comes the patches. Would be nice to have in 2.6.38.
At Mon, 07 Mar 2011 09:22:42 +0100, David Henningsson wrote:
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we?
Well, it's a bit flaky. The current behavior assigning speakers only as "Speaker" is intentional. This is a simplification to avoid the conflict with the case where both multiple line-outs and multiple speakers are present.
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
So here comes the patches. Would be nice to have in 2.6.38.
Sorry, the speaker-change is too intrusive for 2.6.38. Since I already sent a pull request yesterday, which is supposed to be the final one unless major fixes come up, I'll queue this later with stable-kernel tag.
Looking at each patch...
Subject: [PATCH 1/4] ALSA: HDA: Enable surround and subwoofer on Lenovo Ideapad Y530
The pin config values would change the association instead of the sequence, this commit fixes that up.
This looks good.
Subject: [PATCH 2/4] ALSA: HDA: Fix volume control naming for surround speakers on Realtek auto-parser
When more than one pair of internal speakers is present, allow names according to their channels.
This one is for re-consideration.
From: David Henningsson david.henningsson@canonical.com Date: Fri, 4 Mar 2011 14:22:25 +0100 Subject: [PATCH 3/4] ALSA: HDA: Fixup unnecessary volume control index on Realtek ALC88x
Without this change, a volume control named "Surround" or "Side" would get an unnecessary index, causing it to be ignored by the vmaster and PulseAudio.
vmaster should handle multiple indices properly, but maybe PA not. Nevertheless, the fix is correct.
Subject: [PATCH 4/4] ALSA: HDA: Realtek ALC88x: Do not over-initialize speakers and hp that are primary outputs
Do not initialize again the what has already been initialized as multi outs, as this breaks surround speakers.
This looks correct, too.
thanks,
Takashi
On 2011-03-07 10:37, Takashi Iwai wrote:
At Mon, 07 Mar 2011 09:22:42 +0100, David Henningsson wrote:
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we?
Well, it's a bit flaky. The current behavior assigning speakers only as "Speaker" is intentional. This is a simplification to avoid the conflict with the case where both multiple line-outs and multiple speakers are present.
In that case, nothing changes - this code path is not taken, since line_out_type wouldn't be AUTO_PIN_SPEAKER_OUT.
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
This is indeed tricky, and I think we've stranded on a similar issue here once before.
Btw, in the case of this particular machine, the "Front" controls the headphones as well, so the name is accidentally correct.
I've even seen a machine where a DAC controlled two out of three fronts (e g headphones and line-out but not speaker, or something like that) - how would you name that?
Perhaps it is time to start to come up with a more reliable naming scheme for 2.6.39 or 2.6.40, that would take into account the more trickier combinations as well.
So here comes the patches. Would be nice to have in 2.6.38.
Sorry, the speaker-change is too intrusive for 2.6.38. Since I already sent a pull request yesterday, which is supposed to be the final one unless major fixes come up, I'll queue this later with stable-kernel tag.
Ok, that works well for me.
At Mon, 07 Mar 2011 11:46:29 +0100, David Henningsson wrote:
On 2011-03-07 10:37, Takashi Iwai wrote:
At Mon, 07 Mar 2011 09:22:42 +0100, David Henningsson wrote:
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we?
Well, it's a bit flaky. The current behavior assigning speakers only as "Speaker" is intentional. This is a simplification to avoid the conflict with the case where both multiple line-outs and multiple speakers are present.
In that case, nothing changes - this code path is not taken, since line_out_type wouldn't be AUTO_PIN_SPEAKER_OUT.
Hm, I see.
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
This is indeed tricky, and I think we've stranded on a similar issue here once before.
Btw, in the case of this particular machine, the "Front" controls the headphones as well, so the name is accidentally correct.
OK, then it's good to take. Let me check these patches a bit. Then I'll merge them.
I've even seen a machine where a DAC controlled two out of three fronts (e g headphones and line-out but not speaker, or something like that) - how would you name that?
It's a difficult choice, yeah. If I would have to choose, I'd take "Headphone" and "Speaker", and make line-out implicit. But this is neither ideal solution, of course.
Perhaps it is time to start to come up with a more reliable naming scheme for 2.6.39 or 2.6.40, that would take into account the more trickier combinations as well.
The time for 2.6.39 is almost closed :) But I fully agree with a major re-design for more consistent control names.
thanks,
Takashi
At Mon, 07 Mar 2011 11:54:58 +0100, Takashi Iwai wrote:
At Mon, 07 Mar 2011 11:46:29 +0100, David Henningsson wrote:
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
This is indeed tricky, and I think we've stranded on a similar issue here once before.
Btw, in the case of this particular machine, the "Front" controls the headphones as well, so the name is accidentally correct.
OK, then it's good to take. Let me check these patches a bit. Then I'll merge them.
Applied these patches now.
thanks,
Takashi
participants (2)
-
David Henningsson
-
Takashi Iwai