Bug 62604 - Crackling with snd-hda-intel / VIA VT2020 in VLC, Google Voice
Summary: Crackling with snd-hda-intel / VIA VT2020 in VLC, Google Voice
Status: RESOLVED MOVED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-21 18:45 UTC by Edward Liaw
Modified: 2018-07-30 10:17 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Edward Liaw 2013-03-21 18:45:07 UTC
Further described here:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/751265


My hardware:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: VT2020 Analog [VT2020 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: VT2020 Digital [VT2020 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 2: VT2020 HP [VT2020 HP]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ lspci -v | grep -A7 -i "audio"
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)
	Subsystem: ASUSTeK Computer Inc. M4A89GTD PRO/USB3 Motherboard
	Flags: bus master, slow devsel, latency 64, IRQ 16
	Memory at fe4f8000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel

00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
--
06:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Cayman/Antilles HDMI Audio [Radeon HD 6900 Series]
	Subsystem: XFX Pine Group Inc. Device aa80
	Flags: bus master, fast devsel, latency 0, IRQ 86
	Memory at fe9bc000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel


#23 in the linked bug report fixed the crackling for me, but it was recommended that a bug report be filed.
In /etc/pulse/default.pa : I added tsched=0 to the end of load-module module-udev-detect


#61 gives a more technical description that may be of use:
It's all very confusing with many people experiencing similar symptoms. But the original logs look like a simple case of PulseAudio selecting a far too short latency:

I: protocol-native.c: Final latency 201.00 ms = 0.50 ms + 2*100.00 ms + 0.50 ms
D: alsa-sink.c: Cutting sleep time for the initial iterations by half.
D: alsa-sink.c: Latency set to 0.50ms

And indeed, VLC version 1.1.8 requested tlength=200ms and minreq=100ms. A similar problem affects more recent VLC versions with tlength=40ms and minreq=-1 (overriden by PA to 20ms). It seems that when tlength is exactly twice minreq, PulseAudio settles on an insanely small latency. That causes frequent underrun in hardware buffers, accounting for the distorsion.
Comment 1 GitLab Migration User 2018-07-30 10:17:53 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/326.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.