Hi,
my problem: Playback is interrupted (only short pieces of sound are
played/repeated) or I've got no sound at all; applications log message:
"underrun occurred". With Windows everything is fine.
The problem exists with every application that I use: mpv ("[ao/alsa] Device
underrun detected."), games ("ALSA lib
/var/tmp/portage/media-libs/alsa-lib-1.2.3.2/work/alsa-lib-1.2.3.2/src/pcm/pcm.c:8545:(snd_pcm_recover)
underrun occurred"), ...
My system: Asus Xonar D2X on a Gigabyte GA-X79-UD3 mainboard. I don't know if
this is important, but the sound card shares an interrupt with a USB controller
and a DVB card (saa7146).
What I have already found out:
- It seems, that the sound card doesn't send any interrupts (at least I suppose
that the sound card is supposed to do this?). As I've already mentioned, the
sound card shares an interrupt with other devices, and the more interrupts are
generated by those other devices, the more fluent plays the sound. If I disable
the other devices (no more interrupts), mpv doesn't play a single note: Even
the timer doesn't increase (stays at, for example, "A: 00:00:00 / 00:05:11
(0%)"). However, as soon as I generate interrupts again (move the mouse that is
connected to the USB controller, use the DVB card), the sound is fluent. When
the other devices are disabled, I can see that the sound card doesn't generate
any interrupts at all.
- I always thought that this behavior was a bug in my asound.rc file, however,
now I've realized that this behavior is unrelated to my configuration: The
problem persists when I remove the asound.rc.
- I'm running Gentoo Linux, however, the problem also exists with a live Linux
(grml 2020.06).
Some parts of my kernel config:
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
# CONFIG_NO_HZ is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
...
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_NOTIFIERS=y
Output from alsa-info.sh:
http://alsa-project.org/db/?f=241daa9b8e9547bd3c9d52e48faff98b5bf6cf13
/proc/interrupts: https://pastebin.com/wkfF7pEA
$ cat /proc/asound/card0/pcm0p/sub0/* # while playing a song with mpv
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 16384
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: Multichannel
name: Multichannel
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0
2048
65536
state: RUNNING
owner_pid : 12516
trigger_time: 4010.691643716
tstamp : 4056.570447427
delay : -252692
avail : 269076
avail_max : 269076
-----
hw_ptr : 252692
appl_ptr : 0
tstamp_mode: ENABLE
period_step: 1
avail_min: 1024
start_threshold: 1
stop_threshold: 4611686018427387904
silence_threshold: 0
silence_size: 4611686018427387904
boundary: 4611686018427387904
I'm very grateful for any help/ideas/thoughts, thanks in advance,
Matthias
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user