Github messages for voidlinux
 help / color / mirror / Atom feed
From: klardotsh <klardotsh@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [ISSUE] qt5-webengine: audio playback does not always use PulseAudio, instead capturing raw ALSA devices
Date: Tue, 27 Oct 2020 00:38:04 +0100	[thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-25906@inbox.vuxu.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 4063 bytes --]

New issue by klardotsh on void-packages repository

https://github.com/void-linux/void-packages/issues/25906

Description:
<!-- Don't request update of package. We have a script for that. https://alpha.de.repo.voidlinux.org/void-updates/void-updates.txt . However, a quality pull request may help. -->
### System

* xuname:  `Void 5.8.16_1 x86_64-musl GenuineIntel notuptodate rFFFF`
* package:  `qt5-webengine-5.15.1_2`

### Expected behavior

qutebrowser (or other QT WebEngine-based browsers, eg. Falkon, though I did not test that one) routes all audio through PulseAudio (including respecting device choices - eg. a bluetooth headset over onboard audio, if the headset is the default). Failing that, it should play through the ALSA `default` device, which in my setup is also PulseAudio, via alsa-plugins-pulseaudido.

### Actual behavior

qutebrowser's QT WebEngine processes skip PulseAudio entirely an overwhelming majority of the time (however, seemingly not 100% of the time, for reasons I couldn't determine a pattern to) and instead [open their own locks on /dev/dsp/ cards](https://gist.github.com/klardotsh/e2c1cd165a30c4b72e5cef6a35ee21e4), seemingly always whatever is `sysdefault`. This cascades into a few undesired behaviors:

- The wrong audio device is used (in my case, Jitsi and YouTube playback routed through my laptop speakers instead of my Bluetooth headphones, the latter being the PulseAudio default)
- No PulseAudio-using applications can play audio at the same time over that soundcard. After disconnecting my BT headset (making Pulse fall back to the onboard card), I attempted to `mpv -ao=pulse audiofile.wav` from a terminal, and couldn't because the resource was busy (or something to that effect - I don't have the logs anymore) until the YouTube tab was closed.
- Only one tab can play audio at a time, which has been reported in Qutebrowser upstream as https://github.com/qutebrowser/qutebrowser/issues/5815. There is a similar issue open here, https://github.com/void-linux/void-packages/issues/25852, that I'm not sure is identical because I haven't looked into it.

### Steps to reproduce the behavior

Using the current stable release of QT WebEngine and PulseAudio, try to play a YouTube video, or test your audio settings in [Jitsi](https://meet.jit.si). While doing so, have `pulsemixer` or `pavucontrol` running and keep an eye on the audio sources - you _likely_ won't see `qtwebengine` in the list. This bug does not always repro reliably - you may need to restart qutebrowser and/or your machine and/or PulseAudio and/or attached soundcards to repro it.

### More Context

I already linked https://github.com/qutebrowser/qutebrowser/issues/5815 which is full of Void users with similar classes of errors (some manifesting in slightly different manners, but the same underlying issues with the same log output). There's also https://old.reddit.com/r/qutebrowser/comments/iy00k6/suddenly_no_sound_in_qutebrowser/ and https://www.reddit.com/r/voidlinux/comments/j2re7n/issues_getting_pulseaudio_to_work_correctly/ which each have instances of spurious audio reliability in `qutebrowser` that started some time recently, and seem to manifest similarly to this issue in all appreciable ways. Further, https://github.com/void-linux/void-packages/issues/25766 discusses `sndio` support itself being funky in recent QT WebEngine, which, while a different bug than I'm currently reporting, may share the same resolution. I'm linking here for completeness.

Further, I was able to change `build_options_default="sndio"` to `build_options_default=""` in the build template, compile my own `qt5-webengine-5.15.1_2`, install it, and can no longer repro the issue. In `#voidlinux` IRC, we've isolated that this is likely related to the conditional `sndio` patching applied, but as I don't use `sndio`, I don't entirely feel useful attempting to fix that patchset if anyone more qualified/with more context is available. If not, I can try to take a look.

cc @The-Compiler, @ericonr, and @Johnnynator

             reply	other threads:[~2020-10-26 23:38 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26 23:38 klardotsh [this message]
2020-10-27  9:18 ` minikN
2020-10-28  6:31 ` travankor
2020-10-28 18:20 ` Johnnynator
2020-10-28 18:21 ` Johnnynator
2020-11-21 20:55 ` Johnnynator
2020-12-07  4:53 ` travankor
2020-12-20 13:01 ` travankor
2020-12-20 13:08 ` travankor
2020-12-20 21:42 ` pbui
2021-01-20 20:52 ` ericonr
2021-01-20 20:57 ` pbui
2021-01-20 20:57 ` ericonr
2021-01-20 20:57 ` [ISSUE] [CLOSED] " ericonr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-25906@inbox.vuxu.org \
    --to=klardotsh@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).