Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 854138

Summary: possible pipewire/wireplumber issue with electron-based applications
Product: Gentoo Linux Reporter: Michelangelo Scopelliti <kernelpanic>
Component: Current packagesAssignee: Sam James <sam>
Status: RESOLVED UPSTREAM    
Severity: normal CC: 89q1r14hd, leio
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Michelangelo Scopelliti 2022-06-24 18:15:59 UTC
I have recently switched to pipewire as replacement to pulseaudio. The switch went (almost) flawlessly, and all seems to work fine.

Because of work, I am forced to use, from time to time, applications like teams or skype.

After the last pipewire update, I have noticed that teams, skypeforlinux, and microsoft-edge are not able to use the microphone any more (the microphone works regularly, tested with pw-record among others). The microphone is detected, and the failure appears as a muted microphone. The only message I had was from teams: the connection is OK, I am able to star the meeting, but -- after joining -- a warning appears (I'm sorry, the message is in Italian) and it translates roughly as "I'm not able to find a microphone. Please connect to a different one or try to reconnect".

Besides that, I am not able to find other messages or logs, but the use of such software is impaired. I have also tried to delete all the relevant configurations, and to make test calls, but to no avail.

Reproducible: Always




Not sure it is really needed, but anyway...
 emerge --info

Portage 3.0.30 (python 3.9.13-final-0, default/linux/amd64/17.1, gcc-11.3.0, glibc-2.35-r7, 5.18.6 x86_64)
=================================================================
System uname: Linux-5.18.6-x86_64-Intel-R-_Core-TM-_i7-7700_CPU_@_3.60GHz-with-glibc2.35
KiB Mem:    32584936 total,  28598260 free
KiB Swap:   33554428 total,  33554428 free
Head commit of repository gentoo: 41512d646a73e1b1f54e3d318992d87cfdeeaa99

Timestamp of repository guru: Fri, 24 Jun 2022 16:17:43 +0000
Head commit of repository guru: 27cd9aff8fc3f0167f45189ee31f8d7135d08420

sh bash 5.1_p16
ld GNU ld (Gentoo 2.38 p4) 2.38
app-misc/pax-utils:        1.3.4::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.36.0::gentoo
dev-lang/python:           3.9.13::gentoo, 3.10.5::gentoo, 3.11.0_beta3::gentoo
dev-lang/rust:             1.61.0-r1::gentoo
dev-util/cmake:            3.23.2::gentoo
dev-util/meson:            0.62.2::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/openrc:           0.45.1::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-devel/autoconf:        2.13-r2::gentoo, 2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang:           14.0.5::gentoo
sys-devel/gcc:             11.3.0::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/lld:             14.0.5::gentoo
sys-devel/llvm:            14.0.5::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.18-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.35-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo/gentoo.git
    priority: -1000

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo

kernelpanic
    location: /var/db/repos/kernelpanic
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE @BINARY-REDISTRIBUTABLE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -mtune=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -mtune=native -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=native -mtune=native -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live cgroup clean-logs compress-build-logs config-protect-if-modified distlocks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog split-log strict unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=native -mtune=native -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="it_IT.UTF-8"
LDFLAGS="-fuse-ld=mold -Wl,-O2 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS="-C target-cpu=native -C opt-level=2"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 amr ao avif blas bluray boost branding brotli bzip2 cairo cdda clang cli crypt cups curl dbus djvu dri dvb dvd elogind encode eselect-ldso exif ffmpeg fftw flac fontconfig fortran fribidi gdbm gif gimp gmp gpm gsm gtk harfbuzz heif iconv icu imlib inotify ipv6 jbig jemalloc jit jpeg jpeg2k lapack lcms libass libglvnd libnotify libsamplerate libtirpc llvm lto luajit lvm lz4 lzma lzo mng mp3 mpeg multilib natspec ncurses nls nptl offensive ogg openal opencv openexr opengl openmp opus pam pango pcre pcre16 pdf pgo png policykit postproc postscript printsupport pulseaudio raw readline rubberband scanner seccomp smp sndfile sox speex spell split-usr ssl svg theora threads tiff truetype udev udisks unicode usb v4l vaapi vdpau vidstab vim-syntax vorbis vpx vulkan wavpack webp wmf x264 x265 xattr xcb xcomposite xdg xetex xml xpm xv xvid zeroconf zip zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput wacom" KERNEL="linux" L10N="it en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" QEMU_SOFTMMU_TARGETS="aarch64 arm x86_64" QEMU_USER_TARGETS="aarch64 arm x86_64" RUBY_TARGETS="ruby31" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Niklāvs Koļesņikovs 2022-06-24 21:36:00 UTC
Perhaps this issue https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2473 or 
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2418 which might be same bug or not.
 
If possible, please try the 9999 ebuild and with any luck it will be fixed there. If so, please let us know, since then it will hopefully also work with the next version. If that's too complicated, you can try `emerge -v1 =media-video/pipewire-0.3.51-r2` and then restart the daemons with either:

systemd: systemctl --user daemon-reload && systemctl --user restart pipewire{,-pulse}.socket

OpenRC (sorry in advance if I got the launcher's name wrong) : gentoo-pipewire-launcher.

If you're already using 0.3.51, trying the 9999 is still a good idea but obviously it's not a regression in 0.3.52.

I'll pre-emptively say that even if 9999 works, I'm not sure if it's worth trying to find and backport any fixes since that version is likely to get removed from the tree as soon as upstream makes a new release.
Comment 2 Michelangelo Scopelliti 2022-06-25 15:15:16 UTC
(In reply to Niklāvs Koļesņikovs from comment #1)
> Perhaps this issue
> https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2473 or 
> https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2418 which might
> be same bug or not.
>  
> If possible, please try the 9999 ebuild and with any luck it will be fixed
> there. If so, please let us know, since then it will hopefully also work
> with the next version. If that's too complicated, you can try `emerge -v1
> =media-video/pipewire-0.3.51-r2` and then restart the daemons with either:
> 
> systemd: systemctl --user daemon-reload && systemctl --user restart
> pipewire{,-pulse}.socket
> 
> OpenRC (sorry in advance if I got the launcher's name wrong) :
> gentoo-pipewire-launcher.
> 
> If you're already using 0.3.51, trying the 9999 is still a good idea but
> obviously it's not a regression in 0.3.52.
> 
> I'll pre-emptively say that even if 9999 works, I'm not sure if it's worth
> trying to find and backport any fixes since that version is likely to get
> removed from the tree as soon as upstream makes a new release.

OK, maybe I wasn't thorough enough in my report.

Up to pipewire-0.3.51-r2, everything was OK. After the upgrade to 0.3.52-r1, I started to notice microphone (and only microphone) issues. It appears that, while {microsoft,electron,chromium}-based packages are able to find and (apparently) connect to the device, they disconnect from the device (and/or are unable to find it any more). Such a failure is silent to me -- at least in the sense that these applications do not leave a log I am able to find.

So, long story short: 0.3.51 works with such software; 0.3.52 don't.
Comment 3 Michelangelo Scopelliti 2022-06-25 22:53:40 UTC
[...]
> So, long story short: 0.3.51 works with such software; 0.3.52 don't.

Oops. s/don't/doesn't/. Sorry.
Comment 4 Michelangelo Scopelliti 2022-07-11 19:07:22 UTC
Apparently is fixed in pipewire-0.3.54.

What about closing as WORKFORME?