Re: [Alsa-user] Xonar D2X: Playback only when other devices generate interrupts
Brought to you by:
perex
|
From: Matthias L. <mat...@on...> - 2020-10-25 14:35:31
|
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
> Als...@li...
> https://lists.sourceforge.net/lists/listinfo/alsa-user
>
|