[alsa-devel] [PATCH] ALSA: hda_intel: add position_fix quirk for Asus K53E
Commit c20c5a841cbe47f5b7812b57bd25397497e5fbc0 changed some chipsets to default to POS_FIX_COMBO so they now use POS_FIX_LPIB instead of POS_FIX_POSBUF. Since then I've been getting artifacts on playback, including repeated sounds on my Asus laptop.
My hardware is Cougar Point which the commit log of c20c5a841cbe47f5b7812b57bd25397497e5fbc0 mentions as tested so POS_FIX_COMBO probably works in general but apparently it doesn't on Asus K53E therefore the need for the quirk.
Signed-off-by: Catalin Iacob iacobcatalin@gmail.com --- sound/pci/hda/hda_intel.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 60882c6..228cdf9 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2701,6 +2701,7 @@ static struct snd_pci_quirk position_fix_list[] __devinitdata = { SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x1b43, "ASUS K53E", POS_FIX_POSBUF), SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), SND_PCI_QUIRK(0x10de, 0xcb89, "Macbook Pro 7,1", POS_FIX_LPIB), SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB),
At Sun, 9 Sep 2012 21:41:11 +0000, Catalin Iacob wrote:
Commit c20c5a841cbe47f5b7812b57bd25397497e5fbc0 changed some chipsets to default to POS_FIX_COMBO so they now use POS_FIX_LPIB instead of POS_FIX_POSBUF. Since then I've been getting artifacts on playback, including repeated sounds on my Asus laptop.
My hardware is Cougar Point which the commit log of c20c5a841cbe47f5b7812b57bd25397497e5fbc0 mentions as tested so POS_FIX_COMBO probably works in general but apparently it doesn't on Asus K53E therefore the need for the quirk.
Signed-off-by: Catalin Iacob iacobcatalin@gmail.com
Interesting. Nowadays it's true for almost all devices I know that LPIB works better than POSBUF, so I'm surprised by moving back to POSBUF.
What sound backend are you using? PulseAudio? Also, setting bdl_pos_adj=0 option makes any difference?
thanks,
Takashi
sound/pci/hda/hda_intel.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 60882c6..228cdf9 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2701,6 +2701,7 @@ static struct snd_pci_quirk position_fix_list[] __devinitdata = { SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB),
- SND_PCI_QUIRK(0x1043, 0x1b43, "ASUS K53E", POS_FIX_POSBUF), SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), SND_PCI_QUIRK(0x10de, 0xcb89, "Macbook Pro 7,1", POS_FIX_LPIB), SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB),
-- 1.7.11.5
On Mon, Sep 10, 2012 at 10:34 AM, Takashi Iwai tiwai@suse.de wrote:
What sound backend are you using? PulseAudio?
PulseAudio yes.
Also, setting bdl_pos_adj=0 option makes any difference?
No, the artifacts are still present.
The artifacts appear only with some applications, for example VLC and Skype have them but KDE's startup sound and music played in Amarok don't. The artifacts also go away after around 10 - 30 seconds of playback and happen again for some tens of seconds after restarting the application.
The alsa-info output is available at [1] for the working case and [2] for the broken case.
[1] http://www.alsa-project.org/db/?f=005f377cccf46c8093c4a640ace396313ffd8102 [2] http://www.alsa-project.org/db/?f=b274a421ab04dab698b5d4d585dc7dbef06f7764
Does this help? Thanks, Catalin
At Mon, 10 Sep 2012 22:48:18 +0200, Catalin Iacob wrote:
On Mon, Sep 10, 2012 at 10:34 AM, Takashi Iwai tiwai@suse.de wrote:
What sound backend are you using? PulseAudio?
PulseAudio yes.
Also, setting bdl_pos_adj=0 option makes any difference?
No, the artifacts are still present.
The artifacts appear only with some applications, for example VLC and Skype have them but KDE's startup sound and music played in Amarok don't.
Do VLC and Skype also use PulseAudio, right? Are these accessing PA natively, or through alsa-lib pulse plugin?
The artifacts also go away after around 10 - 30 seconds of playback and happen again for some tens of seconds after restarting the application.
The alsa-info output is available at [1] for the working case and [2] for the broken case.
[1] http://www.alsa-project.org/db/?f=005f377cccf46c8093c4a640ace396313ffd8102 [2] http://www.alsa-project.org/db/?f=b274a421ab04dab698b5d4d585dc7dbef06f7764
Does this help? Thanks,
It's hard to judge from alsa-info.sh in such cases, unfortunately. The codec registers don't show any timing issues.
In anyway, I applied your patch now since it's specific to a certain model, thus fairly safe to apply (and easy to revert).
thanks,
Takashi
On Tue, Sep 11, 2012 at 2:31 PM, Takashi Iwai tiwai@suse.de wrote:
Do VLC and Skype also use PulseAudio, right? Are these accessing PA natively, or through alsa-lib pulse plugin?
Yes they do, natively.
I'm quite sure about the "natively" part. Not 100% sure because until yesterday I didn't really know how components from the sound stack fit together. I did some reading and I think I get it now but you never know... As proof that PulseAudio is accessed natively:
sudo lsof /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so kded4 1504 catalin mem REG 253,2 27408 1464302 /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so
sudo lsof /usr/lib64/libpulse.so.0.14.3 | grep -e 'vlc|amarok' amarok 3215 catalin mem REG 253,2 303960 1452792 /usr/lib64/libpulse.so.0.14.3 vlc 5553 catalin mem REG 253,2 303960 1452792 /usr/lib64/libpulse.so.0.14.3
sudo lsof /usr/lib/libpulse.so.0.14.3 skype 4664 catalin mem REG 253,2 322372 1457169 /usr/lib/libpulse.so.0.14.3
participants (2)
-
Catalin Iacob
-
Takashi Iwai