Hi, this is your Linux kernel regression tracker.
I noticed a regression report in bugzilla.kernel.org. As many (most?) kernel developer don't keep an eye on it, I decided to forward it by mail. Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=216909 :
Bernd Steinhauser 2023-01-10 14:45:18 UTC
Created attachment 303568 [details] lsusb -v -d 0a12:1004
On my second PC, I'm using a USB audio device called "Avantree Leaf" to pass audio via bluetooth to a receiver. About 1-2 months ago, I noticed that I have no audio with this device when playing sounds via wine applications (e.g. foobar2000 or any kind of game via proton/wine), neither via the pulseaudio output, nor alsa. Native Linux applications work fine (or at least I haven't found one yet that doesn't work) via both pulse or alsa output. If I select another audio device (e.g. the speakers of the screen via HDMI) in winecfg for the respective wine prefix, then the audio does work. Also, if I "prime" the device by playing audio via a native application and then the audio works.
I'm using pipewire-0.3.63 with pipewire-pulse as an audio server, but I've also tried with recent pulseaudio and they are both affected. For pipewire, I played a bit with the settings and found: Brings back audio: clock.min-quantum 512 (lower values don't work)
Doesn't change the outcome: ["api.alsa.period-size"] = 16 up to 1024 ["api.alsa.disable-batch"] = true/false (in combination with the above) ["api.alsa.headroom"] = 64 up to 1024
The output I get from `cat /proc/asound/Leaf/pcm0p/sub0/hw_params`: Native application: access: MMAP_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 48000 (48000/1) period_size: 256 buffer_size: 32768
foobar2000 via wine: access: MMAP_INTERLEAVED format: S16_LE subformat: STD channels: 2 rate: 48000 (48000/1) period_size: 128 buffer_size: 32768
So they are the same, except for the period_size.
Yesterday, I finally made some effort to track this down and I had to go back all the way to v5.14 to find the commit that is responsible: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h...
If I test the revision before that commit, everything works as expected. If I test this revision, then the audio fails. Of course with such an old commit, I'm not 100% sure that this is the only thing, as I can't simply revert it on a newer kernel. Too much change happened in sound/usb since then. I did however test every mainline kernel version since 5.10 and the behavior was consistent. Please let me know if you need any further information.
See the ticket for more details.
BTW, let me use this mail to also add the report to the list of tracked regressions to ensure it's doesn't fall through the cracks:
#regzbot introduced: 307cc9baac5c07b23d https://bugzilla.kernel.org/show_bug.cgi?id=216909 #regzbot title: sound: avantree Leaf USB audio device stopped playing sound in applications run via wine #regzbot ignore-activity
This isn't a regression? This issue or a fix for it are already discussed somewhere else? It was fixed already? You want to clarify when the regression started to happen? Or point out I got the title or something else totally wrong? Then just reply and tell me -- ideally while also telling regzbot about it, as explained by the page listed in the footer of this mail.
Developers: When fixing the issue, remember to add 'Link:' tags pointing to the report (e.g. the buzgzilla ticket and maybe this mail as well, if this thread sees some discussion). See page linked in footer for details.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) -- Everything you wanna know about Linux kernel regression tracking: https://linux-regtracking.leemhuis.info/about/#tldr If I did something stupid, please tell me, as explained on that page.