Hi,
I discovered that this bug was nonexistent with older kernels so I used
"git bisect" [1].
The bug was introduced in Kernel 5.7, in commit
b88bf6c3b6ff77948c153cac4e564642b0b90632 ("pci: Add boot interrupt quirk
mechanism for Xeon chipsets" [2]). Without this patch everything is
working as expected, with this patch applied, the behavior is as described.
"pci=noioapicquirk" seems to be a workaround, however, as I am not sure
about the consequences I’d rather not use this.
Any ideas?
Thanks in advance,
Matthias
On 14.10.20 12:24, Matthias Leofeine wrote:
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
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user