pipewire issueshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues2023-08-29T14:27:57Zhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/991Static noise while sound is active (bluetooth)2023-08-29T14:27:57ZPLYSHKAStatic noise while sound is active (bluetooth)I recently used pulseaudio again for a while and decided to check out pipewire again, with new bluetooth headphones.
I noticed that they had some sort of static noise, but it was not so much noticed as with pipewire.
Basically this is ...I recently used pulseaudio again for a while and decided to check out pipewire again, with new bluetooth headphones.
I noticed that they had some sort of static noise, but it was not so much noticed as with pipewire.
Basically this is a static background noise that occurs every time when playback is happening. Sounds like a square wave sound, and pipewire (compared to pulseaudio) has much higher frequency of that square wave sound.
Best sound quality was actually on Android (in my case LineageOS 17.1). It has much lower frequency and volume of this static noise compared to both pulseaudio and pipewire on PC.
I can assume this depends on bitrate used by device, but i'm not so sure.
I'm using A2DP SBC codec, not HSP/HSF
**Pipewire version:** `0.3.24`
**Bluez version:** `5.56`
What i can use to tune this static noise and possibly lower it's volume/frequency?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/992rtkit kills pipewire-media-session when using Zoom's "Test Speakers" feature2021-03-29T19:11:16ZMauricio Collaresrtkit kills pipewire-media-session when using Zoom's "Test Speakers" featureThis is on PipeWire 0.3.24. @gkiagia was very helpful on IRC and pointed me towards rtkit as the emitter of the kill signal.
Steps to reproduce:
1. Connect a Bluetooth headset and switch to the HSP/HFP profile. I have mSBC enabled, but ...This is on PipeWire 0.3.24. @gkiagia was very helpful on IRC and pointed me towards rtkit as the emitter of the kill signal.
Steps to reproduce:
1. Connect a Bluetooth headset and switch to the HSP/HFP profile. I have mSBC enabled, but it probably does not matter.
1. Open the desktop version of Zoom (non-free, sorry), go to Settings, then Audio and click on "Test Speaker".
1. Watch as pipewire-media-session receives a SIGKILL.
With the rtkit module disabled, I get [this pipewire-media-session log (with PIPEWIRE_DEBUG=4)](/uploads/1c8179a72d4a3340192ea7a36653e5c6/pwms.out), trimmed to show only the messages in the relevant time interval. Most of the messages appear when clicking on the Audio "tab"/section, but I think the "idle timeout" one gets printed after clicking the "Test Speaker" button (which is when things would crash if `rtkit-module` were enabled).https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/993Occasional no sound until pipewire restart (bluetooth)2021-03-29T20:00:38ZPLYSHKAOccasional no sound until pipewire restart (bluetooth)Basically quite often when i connect headphones, and instead of sound from app... i have no sound. At all.
I can see that sound is being produced by app, and i can switch different codecs on headphone profiles (using pavucontrol), but i...Basically quite often when i connect headphones, and instead of sound from app... i have no sound. At all.
I can see that sound is being produced by app, and i can switch different codecs on headphone profiles (using pavucontrol), but i can't hear anything. Unless i restart entire pipewire, and it starts working.
After some time (not quite sure how to reproduce this) and disconnects, this repeats again.
This issue was here for me on pipewire for a long time, so version doesn't really matter (happens on both master and latest release).
Although bluez can be helpful here, so **bluez:** `5.56`
Some errors i found in pipewire services during these times:
```
Pipewire:
Mar 29 23:24:46 plyshka pipewire[1847414]: impl-core 0x56487ff482a0: error -22 for resource 10: port_set_io failed: Invalid argument
Mar 29 23:24:46 plyshka pipewire[1847414]: client-node 0x56488040cd40: error seq:2843 -22 (port_set_io failed: Invalid argument)
Pipewire-pulse:
Mar 29 23:24:49 plyshka pipewire-pulse[1847413]: pulse-server 0x55bccd5c6410: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:12 error:19 (Operation not supported)
Pipewire-media-session:
Mar 29 23:24:46 plyshka pipewire-media-session[1847415]: 'CHECK_PORT(this, direction, port_id)' failed at ../pipewire/spa/plugins/audiomixer/mixer-dsp.c:625 impl_node_port_set_io()
Mar 29 23:24:46 plyshka pipewire-media-session[1847415]: port 0x557d1643ba60: set_io: Invalid argument
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/994Tinny/slightly distorted sound with headphones plugged in HTC Vive headset2021-04-07T21:23:35ZGabriele MuscoTinny/slightly distorted sound with headphones plugged in HTC Vive headsetThis issue only happens with pipewire-pulse (version 0.3.24 on Arch Linux) when I have the headphones plugged in the HTC Vive headset. It doesn't happen with pulseaudio *most of the time*: sometimes it does happen, to make it go away I j...This issue only happens with pipewire-pulse (version 0.3.24 on Arch Linux) when I have the headphones plugged in the HTC Vive headset. It doesn't happen with pulseaudio *most of the time*: sometimes it does happen, to make it go away I just switch back and forth the output device and from then on it works fine.
It's difficult to describe, I will try to include recordings to make it more clear.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/995Regression in retaining routes configurations accross service restart2021-03-30T14:37:11ZGhost UserRegression in retaining routes configurations accross service restartIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
Current master c50c0b91c57b023e18ded4132d0a99d656275b7c
Description of Problem:
Since comm...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
Current master c50c0b91c57b023e18ded4132d0a99d656275b7c
Description of Problem:
Since commit 51c700a655b1246634c620b3deaff67ad49317ce, routes settings are not saved anymore: level of both alsa and bluez devices are not anymore retained across pipewire service restart, nor latency offset.
If I revert the 51c700a655b1246634c620b3deaff67ad49317ce commit, behavior it correct again.
How Reproducible:
Steps to Reproduce:
1. drop your .config/pipewire/media-session.d/default-routes
2. restart pipewire services (systemctl --user restart pipewire pipewire-pulse pipewire-media-session)
3. with pavucontrol set alsa device levels, bluez levels and latency offset
4. restart pipewire,
Actual Results:
Levels are reset to default on both device, latency offset is reset to 0
If I look at routes file I have this:
```
cat .config/pipewire/media-session.d/default-routes
{
"default.route.alsa_card.pci-0000_00_1f.3:profile:off": [ ],
"default.route.alsa_card.pci-0000_00_1f.3:profile:output:analog-stereo+input:analog-stereo": [ ],
"default.route.bluez_card.5C_C6_E9_B6_94_F3:profile:a2dp-sink-sbc_xq": [ ],
"default.route.bluez_card.5C_C6_E9_B6_94_F3:profile:headset-head-unit-msbc": [ ]
}
```
Expected Results:
Keep set levels and latency offset.
The routes file looks like this with 51c700a655b1246634c620b3deaff67ad49317ce reverted:
```
{
"default.route.alsa_card.pci-0000_00_1f.3:profile:off": [ ],
"default.route.alsa_card.pci-0000_00_1f.3:profile:output:analog-stereo+input:analog-stereo": [ ],
"default.route.bluez_card.5C_C6_E9_B6_94_F3:profile:a2dp-sink-sbc_xq": [ ],
"default.route.bluez_card.5C_C6_E9_B6_94_F3:profile:headset-head-unit-msbc": [ ],
"default.route.alsa_card.pci-0000_00_1f.3:input:analog-input-internal-mic": { "mute": false, "volumes": [ 0.027001, 0.027001 ], "channels": [ "FL", "FR" ] },
"default.route.alsa_card.pci-0000_00_1f.3:output:analog-output-speaker": { "mute": false, "volumes": [ 0.512006, 0.512006 ], "channels": [ "FL", "FR" ] },
"default.route.bluez_card.5C_C6_E9_B6_94_F3:output:headset-output": { "mute": false, "volumes": [ 0.512006, 0.512006 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 80000000 }
}
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/996Build instructions on site did not work.2021-04-15T04:16:32ZKraus ShushaBuild instructions on site did not work.If you are filing this issue with a regular release please try master as it might already be fixed.
**Version, Distribution, Desktop Environment:**
Linux Mint 20.10 XFCE
**Description of Problem:**
Instructions on https://pipewire.o...If you are filing this issue with a regular release please try master as it might already be fixed.
**Version, Distribution, Desktop Environment:**
Linux Mint 20.10 XFCE
**Description of Problem:**
Instructions on https://pipewire.org/#getting not working.
**How Reproducible:**
100%
**Steps to Reproduce:**
1. `$ git clone https://gitlab.freedesktop.org/pipewire/pipewire.git`
2. `$ ./autogen.sh --prefix=$PREFIX`
3. `$ make`
**Actual Results:**
```
$ ./autogen.sh --prefix=$PREFIX
$ make
make: *** No targets specified and no makefile found. Stop.
$
```
**Expected Results:**
Unsure.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/997Wine/Alsa not using pipewire device2021-08-18T15:01:31ZSteve ParrisWine/Alsa not using pipewire deviceHallo,
i have some difficulties getting `Wine` to use the `pipewire pcm device`. It seems it still uses the `old alsa audio path` or goes directly to the soundcard. At least nothing shows up in Carla. It works with Wine/pulse but it com...Hallo,
i have some difficulties getting `Wine` to use the `pipewire pcm device`. It seems it still uses the `old alsa audio path` or goes directly to the soundcard. At least nothing shows up in Carla. It works with Wine/pulse but it comes with its own set of problems and i would like to stay on alsa instead.
I have `!default` and `!sysdefault` set to pipewire as defined in `/etc/alsa/conf.d/99-pipewire-default.conf` but it has no effect. Other apps like `aplay` or `mpv` work properly and honor the default device defined in `.asoundrc`. Though, Wine seems to honor it in some way as well as i can switch between `alsa default` and `jackraw` (that doesn't seem to be included in PipeWire i guess) when i use `Jack2`. I'm using `Winamp` on Wine with 'primary output device'. `winecfg` also just shows physical h/w cards (and loopbacks) but no alsa logical pcm devices.
Any idea how to get Wine to use PipeWire?
```
Arch Linux 5.11.10
Wine 6.5
```
```
lib32-pipewire-git
lib32-pipewire-jack-git
pipewire-alsa-git 0.3.24.119.g14947163-1
pipewire-ffmpeg-git
pipewire-git
pipewire-jack-dropin
pipewire-jack-git
pipewire-media-session-git
pipewire-pulse-git
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/998Errors building / running ("No such file or directory" libpipewire-0.3.so.0)2022-04-12T20:26:31ZKraus ShushaErrors building / running ("No such file or directory" libpipewire-0.3.so.0)**(Update: Current issue deals with "**`pipewire: error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory`**" message after compile. See note [861274](https://gitlab.freedeskt...**(Update: Current issue deals with "**`pipewire: error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory`**" message after compile. See note [861274](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/998#note_861274) at bottom of thread)**
**Version, Distribution, Desktop Environment**:
Linux Mint 20.1 XFCE
**Description of Problem:**
Errors when running `make` or `make run` to test.
**How Reproducible:**
100%
**Steps to Reproduce:**
$ git clone https://gitlab.freedesktop.org/pipewire/pipewire.git
$ cd pipewire/
$ ./autogen.sh --prefix=/usr
$ make
**Output**
```
user@hostname:~/apps$ git clone https://gitlab.freedesktop.org/pipewire/pipewire.git
Cloning into 'pipewire'...
remote: Enumerating objects: 377, done.
remote: Counting objects: 100% (377/377), done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 59835 (delta 275), reused 358 (delta 265), pack-reused 59458
Receiving objects: 100% (59835/59835), 28.69 MiB | 11.17 MiB/s, done.
Resolving deltas: 100% (47699/47699), done.
user@hostname:~/apps$ cd pipewire/
user@hostname:~/apps/pipewire$ ./autogen.sh --prefix=/usr
The Meson build system
Version: 0.53.2
Source dir: /home/user/apps/pipewire
Build dir: /home/user/apps/pipewire/build
Build type: native build
Project name: pipewire
Project version: 0.3.24
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -Werror=suggest-attribute=format: YES
Compiler for C supports arguments -Wsign-compare: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wpointer-sign: YES
Compiler for C supports arguments -Wformat: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wimplicit-fallthrough: YES
Compiler for C supports arguments -Wmissing-braces: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wvariadic-macros: YES
Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter -Wunused-parameter: YES
Compiler for C supports arguments -Wno-pedantic -Wpedantic: YES
Compiler for C supports arguments -Wold-style-declaration: YES
Compiler for C supports arguments -Wunused-result: YES
Compiler for C supports arguments -DFASTPATH: YES
C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Compiler for C++ supports arguments -fvisibility=hidden: YES
Compiler for C++ supports arguments -Werror=suggest-attribute=format: YES
Compiler for C++ supports arguments -Wsign-compare: YES
Compiler for C++ supports arguments -Wpointer-arith: YES
Compiler for C++ supports arguments -Wpointer-sign: NO
Compiler for C++ supports arguments -Wformat: YES
Compiler for C++ supports arguments -Wformat-security: YES
Compiler for C++ supports arguments -Wimplicit-fallthrough: YES
Compiler for C++ supports arguments -Wmissing-braces: YES
Compiler for C++ supports arguments -Wtype-limits: YES
Compiler for C++ supports arguments -Wvariadic-macros: YES
Compiler for C++ supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES
Compiler for C++ supports arguments -Wno-unused-parameter -Wunused-parameter: YES
Compiler for C++ supports arguments -Wno-pedantic -Wpedantic: YES
Compiler for C++ supports arguments -Wold-style-declaration: NO
Compiler for C++ supports arguments -Wunused-result: YES
Compiler for C supports arguments -msse: YES
Compiler for C supports arguments -msse2: YES
Compiler for C supports arguments -mssse3: YES
Compiler for C supports arguments -msse4.1: YES
Compiler for C supports arguments -mfma: YES
Compiler for C supports arguments -mavx: YES
Compiler for C supports arguments -mavx2: YES
Compiler for C supports arguments -mfpu=neon: NO
Library atomic found: YES
Checking if "8-byte __atomic_store_n without libatomic" links: YES
Has header "dlfcn.h" : YES
Has header "inttypes.h" : YES
Has header "memory.h" : YES
Has header "poll.h" : YES
Has header "stddef.h" : YES
Has header "stdint.h" : YES
Has header "stdio_ext.h" : YES
Has header "strings.h" : YES
Has header "string.h" : YES
Has header "sys/mount.h" : YES
Has header "sys/param.h" : YES
Has header "sys/poll.h" : YES
Has header "sys/prctl.h" : YES
Has header "sys/random.h" : YES
Has header "sys/socket.h" : YES
Has header "sys/stat.h" : YES
Has header "sys/times.h" : YES
Has header "sys/time.h" : YES
Has header "sys/types.h" : YES
Has header "sys/utsname.h" : YES
Has header "sys/vfs.h" : YES
Has header "sys/wait.h" : YES
Has header "pwd.h" : YES
Has header "ucontext.h" : YES
Has header "unistd.h" : YES
Has header "valgrind/valgrind.h" : NO
Checking for function "poll" : YES
Checking for function "pselect" : YES
Checking for function "posix_memalign" : YES
Checking for function "getpagesize" : YES
Checking for function "clock_gettime" : YES
Checking for type "ptrdiff_t" : YES
Header <string.h> has symbol "strndupa" : YES
Checking for function "mkstemp" : YES
Checking for function "memfd_create" : YES
Checking for function "getrandom" : YES
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency systemd found: YES 245
Found CMake: /usr/bin/cmake (3.16.3)
Run-time dependency libsystemd found: NO (tried pkgconfig and cmake)
Configuring Makefile using configuration
Library m found: YES
Library rt found: YES
Library dl found: YES
Run-time dependency threads found: YES
Run-time dependency dbus-1 found: YES 1.12.16
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Run-time dependency ncursesw found: NO (tried pkgconfig and cmake)
Run-time dependency sndfile found: NO (tried pkgconfig and cmake)
Run-time dependency glib-2.0 found: YES 2.64.6
Run-time dependency gobject-2.0 found: YES 2.64.6
Run-time dependency gmodule-2.0 found: YES 2.64.6
Run-time dependency gio-2.0 found: YES 2.64.6
Run-time dependency gio-unix-2.0 found: YES 2.64.6
Run-time dependency gstreamer-1.0 found: NO (tried pkgconfig and cmake)
Run-time dependency alsa found: NO (tried pkgconfig and cmake)
Run-time dependency libudev found: NO (tried pkgconfig and cmake)
Run-time dependency alsa found: NO (tried pkgconfig and cmake)
Run-time dependency bluez found: NO (tried pkgconfig and cmake)
Run-time dependency sbc found: NO (tried pkgconfig and cmake)
Run-time dependency ldacbt-enc found: NO (tried pkgconfig and cmake)
Run-time dependency ldacbt-abr found: NO (tried pkgconfig and cmake)
Run-time dependency libopenaptx found: NO (tried pkgconfig and cmake)
Run-time dependency fdk-aac found: NO (tried pkgconfig and cmake)
Dependency libavcodec skipped: feature ffmpeg disabled
Dependency libavformat skipped: feature ffmpeg disabled
Run-time dependency jack found: NO (tried pkgconfig and cmake)
Run-time dependency vulkan found: YES 1.2.131
Has header "vulkan/vulkan.h" with dependency vulkan: YES
Run-time dependency camera found: NO (tried pkgconfig and cmake)
Configuring version.h using configuration
Configuring pipewire.conf using configuration
Configuring client.conf using configuration
Configuring client-rt.conf using configuration
Configuring jack.conf using configuration
Configuring pipewire-pulse.conf using configuration
Configuring pipewire-uninstalled.conf using configuration
Program ln found: YES (/usr/bin/ln)
Configuring bluez-monitor.conf using configuration
Configuring v4l2-monitor.conf using configuration
Configuring media-session.conf using configuration
Configuring alsa-monitor.conf using configuration
Configuring with-jack using configuration
Configuring with-pulseaudio using configuration
Configuring pipewire.service using configuration
Configuring pipewire-pulse.service using configuration
Configuring pipewire-media-session.service using configuration
Configuring config.h using configuration
Configuring pw-jack using configuration
Program doxygen skipped: feature docs disabled
Program xmltoman found: NO
Program pw-uninstalled.sh found: YES (/home/user/apps/pipewire/pw-uninstalled.sh)
Build targets in project: 101
Found ninja-1.10.0 at /usr/bin/ninja
user@hostname:~/apps/pipewire$ make run
ninja -C /home/user/apps/pipewire/build
ninja: Entering directory `/home/user/apps/pipewire/build'
[130/309] Compiling C object 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha/pcm_pipewire.c.o'.
FAILED: pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha/pcm_pipewire.c.o
cc -Ipipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha -Ipipewire-alsa/alsa-plugins -I../pipewire-alsa/alsa-plugins -I. -I../ -Isrc -I../src -Ispa/include -I../spa/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O2 -g -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -DFASTPATH -fPIC -pthread -DHAVE_CONFIG_H -DPIC -MD -MQ 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha/pcm_pipewire.c.o' -MF 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha/pcm_pipewire.c.o.d' -o 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_pcm_pipewire@sha/pcm_pipewire.c.o' -c ../pipewire-alsa/alsa-plugins/pcm_pipewire.c
../pipewire-alsa/alsa-plugins/pcm_pipewire.c:37:10: fatal error: alsa/asoundlib.h: No such file or directory
37 | #include <alsa/asoundlib.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
[132/309] Compiling C object 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha/ctl_pipewire.c.o'.
FAILED: pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha/ctl_pipewire.c.o
cc -Ipipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha -Ipipewire-alsa/alsa-plugins -I../pipewire-alsa/alsa-plugins -I. -I../ -Isrc -I../src -Ispa/include -I../spa/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O2 -g -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -DFASTPATH -fPIC -pthread -DHAVE_CONFIG_H -DPIC -MD -MQ 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha/ctl_pipewire.c.o' -MF 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha/ctl_pipewire.c.o.d' -o 'pipewire-alsa/alsa-plugins/00d4c8c@@asound_module_ctl_pipewire@sha/ctl_pipewire.c.o' -c ../pipewire-alsa/alsa-plugins/ctl_pipewire.c
../pipewire-alsa/alsa-plugins/ctl_pipewire.c:25:10: fatal error: alsa/asoundlib.h: No such file or directory
25 | #include <alsa/asoundlib.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
[143/309] Compiling C object 'src/pipewire/80eb8bd@@pipewire-0.3@sha/filter.c.o'.
ninja: build stopped: subcommand failed.
make: *** [Makefile:2: all] Error 1
user@hostname:~/apps/pipewire$
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/999How to rename device by alsa-monitor.conf?2022-04-26T21:44:19ZSteve ParrisHow to rename device by alsa-monitor.conf?Hallo,
i'm trying to rename my device in `/etc/pipewire/media-session.d/alsa-monitor.conf` as described [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Configuration#renaming-devices) but it doesn't work. It still has fu...Hallo,
i'm trying to rename my device in `/etc/pipewire/media-session.d/alsa-monitor.conf` as described [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Configuration#renaming-devices) but it doesn't work. It still has full length in Carla. I've restarted all pipewire services and even restarted the user session. No change.
Any idea what's wrong?
```
Arch Linux 5.11.10
pipewire-alsa-git 0.3.24.119.g14947163-1
```
```
$ pw-play --list-targets
Available targets ("*" denotes default): alsa_output.pci-0000_06_01.0.analog-stereo
* 47: description="EMU10k2/CA0100/CA0102/CA10200 [Sound Blaster Audigy Series] (SB0350 Audigy 2 ZS) Analog Stereo" prio=1009
48: description="Built-in Audio Analog Stereo" prio=817
```
```
# ALSA monitor config file #
properties = {
# Create a JACK device. This is not enabled by default because
# it requires that the PipeWire JACK replacement libraries are
# not used by the session manager, in order to be able to
# connect to the real JACK server.
#alsa.jack-device = false
# Reserve devices.
#alsa.reserve = true
}
rules = [
# An array of matches/actions to evaluate.
{
# Rules for matching a device or node. It is an array of
# properties that all need to match the regexp. If any of the
# matches work, the actions are executed for the object.
matches = [
{
# This matches all cards. These are regular expressions
# so "." matches one character and ".*" matches many.
device.name = "~alsa_card.*"
}
]
actions = {
# Actions can update properties on the matched object.
update-props = {
# Use ALSA-Card-Profile devices. They use UCM or
# the profile configuration to configure the device
# and mixer settings.
api.alsa.use-acp = true
# Use UCM instead of profile when available. Can be
# disabled to skip trying to use the UCM profile.
#api.alsa.use-ucm = true
# Don't use the hardware mixer for volume control. It
# will only use software volume. The mixer is still used
# to mute unused paths based on the selected port.
#api.alsa.soft-mixer = false
# Ignore decibel settings of the driver. Can be used to
# work around buggy drivers that report wrong values.
#api.alsa.ignore-dB = false
# The profile set to use for the device. Usually this
# "default.conf" but can be changed with a udev rule
# or here.
#device.profile-set = "profileset-name"
# The default active profile. Is by default set to "Off".
#device.profile = "default profile name"
# Automatically select the best profile. This is the
# highest priority available profile. This is disabled
# here and instead implemented in the session manager
# where it can save and load previous preferences.
api.acp.auto-profile = false
# Automatically switch to the highest priority available
# port. This is disabled here and implemented in the
# session manager instead.
api.acp.auto-port = false
# Other properties can be set here.
#device.nick = "My Device"
}
}
}
{
matches = [
{
# Matches all sources. These are regular expressions
# so "." matches one character and ".*" matches many.
node.name = "~alsa_input.*"
}
{
# Matches all sinks.
node.name = "~alsa_output.*"
}
]
actions = {
update-props = {
#node.nick = "My Node"
#node.nick = null
#priority.driver = 100
#priority.session = 100
node.pause-on-idle = false
#resample.quality = 4
#channelmix.normalize = false
#channelmix.mix-lfe = false
#audio.channels = 2
#audio.format = "S16LE"
#audio.rate = 44100
#audio.position = "FL,FR"
#api.alsa.period-size = 1024
#api.alsa.headroom = 0
#api.alsa.start-delay = 0
#api.alsa.disable-mmap = false
#api.alsa.disable-batch = false
#api.alsa.use-chmap = false
#session.suspend-timeout-seconds = 5 # 0 disables suspend
}
}
}
{
matches = [
{
node.name = "EMU10k2/CA0100/CA0102/CA10200 [Sound Blaster Audigy Series] (SB0350 Audigy 2 ZS) Analog Stereo"
}
{
node.name = "~EMU10k2.*"
}
]
actions = {
update-props = {
node.nick = "Audigy2ZS"
node.description = "Analog Stereo"
}
}
}
]
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1000Passive links are suspended too aggressively2022-04-15T02:03:36ZNiklas HaasPassive links are suspended too aggressively### Version, Distribution, Desktop Environment:
* pipewire 0.2.24
* openSuSE Tumbleweed 20210325-0
### Description of Problem:
When using `PIPEWIRE_LINK_PASSIVE=1` and certain filters (tested with `calfjackhost`+`jconvolver` in partic...### Version, Distribution, Desktop Environment:
* pipewire 0.2.24
* openSuSE Tumbleweed 20210325-0
### Description of Problem:
When using `PIPEWIRE_LINK_PASSIVE=1` and certain filters (tested with `calfjackhost`+`jconvolver` in particular), the filter will be suspended as soon as the all input links are removed, even if the filter output has not been fully drained. This results in fragments of the previously playing audio being heard the next time the filter is unsuspended.
### How Reproducible:
Easily and consistently reproducible for me, not sure how easy it is to reproduce in general.
### Steps to Reproduce:
1. Run some filter graph with `PIPEWIRE_LINK_PASSIVE=1`. I'm using several JACK filters (calfjackhost and jconvolver), not sure what the specific requirements are.
2. Play some audio. I test using `mpv --ao=alsa`. Then, interrupt the program (`q` in mpv) in the middle of playback, so the filter gets suspended (confirmed with `pw-top`).
3. Wait a bit, then play some other audio using any other application, thus unsuspending the filter.
### Actual Results:
The trailing fragment of the first audio file can still be heard when playback is resumed.
### Expected Results:
A passive filter should continue being 'drained' even after all links are removed. I'm not sure what would be the best way to do this API-wise, but I assume you can simply continue feeding it silence for a few frames until the output of the filter is also silence. (How reliable is this? What about filters that e.g. continuously add noise?) Failing that, maybe just continue draining it for a configurable number of periods before actually suspending it.
### Additional info
* [pw-dump.txt](/uploads/317ca5b7147288324734085f213c078b/pw-dump.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1001Pactl does not have default sink alias now2021-03-31T11:23:34ZPLYSHKAPactl does not have default sink alias nowBefore (around `0.3.21` release) i could use my cmd to change default sink volume like this:
```
Volume Up:
pactl -- set-sink-volume @DEFAULT_SINK@ +5%
Volume Down:
pactl -- set-sink-volume @DEFAULT_SINK@ -5%
Mute:
pactl set-sink-mute @...Before (around `0.3.21` release) i could use my cmd to change default sink volume like this:
```
Volume Up:
pactl -- set-sink-volume @DEFAULT_SINK@ +5%
Volume Down:
pactl -- set-sink-volume @DEFAULT_SINK@ -5%
Mute:
pactl set-sink-mute @DEFAULT_SINK@ toggle
```
But now (`0.3.24` or `master`) it says `Failed to get sink information: No such entity`
Is this intentional? How do i get default sink from pulse pactl otherwise?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1002Plugging in DAC reports 20% volume, actually plays at 100%2022-04-12T18:45:57ZJohn RowleyPlugging in DAC reports 20% volume, actually plays at 100%### Version, Distribution, Desktop Environment:
- pipewire 0.3.24
- Void Linux (musl)
### Description of Problem:
When plugging in my Dragonfly Cobalt external USB DAC, whose volume I had previously set to 20%, I see in pavucontrol that...### Version, Distribution, Desktop Environment:
- pipewire 0.3.24
- Void Linux (musl)
### Description of Problem:
When plugging in my Dragonfly Cobalt external USB DAC, whose volume I had previously set to 20%, I see in pavucontrol that the volume is _reported_ as 20%, but when I play music via mpd, the actual volume coming out of the headphones is at 100%.
If I adjust the volume for the DAC, even by as little as 1%, the correct volume is set.
### How Reproducible:
Every time.
### Steps to Reproduce:
1. Delete ~/.config/{pipewire,pipewire-media-session}
2. Reboot
3. Plug in the Dragonfly, and set the volume to 20% in pavucontrol
4. Unplug the DAC, plug it back in
5. See that the volume has been restored to 20% in pavucontrol
### Actual Results:
Playing music via mpd (PulseAudio output) results in sound coming out of the headphones at 100% volume.
### Expected Results:
Audio should play at the reported restored volume of 20%, instead of 100%.
### Additional Info Eg. `pw-dump > file` (As Attachment Please):
I'm using Void Linux, which uses the runit init system instead of systemd, so the only changes I've made to the default 0.3.24 configs is to uncomment the pipewire-pulse.conf line in pipewire.
Right now, I'm having to make sure I adjust the volume after plugging in the DAC before playing music, even if it's by just 1% (using pamixer). This works, but is obviously not ideal, as if I forget to do this before playing audio, I get my ears blasted off with output at 100% volume.
[dump.txt](/uploads/b25e30dc65b71ba97847b103ea915aa1/dump.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1003experimenting with pipewire 0.3.24 on Debian: pactl info - Connection failure...2021-05-19T19:54:37ZPatrice Durouxexperimenting with pipewire 0.3.24 on Debian: pactl info - Connection failure: Connection refusedHi,
I am not sure if this is a Debian packaging issue.
I was trying to follow this: https://wiki.debian.org/PipeWire#For_PulseAudio
And here is what I got:
```
$ ps aux | grep 'pulse\|pipe'
patrice 11944 0.0 0.0 83156 5172 ? ...Hi,
I am not sure if this is a Debian packaging issue.
I was trying to follow this: https://wiki.debian.org/PipeWire#For_PulseAudio
And here is what I got:
```
$ ps aux | grep 'pulse\|pipe'
patrice 11944 0.0 0.0 83156 5172 ? S<sl 19:05 0:00 /usr/bin/pipewire-pulse
patrice 11946 0.0 0.1 110888 18568 ? S<sl 19:05 0:00 /usr/bin/pipewire
patrice 11947 0.0 0.1 227372 28396 ? S<sl 19:05 0:00 /usr/bin/pipewire-media-session
$ systemctl --user status pipewire-pulse.service
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/etc/xdg/systemd/user/pipewire-pulse.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-03-31 19:05:07 CEST; 35min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 11944 (pipewire-pulse)
Tasks: 2 (limit: 18823)
Memory: 904.0K
CPU: 18ms
CGroup: /user.slice/user-1001.slice/user@1001.service/session.slice/pipewire-pulse.service
└─11944 /usr/bin/pipewire-pulse
mars 31 19:05:07 kos-moceratops systemd[9489]: Stopping PipeWire PulseAudio...
mars 31 19:05:07 kos-moceratops systemd[9489]: pipewire-pulse.service: Succeeded.
mars 31 19:05:07 kos-moceratops systemd[9489]: Stopped PipeWire PulseAudio.
mars 31 19:05:07 kos-moceratops systemd[9489]: Started PipeWire PulseAudio.
$ ls -alit /run/user/1001/pulse
total 4
1 drwx------ 13 patrice patrice 500 31 mars 19:39 ../
80 -rw------- 1 patrice patrice 6 31 mars 19:05 pid
56 drwx------ 2 patrice patrice 80 31 mars 19:04 ./
60 srw-rw-rw- 1 patrice patrice 0 31 mars 19:04 native=
$ LANG=C strace -f -o /tmp/pipe.txt pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
$ grep -B 10 -A 10 "/run/user/1001/pulse/native" /tmp/pipe.txt
15382 close(8) = 0
15382 lstat("/run", {st_mode=S_IFDIR|0755, st_size=1100, ...}) = 0
15382 lstat("/run/user", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
15382 lstat("/run/user/1001", {st_mode=S_IFDIR|0700, st_size=500, ...}) = 0
15382 lstat("/run/user/1001/pulse", {st_mode=S_IFDIR|0700, st_size=80, ...}) = 0
15382 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 8
15382 fcntl(8, F_GETFD) = 0x1 (flags FD_CLOEXEC)
15382 setsockopt(8, SOL_SOCKET, SO_PRIORITY, [6], 4) = 0
15382 fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
15382 fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
15382 connect(8, {sa_family=AF_UNIX, sun_path="/run/user/1001/pulse/native"}, 110) = -1 ECONNREFUSED (Connection refused)
15382 close(8) = 0
15382 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 8
15382 fcntl(8, F_GETFD) = 0x1 (flags FD_CLOEXEC)
15382 setsockopt(8, SOL_SOCKET, SO_PRIORITY, [6], 4) = 0
15382 fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
15382 fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
15382 connect(8, {sa_family=AF_UNIX, sun_path="/var/run/pulse/native"}, 110) = -1 ENOENT (No such file or directory)
15382 close(8) = 0
15382 write(2, "Connection failure: Connection r"..., 39) = 39
15382 write(4, "W", 1) = 1
```
Also all the `/etc/pipewire/` including `/etc/pipewire/pipewire-pulse.conf` are the default files provided by the packaging.
Where to go next?
Thanks!https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1004Unable to change default sink via pactl2021-04-02T08:07:47ZkushrajUnable to change default sink via pactlIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment: Arch/Sway Pipewire-git 0.3.23.137.g08f2284e-1
Description of Problem:
Can't change default...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment: Arch/Sway Pipewire-git 0.3.23.137.g08f2284e-1
Description of Problem:
Can't change default sink once set to bluetooth
How Reproducible:
always
Steps to Reproduce:
1. change default sink to bluez
2. try to change default sink to another using pactl
Actual Results: nothing happens, bluez sink is still the default one
Expected Results: another sink should have be the dafault sink now
[pw-dump.json](/uploads/0d68cbcdbdedd2d844aacfebf30f22b0/pw-dump.json)
[pw-mon](/uploads/ebd8b093a420df03c69ff0aa8bc7da1b/pw-mon.output) while trying to change sink from bluez to another
In my specific case, I can switch default sink using `pavucontrol` which works totally fine.
Another weird thing is that if the sink(#N) is non bluetooth one and is the default-sink at the moment, running `pactl set-default-sink #N` changes the default sink to bluetooth sink(#M)
whereas running `pactl set-default-sink #M` also changes the default sink to bluetooth as expected. Once switched to bluez sink, I can't change it anymore using pacmdhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1005Pulseaudio volume mixer extension for Gnome breaks with Pipewire2021-04-02T16:27:16ZGeorge GibbsPulseaudio volume mixer extension for Gnome breaks with PipewireIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment: Pipewire 0.3.24, Arch, Gnome 3.38
Description of Problem: The Gnome Shell extension below ...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment: Pipewire 0.3.24, Arch, Gnome 3.38
Description of Problem: The Gnome Shell extension below adds a simple menu for toggling your default PulseAudio output device from the status bar. With Pipewire installed, it fails to query devices.
https://github.com/aleho/gnome-shell-volume-mixer/issues/133
How Reproducible: 100%
Steps to Reproduce:
1. Clone the repository linked above
2. Run the following two scripts with both PulseAudio and Pipewire:
`DEBUG=1 ./shell-volume-mixer@derhofbauer.at/pautils/query.py cards`
`DEBUG=1 ./shell-volume-mixer@derhofbauer.at/pautils/query.py sinks`
3. Compare
Actual Results:
With Pipewire, no device output is given, simply `{}`
Expected Results:
Same as with Pulseaudio
Additional Info Eg. `pw-dump > file` (As Attachment Please):https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1006Regression in mSBC support?2022-02-09T12:56:10ZRicRegression in mSBC support?I noticed that the line in bluez-monitor.conf for mSBC support has been changed recently to:
#bluez5.msbc-support = false
When I uncomment and change this to = true, and restart pipewire, my devices do not show CVSD and mSBC opti...I noticed that the line in bluez-monitor.conf for mSBC support has been changed recently to:
#bluez5.msbc-support = false
When I uncomment and change this to = true, and restart pipewire, my devices do not show CVSD and mSBC options in the device profiles any more. There is just one, labelled HSP/HFP.
I am testing with devices that did work a few weeks ago.
Also, shouldn't the commented out option read = true, as = false is the default?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1007[REGRESSION] MIDI device inconsistent naming2021-04-01T17:45:41ZNiklas Haas[REGRESSION] MIDI device inconsistent naming### Version, Distribution, Desktop Environment:
* pipewire 0.3.24-1.1
* openSUSE Tumbleweed 20210330-0
### Description of Problem:
Since the update that merged MIDI devices into a single `MIDI Bridge`, MIDI devices show up with incons...### Version, Distribution, Desktop Environment:
* pipewire 0.3.24-1.1
* openSUSE Tumbleweed 20210330-0
### Description of Problem:
Since the update that merged MIDI devices into a single `MIDI Bridge`, MIDI devices show up with inconstistent naming, especially after reboots. This breaks filter associations in a number of JACK applications, notably JACKPatch (and other LASH session managers).
### How Reproducible:
Unsure. It's happened after several reboots, but I'm not sure if it happens after *every* reboot.
### Steps to Reproduce:
1. Have multiple MIDI devices
2. Reboot
3. Observe name of the MIDI ports
### Actual Results:
Examples of inconsistent naming:
* `nanoKONTROL2 [24] (playback): [0] nanoKONTROL2 MIDI 1`
* `nanoKONTROL2 [20] (playback): [0] nanoKONTROL2 MIDI 1`
### Expected Results:
* Consistent/stable naming, independent of device probe order and other such factors.
### Additional Info Eg. `pw-dump > file` (As Attachment Please):
* [pw-dump.txt](/uploads/af82f83e0fff9901555ae9b79deac795/pw-dump.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1008Any way to disable logging to journal?2021-04-05T16:23:50ZDmitry SharshakovAny way to disable logging to journal?While working on new features in PipeWire and debugging it I often have to use high debug flag values. How do I avoid every log line being saved to the system journal using some parameters while I see everything on terminal running PipeW...While working on new features in PipeWire and debugging it I often have to use high debug flag values. How do I avoid every log line being saved to the system journal using some parameters while I see everything on terminal running PipeWire?
Sorry for a rather irrelevant for users issue, but that might also be convenient for other contributors who debug PipeWire.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1009Zita-njbridge not working2021-04-02T01:06:33ZMatttZita-njbridge not workingAs per the subject...
PW installed from source on both machines (updated yesterday), and Zita tools installed via apt on Ubuntus 21.04 and 20.10.
Everything goes / works as expected, but the receiving machine stops it's CLI output at "...As per the subject...
PW installed from source on both machines (updated yesterday), and Zita tools installed via apt on Ubuntus 21.04 and 20.10.
Everything goes / works as expected, but the receiving machine stops it's CLI output at "Syncing..." (it should then say "Receiving").
Zita nodes are present as expected in both graphs (and obviously I've connected them as appropriate), but no audio is passed and absolutely no indication as to why.
Any ideas?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1010Set default profile for a particular bluetooth device2021-04-04T19:55:53ZDavid LawrenceSet default profile for a particular bluetooth deviceI have a bluetooth headset which connects using the `a2dp-sink` profile by default. I would like for this particular device to always connect with the `headset-head-unit` profile instead. I tried adding the following to bluez-monitor.con...I have a bluetooth headset which connects using the `a2dp-sink` profile by default. I would like for this particular device to always connect with the `headset-head-unit` profile instead. I tried adding the following to bluez-monitor.conf:
```
{
matches = [
{
# Comexion M100 headset
device.name = "~bluez_card.00_6A_8E_51_07_34"
}
]
actions = {
update-props = {
# TODO: this does not work
bluez5.profile = "headset-head-unit"
}
}
}
```
I confirmed with `pactl` that the `bluez5.profile` property is correctly added to this device. It seems that the logic which selects a profile for the sources and sinks does not honor the property attached to the device.
Is there a different property or configuration setting which can be used to set the default profile for a bluetooth headset?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/10110% of application input stream in pavucontrol2022-04-12T20:41:57Zmikhailnov0% of application input stream in pavucontrolI launch Chromium browser and start WebRTC sound input. Open pavucontrol (GTK+). Open the tab with input streams. The volume of the input stream of Chromium (which works via libpulse) is 0%, but in reality it is not 0%, it is the same as...I launch Chromium browser and start WebRTC sound input. Open pavucontrol (GTK+). Open the tab with input streams. The volume of the input stream of Chromium (which works via libpulse) is 0%, but in reality it is not 0%, it is the same as the volume of the audio input device set in pavucontrol on another tab.
![2021-04-02_23-31](/uploads/3ccb9aede27007d8f1a2e541f0479783/2021-04-02_23-31.png)
Tried older version and latest git from today, the problem is the same.
```
$ rpm -q pipewire
pipewire-0.3.24-0.git8cf6da.1.x86_64
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1012Question: bluetooth on the embedded system2021-04-07T22:47:58ZissQuestion: bluetooth on the embedded systemHi everyone,
This is a question, since I am not too familiar with IRC (do let me know if this more suitable for there, then I will try)
I am running Pipewire on the Arm 64bit (Cortex A53) embedded target, with the latest, I am pulling ...Hi everyone,
This is a question, since I am not too familiar with IRC (do let me know if this more suitable for there, then I will try)
I am running Pipewire on the Arm 64bit (Cortex A53) embedded target, with the latest, I am pulling from `master` daily.
I started `pipewire` and `pipewire-media-session` and be able to connect Bluetooth earbuds using `bluetoothctl`.
When I play a test audio (48k sampling rate) using `pw-play`, I see lots of these debug log and choppy sound on the earbuds.
```
[a2dp-sink.c:429 send_buffer()] a2dp-sink 0x55ae5acbe8: Resource temporarily unavailable
```
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/8cf6da467ffe07492cfecc17069b4a9ed57e879e/spa/plugins/bluez5/a2dp-sink.c#L429
Which means that write side of buffer is full with `EAGAIN`.
I have tested with `FILL_FRAMES`, but that doesn't seem to improve
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/8cf6da467ffe07492cfecc17069b4a9ed57e879e/spa/plugins/bluez5/a2dp-sink.c#L64
Any suggestion how to debug this, I would appreciate this.
Thank you,
Here are the `dump` and `dot` files.
- [target-pw-play-dump.txt](/uploads/700d35d813f2b206b834ce8c8bf17235/target-pw-play-dump.txt)
- [target-pw-play.dot](/uploads/cf7ba074753c30d2061ad4d9a02bcf35/target-pw-play.dot)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1013Periodic 'pop-pop' sound when there is no media playback and power savings ar...2022-07-15T07:18:19ZTimur KristófPeriodic 'pop-pop' sound when there is no media playback and power savings are enabled on Intel audio## Version, Distribution, Desktop Environment:
* `pipewire-0.3.24-4.fc34.x86_64`
* Fedora 34 Beta
* Gnome 40
## Description of Problem:
I have a Dell XPS 13 7390 laptop with integrated Intel audio. When power saving is enabled on the ...## Version, Distribution, Desktop Environment:
* `pipewire-0.3.24-4.fc34.x86_64`
* Fedora 34 Beta
* Gnome 40
## Description of Problem:
I have a Dell XPS 13 7390 laptop with integrated Intel audio. When power saving is enabled on the audio chip, I can hear a periodic 'pop-pop' sound from my laptop speakers (I hear it once every few minutes), even though the speakers are muted and no media is playing. I didn't experience this issue on the same hardware with Fedora 33.
A helpful user on Freenode `#pipewire` explained to me that the 'pop' likely happens when the audio chip is powered on/off, which leads me to the conclusion that pipewire probably powers the audio device on and off periodically, even when there is no media playback.
Please note that this is **not** the same issue as the 'pop' that some people hear when media playback is started. This 'pop' can be heard every couple of minutes when there is **no** media playback, even when the speakers are muted.
### How Reproducible:
Always, when power savings are enabled
### Steps to Reproduce:
1. Start the computer
2. Make sure audio power saving is enabled, eg. `echo 1 > /sys/module/snd_hda_intel/parameters/power_save`
3. Mute the speakers, or just don't play any audio
4. Wait for it
### Actual Results:
I can hear a 'pop-pop' sound every few minutes.
### Expected Results:
The laptop should stay silent.
## Additional Info:
```
[Timur@timur-xps ~]$ lspci | grep [aA]udio
00:1f.3 Audio device: Intel Corporation Comet Lake PCH-LP cAVS
```
`pw-dump > file`
[pw-dump-xps-2021-04-03.txt](/uploads/7396a4b7d8f1833b91566842b1bd7e6a/pw-dump-xps-2021-04-03.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1014Pipewire doesn't recognize on-board audio on B450 motherboard2022-05-24T03:12:16ZTimur KristófPipewire doesn't recognize on-board audio on B450 motherboard## Version, Distribution, Desktop Environment:
* `pipewire-0.3.24-4.fc34.x86_64`
* Fedora 34 Beta
* Gnome 40
## Description of Problem:
My workstation has an MSI B450i motherboard, which has a 'Starship/Matisse' audio controller. The ...## Version, Distribution, Desktop Environment:
* `pipewire-0.3.24-4.fc34.x86_64`
* Fedora 34 Beta
* Gnome 40
## Description of Problem:
My workstation has an MSI B450i motherboard, which has a 'Starship/Matisse' audio controller. The operating system does not recognize this audio device since I upgraded to Fedora 34. Outputs and inputs connected to the on-board audio device are not shown in Gnome Settings. They are not listed in the combo box where I can choose from available audio outputs and inputs.
This is a regression compared to Fedora 33, where the device worked flawlessly.
### How Reproducible:
Always.
### Steps to Reproduce:
1. Boot the computer
2. Plug something into the onboard audio output, eg. a wired headset with the 3.5mm plug
3. Start playing some audio
4. Go to Gnome Settings -> Sound
### Actual Results:
The on-board audio device is not recognized, hence there is no audio heard on the headset. (The system only sees the audio output of the GPU, and tries to play audio using that.) The on-board device is not listed among the outputs or inputs in Gnome Settings.
### Expected Results:
The system should recognize the on-board audio chip, notice when I plug something in and play audio on the headset. The on-board device should be listed among the outputs or inputs in Gnome Settings.
## Additional Info
```
[Timur@timur-zen ~]$ lspci | grep [Aa]udio
2b:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device ab28
2d:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
```
```
pw-dump
```
[pwdump-2021-04-06-1.txt](/uploads/950a8b0aabc11d74bc40ce7241fb6925/pwdump-2021-04-06-1.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1015pw_filter: client too slow! rate:2048/48000 pos:87223296 status:triggered2021-04-25T14:33:09ZWellington Wallace Miguel Melopw_filter: client too slow! rate:2048/48000 pos:87223296 status:triggeredWhat could be causing the PipeWire warning shown in the title? I wonder if they are related to a random issue I have observed. Sometimes I have silence in the processing chain even if all the nodes are linked and a player is sending audi...What could be causing the PipeWire warning shown in the title? I wonder if they are related to a random issue I have observed. Sometimes I have silence in the processing chain even if all the nodes are linked and a player is sending audio to the sink. As far as I can see sink, links and nodes are all active when this happens. The first impression is that the warning in the title comes when this happens.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1016pw_filter: do audio filters require PW_FILTER_FLAG_RT_PROCESS?2022-01-16T14:11:59ZWellington Wallace Miguel Melopw_filter: do audio filters require PW_FILTER_FLAG_RT_PROCESS?While testing the bug reported in another issue I've noticed that my filters only work when the flag `PW_FILTER_FLAG_RT_PROCESS` is passed to `pw_filter_connect`. Is that how it is supposed to work or a bug?
I do not have any reason to ...While testing the bug reported in another issue I've noticed that my filters only work when the flag `PW_FILTER_FLAG_RT_PROCESS` is passed to `pw_filter_connect`. Is that how it is supposed to work or a bug?
I do not have any reason to not use the realtime thread. I just want to know if this is a sign I am doing a mistake somewhere.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1017PulseAudio tunnel support2021-04-14T17:05:43ZYussuf KhalilPulseAudio tunnel supportPulseAudio used to have a tunnel module that allowed a PulseAudio server to forward its output to sinks attached to a remote server. Currently, this functionality seems to be missing entirely from PipeWire. In my use case, for example, I...PulseAudio used to have a tunnel module that allowed a PulseAudio server to forward its output to sinks attached to a remote server. Currently, this functionality seems to be missing entirely from PipeWire. In my use case, for example, I have a stereo system connected to a Raspberry Pi with a PulseAudio instance that exposes the sink via the local network. On my computers, PulseAudio was configured to tunnel output to these sinks. While it's possible to start clients with `PULSE_SERVER=<raspberry pi address>`, that's rather cumbersome as it requires more effort to switch between local sinks (e.g., my headphones) and the remote sink.
To be 100% compatible with PulseAudio, PipeWire should implement support for PulseAudio tunnels, or at least provide an alternative to tunnel output between two PipeWire instances.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1018Warnings when compiling current master with gcc112021-11-02T09:54:36ZBjörn Daasebjoern.daase@gmail.comWarnings when compiling current master with gcc11As discussed on IRC, current master throws a bunch of warnings when compiled using gcc11 (the current default in F34) but not when compiled with gcc10 (the current default in F33).
The warnings look as follows, they mostly are `Warray-b...As discussed on IRC, current master throws a bunch of warnings when compiled using gcc11 (the current default in F34) but not when compiled with gcc10 (the current default in F33).
The warnings look as follows, they mostly are `Warray-bounds` warnings:
```
[201/409] Compiling C object src/pipewire/libpipewire-0.3.so.0.324.0.p/impl-device.c.o
In file included from ../spa/include/spa/monitor/utils.h:32,
from ../src/pipewire/impl-device.c:28:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘pw_impl_device_for_each_param’ at ../src/pipewire/impl-device.c:342:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/pipewire/impl-device.c: In function ‘pw_impl_device_for_each_param’:
../src/pipewire/impl-device.c:325:25: note: ‘buffer’ declared here
325 | uint8_t buffer[1024];
| ^~~~~~
[217/409] Compiling C object src/pipewire/libpipewire-0.3.so.0.324.0.p/filter.c.o
In file included from ../spa/include/spa/node/utils.h:32,
from ../src/pipewire/filter.c:34:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘impl_port_enum_params’ at ../src/pipewire/filter.c:532:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/pipewire/filter.c: In function ‘impl_port_enum_params’:
../src/pipewire/filter.c:500:17: note: ‘buffer’ declared here
500 | uint8_t buffer[1024];
| ^~~~~~
[222/409] Compiling C object src/pipewire/libpipewire-0.3.so.0.324.0.p/impl-port.c.o
In file included from ../spa/include/spa/param/audio/format-utils.h:34,
from ../src/pipewire/impl-port.c:30:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘pw_impl_port_for_each_param’ at ../src/pipewire/impl-port.c:1160:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/pipewire/impl-port.c: In function ‘pw_impl_port_for_each_param’:
../src/pipewire/impl-port.c:1143:25: note: ‘buffer’ declared here
1143 | uint8_t buffer[1024];
| ^~~~~~
[224/409] Compiling C object src/pipewire/libpipewire-0.3.so.0.324.0.p/impl-node.c.o
In file included from ../spa/include/spa/pod/filter.h:33,
from ../src/pipewire/impl-node.c:34:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘pw_impl_node_for_each_param’ at ../src/pipewire/impl-node.c:1906:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/pipewire/impl-node.c: In function ‘pw_impl_node_for_each_param’:
../src/pipewire/impl-node.c:1889:25: note: ‘buffer’ declared here
1889 | uint8_t buffer[1024];
| ^~~~~~
[241/409] Compiling C object src/pipewire/libpipewire-0.3.so.0.324.0.p/stream.c.o
In file included from ../spa/include/spa/node/utils.h:32,
from ../src/pipewire/stream.c:34:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘impl_port_enum_params’ at ../src/pipewire/stream.c:568:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/pipewire/stream.c: In function ‘impl_port_enum_params’:
../src/pipewire/stream.c:539:17: note: ‘buffer’ declared here
539 | uint8_t buffer[1024];
| ^~~~~~
[293/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_client-endpoint_endpoint.c.o
In file included from ../spa/include/spa/pod/filter.h:33,
from ../src/modules/module-session-manager/client-endpoint/endpoint.c:32:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘endpoint_enum_params’ at ../src/modules/module-session-manager/client-endpoint/endpoint.c:81:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/client-endpoint/endpoint.c: In function ‘endpoint_enum_params’:
../src/modules/module-session-manager/client-endpoint/endpoint.c:62:17: note: ‘buffer’ declared here
62 | uint8_t buffer[1024];
| ^~~~~~
[295/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_client-endpoint_endpoint-stream.c.o
In file included from ../spa/include/spa/pod/filter.h:33,
from ../src/modules/module-session-manager/client-endpoint/endpoint-stream.c:32:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘endpoint_stream_enum_params’ at ../src/modules/module-session-manager/client-endpoint/endpoint-stream.c:79:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/client-endpoint/endpoint-stream.c: In function ‘endpoint_stream_enum_params’:
../src/modules/module-session-manager/client-endpoint/endpoint-stream.c:62:17: note: ‘buffer’ declared here
62 | uint8_t buffer[1024];
| ^~~~~~
[297/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_client-session_endpoint-link.c.o
In file included from ../spa/include/spa/pod/filter.h:33,
from ../src/modules/module-session-manager/client-session/endpoint-link.c:32:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘endpoint_link_enum_params’ at ../src/modules/module-session-manager/client-session/endpoint-link.c:79:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/client-session/endpoint-link.c: In function ‘endpoint_link_enum_params’:
../src/modules/module-session-manager/client-session/endpoint-link.c:62:17: note: ‘buffer’ declared here
62 | uint8_t buffer[1024];
| ^~~~~~
[298/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_endpoint-link.c.o
In file included from ../src/extensions/session-manager/introspect-funcs.h:30,
from ../src/modules/module-session-manager/endpoint-link.c:28:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘method_enum_params’ at ../src/modules/module-session-manager/endpoint-link.c:126:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/endpoint-link.c: In function ‘method_enum_params’:
../src/modules/module-session-manager/endpoint-link.c:106:17: note: ‘buffer’ declared here
106 | uint8_t buffer[1024];
| ^~~~~~
[301/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_endpoint-stream.c.o
In file included from ../src/extensions/session-manager/introspect-funcs.h:30,
from ../src/modules/module-session-manager/endpoint-stream.c:28:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘method_enum_params’ at ../src/modules/module-session-manager/endpoint-stream.c:126:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/endpoint-stream.c: In function ‘method_enum_params’:
../src/modules/module-session-manager/endpoint-stream.c:106:17: note: ‘buffer’ declared here
106 | uint8_t buffer[1024];
| ^~~~~~
[303/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_client-session_session.c.o
In file included from ../spa/include/spa/pod/filter.h:33,
from ../src/modules/module-session-manager/client-session/session.c:32:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘session_enum_params’ at ../src/modules/module-session-manager/client-session/session.c:79:7:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/client-session/session.c: In function ‘session_enum_params’:
../src/modules/module-session-manager/client-session/session.c:62:17: note: ‘buffer’ declared here
62 | uint8_t buffer[1024];
| ^~~~~~
[306/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_endpoint.c.o
In file included from ../src/extensions/session-manager/introspect-funcs.h:30,
from ../src/modules/module-session-manager/endpoint.c:28:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘method_enum_params’ at ../src/modules/module-session-manager/endpoint.c:126:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/endpoint.c: In function ‘method_enum_params’:
../src/modules/module-session-manager/endpoint.c:106:17: note: ‘buffer’ declared here
106 | uint8_t buffer[1024];
| ^~~~~~
[316/409] Compiling C object src/modules/libpipewire-module-session-manager.so.p/module-session-manager_session.c.o
In file included from ../src/extensions/session-manager/introspect-funcs.h:30,
from ../src/modules/module-session-manager/session.c:28:
In function ‘spa_pod_builder_raw’,
inlined from ‘spa_pod_builder_pad’ at ../spa/include/spa/pod/builder.h:155:16,
inlined from ‘spa_pod_builder_raw_padded’ at ../spa/include/spa/pod/builder.h:162:11,
inlined from ‘spa_pod_filter’ at ../spa/include/spa/pod/filter.h:383:9,
inlined from ‘method_enum_params’ at ../src/modules/module-session-manager/session.c:126:8:
../spa/include/spa/pod/builder.h:141:17: warning: ‘memcpy’ offset [1025, 9223372036854775807] is out of the bounds [0, 1024] of object ‘buffer’ with type ‘uint8_t[1024]’ {aka ‘unsigned char[1024]’} [-Warray-bounds]
141 | memcpy(SPA_MEMBER(builder->data, offset, void), data, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/modules/module-session-manager/session.c: In function ‘method_enum_params’:
../src/modules/module-session-manager/session.c:106:17: note: ‘buffer’ declared here
106 | uint8_t buffer[1024];
| ^~~~~~
[386/409] Compiling C object src/gst/libgstpipewire.so.p/gstpipewiresink.c.o
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/gstreamer-1.0/gst/gst.h:27,
from ../src/gst/gstpipewiresink.h:28,
from ../src/gst/gstpipewiresink.c:39:
../src/gst/gstpipewiresink.c: In function ‘gst_pipewire_sink_mode_get_type’:
/usr/include/glib-2.0/glib/gatomic.h:117:5: warning: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Wincompatible-pointer-types]
117 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
| ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
260 | (!g_atomic_pointer_get (location) && \
| ^~~~~~~~~~~~~~~~~~~~
../src/gst/gstpipewiresink.c:82:7: note: in expansion of macro ‘g_once_init_enter’
82 | if (g_once_init_enter (&mode_type)) {
| ^~~~~~~~~~~~~~~~~
```
They were mainly identified as false positives, so maybe we can throw in some macros here to not have them appear as warnings?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1020Pipewire 0.3.24 : Screensharing nor audio works2021-04-07T13:23:10ZBryanPipewire 0.3.24 : Screensharing nor audio worksIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
pipewire
Compiled with libpipewire 0.3.24
Linked with libpipewire 0.3.24
Distro: EndeavourO...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
pipewire
Compiled with libpipewire 0.3.24
Linked with libpipewire 0.3.24
Distro: EndeavourOS
Environment: [river](https://github.com/ifreund/river)/sway
Description of Problem:
Screensharing doesn't work and I have no audio.
I tried following the instructions [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/768) but I've not had any success.
How Reproducible:
It just stopped working one day, I updated 2 or 3 weeks ago and it now nothing works.
Screensharing doesn't work on both river and sway (2 wlroots based compositors) despite no changes to the configurations. I launch /usr/lib/xdg-desktop-portal-wlr at launch, I have pipewire-pulse running but it doesn't show any sink, input or output.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1021pipewire crash when starting a video stream2021-04-08T12:33:11ZBilal Elmoussaouipipewire crash when starting a video streamIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
pipewire 0.3.24
Fedora 34 Beta
GNOME 40
Description of Problem:
Using the XDG portal to...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
pipewire 0.3.24
Fedora 34 Beta
GNOME 40
Description of Problem:
Using the XDG portal to request a screen cast of the user desktop returns an array of pipewire file descriptors as streams. Passing those as the `fd` property of `pipewiresrc` GStreamer element should normally work except it crashes and here are the logs I get by running my application with `PIPEWIRE_DEBUG=5 my-app`
```
[D][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.log'
[D][pipewire.c:131 open_plugin()] loaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so'
[D][000004289.871741][logger.c:287 impl_init()] logger 0x5555571b8358: initialized
[D][000004289.871769][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.cpu'
[D][000004289.871784][cpu.c:192 impl_init()] cpu 0x5555571d1088: count:8 align:32 flags:00004bdb
[I][000004289.871791][pipewire.c:458 pw_init()] version 0.3.21
[D][000004289.924389][thread-loop.c:114 loop_new()] thread-loop 0x5555571de790: new
[D][000004289.924474][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.system'
[D][000004289.924495][system.c:348 impl_init()] system 0x5555571de8f8: initialized
[D][000004289.924524][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.loop'
[D][000004289.924557][system.c:112 impl_pollfd_create()] system 0x5555571de8f8: new fd:25
[D][000004289.924571][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:26
[D][000004289.924601][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:27
[D][000004289.924606][loop.c:815 impl_init()] loop 0x55555729fda8: initialized
[D][000004289.924620][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:28
[D][000004289.924628][context.c:212 pw_context_new()] context 0x5555571b61d0: new
[D][000004289.924684][data-loop.c:110 loop_new()] data-loop 0x55555718ce70: new
[D][000004289.924694][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.system'
[D][000004289.924702][system.c:348 impl_init()] system 0x5555571ddc28: initialized
[D][000004289.924709][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.loop'
[D][000004289.924727][system.c:112 impl_pollfd_create()] system 0x5555571ddc28: new fd:34
[D][000004289.924739][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:35
[D][000004289.924751][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:36
[D][000004289.924758][loop.c:815 impl_init()] loop 0x55555713c838: initialized
[D][000004289.924771][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:37
[D][000004289.924795][mem.c:147 pw_mempool_new()] mempool 0x55555718d060: new
[D][000004289.924803][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-dbus' factory-name:'support.dbus'
[D][000004289.969467][pipewire.c:131 open_plugin()] loaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-dbus.so'
[D][000004289.969499][dbus.c:403 impl_init()] dbus 0x5555571b70f8: initialized
[D][000004289.978571][impl-core.c:425 pw_context_create_core()] impl-core 0x5555571b7320: new pipewire-bilelmoussaoui-51
[D][000004289.978598][global.c:106 pw_global_new()] global 0x5555571dfbf0: new PipeWire:Interface:Core 0
[D][000004289.978609][global.c:150 pw_global_register()] global 0x5555571dfbf0: registered 0
[New Thread 0x7fffee106700 (LWP 85)]
[D][000004289.978915][context.c:325 pw_context_new()] context 0x5555571b61d0: module profile default
[D][000004289.978927][context.c:82 load_module_profiles()] context 0x5555571b61d0: loading default profile
[D][000004289.978926][data-loop.c:73 do_loop()] data-loop 0x55555718ce70: enter thread
[T][000004289.978944][loop.c:264 loop_enter()] loop 0x55555713c838: enter 140737187440384
[D][000004289.978960][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004289.978977][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-protocol-native (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so) args((null))
[D][000004289.989434][global.c:106 pw_global_new()] global 0x5555571e0aa0: new PipeWire:Interface:Module 1
[D][000004289.989495][protocol.c:70 pw_protocol_new()] protocol 0x5555571e0bd0: Created protocol PipeWire:Protocol:Native
[D][000004289.989507][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Core/3 to protocol PipeWire:Protocol:Native
[D][000004289.989515][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Registry/3 to protocol PipeWire:Protocol:Native
[D][000004289.989521][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Module/3 to protocol PipeWire:Protocol:Native
[D][000004289.989526][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Device/3 to protocol PipeWire:Protocol:Native
[D][000004289.989546][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Node/3 to protocol PipeWire:Protocol:Native
[D][000004289.989552][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Port/3 to protocol PipeWire:Protocol:Native
[D][000004289.989558][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Factory/3 to protocol PipeWire:Protocol:Native
[D][000004289.989564][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Client/3 to protocol PipeWire:Protocol:Native
[D][000004289.989571][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Link/3 to protocol PipeWire:Protocol:Native
[D][000004289.989583][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Core/0 to protocol PipeWire:Protocol:Native
[D][000004289.989590][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Registry/0 to protocol PipeWire:Protocol:Native
[D][000004289.989595][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Module/0 to protocol PipeWire:Protocol:Native
[D][000004289.989602][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Node/0 to protocol PipeWire:Protocol:Native
[D][000004289.989608][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Port/0 to protocol PipeWire:Protocol:Native
[D][000004289.989614][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Factory/0 to protocol PipeWire:Protocol:Native
[D][000004289.989620][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Client/0 to protocol PipeWire:Protocol:Native
[D][000004289.989627][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Link/0 to protocol PipeWire:Protocol:Native
[D][000004289.989633][module-protocol-native.c:1278 pipewire__module_init()] protocol-native 0x5555571e0bd0: new debug:0
[D][000004289.989638][module-protocol-native.c:1112 create_server()] protocol-native 0x5555571e0bd0: created server 0x5555571e0ef0
[D][000004289.989647][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555571e07d0: updated 3 properties
[D][000004289.989652][global.c:150 pw_global_register()] global 0x5555571e0aa0: registered 1
[D][000004289.989655][impl-module.c:256 pw_context_load_module()] module 0x5555571e07d0: loaded module: libpipewire-module-protocol-native
[D][000004289.989660][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004289.989672][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-client-node (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so) args((null))
[D][000004290.001158][global.c:106 pw_global_new()] global 0x5555571e1c00: new PipeWire:Interface:Module 2
[D][000004290.001183][impl-factory.c:70 pw_context_create_factory()] factory 0x5555571e1e80: new client-node
[D][000004290.001189][module-client-node.c:168 pipewire__module_init()] module 0x5555571e1930: new
[D][000004290.001198][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientNode/3 to protocol PipeWire:Protocol:Native
[D][000004290.001204][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientNode/0 to protocol PipeWire:Protocol:Native
[D][000004290.001209][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Node to context
[D][000004290.001213][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type Spa:Pointer:Interface:Node to context
[D][000004290.001219][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555571e1930: updated 3 properties
[D][000004290.001223][global.c:150 pw_global_register()] global 0x5555571e1c00: registered 2
[D][000004290.001227][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555571e1e80: updated 1 properties
[D][000004290.001231][global.c:106 pw_global_new()] global 0x5555572a80f0: new PipeWire:Interface:Factory 3
[D][000004290.001238][global.c:150 pw_global_register()] global 0x5555572a80f0: registered 3
[D][000004290.001241][impl-module.c:256 pw_context_load_module()] module 0x5555571e1930: loaded module: libpipewire-module-client-node
[D][000004290.001247][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.001258][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-client-device (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-device.so) args((null))
[D][000004290.009881][global.c:106 pw_global_new()] global 0x5555572a8d60: new PipeWire:Interface:Module 4
[D][000004290.009899][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572a9020: new client-device
[D][000004290.009903][module-client-device.c:182 pipewire__module_init()] module 0x5555572a8a90: new
[D][000004290.009907][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal Spa:Pointer:Interface:Device/0 to protocol PipeWire:Protocol:Native
[D][000004290.009911][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type Spa:Pointer:Interface:Device to context
[D][000004290.009916][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572a8a90: updated 3 properties
[D][000004290.009919][global.c:150 pw_global_register()] global 0x5555572a8d60: registered 4
[D][000004290.009925][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572a9020: updated 1 properties
[D][000004290.009929][global.c:106 pw_global_new()] global 0x5555572a9400: new PipeWire:Interface:Factory 5
[D][000004290.009936][global.c:150 pw_global_register()] global 0x5555572a9400: registered 5
[D][000004290.009940][impl-module.c:256 pw_context_load_module()] module 0x5555572a8a90: loaded module: libpipewire-module-client-device
[D][000004290.009945][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.009955][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-adapter (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-adapter.so) args((null))
[D][000004290.020237][global.c:106 pw_global_new()] global 0x5555572aa100: new PipeWire:Interface:Module 6
[D][000004290.020269][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572aa3a0: new adapter
[D][000004290.020278][module-adapter.c:320 pipewire__module_init()] module 0x5555572a9e50: new
[D][000004290.020285][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572a9e50: updated 3 properties
[D][000004290.020291][global.c:150 pw_global_register()] global 0x5555572aa100: registered 6
[D][000004290.020296][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572aa3a0: updated 1 properties
[D][000004290.020301][global.c:106 pw_global_new()] global 0x5555572aa740: new PipeWire:Interface:Factory 7
[D][000004290.020308][global.c:150 pw_global_register()] global 0x5555572aa740: registered 7
[D][000004290.020312][impl-module.c:256 pw_context_load_module()] module 0x5555572a9e50: loaded module: libpipewire-module-adapter
[D][000004290.020319][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.020336][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-metadata (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so) args((null))
[D][000004290.030729][global.c:106 pw_global_new()] global 0x5555572ab400: new PipeWire:Interface:Module 8
[D][000004290.030755][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Metadata/3 to protocol PipeWire:Protocol:Native
[D][000004290.030762][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Metadata/3 to protocol PipeWire:Protocol:Native
[D][000004290.030768][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ab6c0: new metadata
[D][000004290.030775][module-metadata.c:173 pipewire__module_init()] module 0x5555572ab150: new
[D][000004290.030781][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Metadata to context
[D][000004290.030789][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572ab150: updated 3 properties
[D][000004290.030795][global.c:150 pw_global_register()] global 0x5555572ab400: registered 8
[D][000004290.030801][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ab6c0: updated 1 properties
[D][000004290.030808][global.c:106 pw_global_new()] global 0x5555572aba70: new PipeWire:Interface:Factory 9
[D][000004290.030817][global.c:150 pw_global_register()] global 0x5555572aba70: registered 9
[D][000004290.030821][impl-module.c:256 pw_context_load_module()] module 0x5555572ab150: loaded module: libpipewire-module-metadata
[D][000004290.030829][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.030859][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-session-manager (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-session-manager.so) args((null))
[D][000004290.041200][global.c:106 pw_global_new()] global 0x5555572ac890: new PipeWire:Interface:Module 10
[D][000004290.041223][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientEndpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041228][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientSession/0 to protocol PipeWire:Protocol:Native
[D][000004290.041232][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointLink/0 to protocol PipeWire:Protocol:Native
[D][000004290.041235][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointStream/0 to protocol PipeWire:Protocol:Native
[D][000004290.041239][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Endpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041243][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Session/0 to protocol PipeWire:Protocol:Native
[D][000004290.041246][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointLink/0 to protocol PipeWire:Protocol:Native
[D][000004290.041250][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointStream/0 to protocol PipeWire:Protocol:Native
[D][000004290.041254][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Endpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041257][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Session/0 to protocol PipeWire:Protocol:Native
[D][000004290.041262][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572acc50: new client-endpoint
[D][000004290.041266][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572acec0: new client-session
[D][000004290.041272][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad130: new session
[D][000004290.041287][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Session to context
[D][000004290.041294][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad3c0: new endpoint
[D][000004290.041298][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Endpoint to context
[D][000004290.041301][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad650: new endpoint-stream
[D][000004290.041305][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:EndpointStream to context
[D][000004290.041308][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad8e0: new endpoint-link
[D][000004290.041312][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:EndpointLink to context
[D][000004290.041316][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572ac5f0: updated 3 properties
[D][000004290.041319][global.c:150 pw_global_register()] global 0x5555572ac890: registered 10
[D][000004290.041323][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572acc50: updated 1 properties
[D][000004290.041326][global.c:106 pw_global_new()] global 0x5555572adcb0: new PipeWire:Interface:Factory 11
[D][000004290.041332][global.c:150 pw_global_register()] global 0x5555572adcb0: registered 11
[D][000004290.041335][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572acec0: updated 1 properties
[D][000004290.041339][global.c:106 pw_global_new()] global 0x5555572ae0e0: new PipeWire:Interface:Factory 12
[D][000004290.041343][global.c:150 pw_global_register()] global 0x5555572ae0e0: registered 12
[D][000004290.041347][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad130: updated 1 properties
[D][000004290.041350][global.c:106 pw_global_new()] global 0x5555572ae510: new PipeWire:Interface:Factory 13
[D][000004290.041355][global.c:150 pw_global_register()] global 0x5555572ae510: registered 13
[D][000004290.041358][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad3c0: updated 1 properties
[D][000004290.041361][global.c:106 pw_global_new()] global 0x5555572ae940: new PipeWire:Interface:Factory 14
[D][000004290.041366][global.c:150 pw_global_register()] global 0x5555572ae940: registered 14
[D][000004290.041369][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad650: updated 1 properties
[D][000004290.041372][global.c:106 pw_global_new()] global 0x5555572aed70: new PipeWire:Interface:Factory 15
[D][000004290.041377][global.c:150 pw_global_register()] global 0x5555572aed70: registered 15
[D][000004290.041380][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad8e0: updated 1 properties
[D][000004290.041384][global.c:106 pw_global_new()] global 0x5555572af1a0: new PipeWire:Interface:Factory 16
[D][000004290.041388][global.c:150 pw_global_register()] global 0x5555572af1a0: registered 16
[D][000004290.041391][impl-module.c:256 pw_context_load_module()] module 0x5555572ac5f0: loaded module: libpipewire-module-session-manager
[D][000004290.041395][context.c:332 pw_context_new()] context 0x5555571b61d0: created
[New Thread 0x7fffca28d700 (LWP 86)]
[D][000004290.041561][thread-loop.c:238 do_loop()] thread-loop 0x5555571de790: enter thread
[T][000004290.041582][loop.c:264 loop_enter()] loop 0x55555729fda8: enter 140736585062144
[T][000004290.041608][thread-loop.c:312 pw_thread_loop_lock()] thread-loop: 0x5555571de790
[D][000004290.041621][core.c:323 core_new()] core 0x5555572af680: new
[D][000004290.041636][mem.c:147 pw_mempool_new()] mempool 0x5555572b0050: new
[D][000004290.041644][module-protocol-native.c:985 impl_new_client()] protocol-native 0x5555571e0bd0: new client 0x5555572b00c0
[D][000004290.041652][connection.c:371 pw_protocol_native_connection_new()] connection 0x5555572b0170: new fd:-1
[D][000004290.041663][module-protocol-native.c:1009 impl_new_client()] protocol-native 0x5555571e0bd0: connect generic
[D][000004290.041670][proxy.c:112 pw_proxy_new()] proxy 0x5555572b22f0: new 1 type PipeWire:Interface:Client/3 core-proxy:0x5555572af680, marshal:0x7fffca387ea0
[D][000004290.041684][core.c:442 pw_context_connect_fd()] core 0x5555572af680: connect fd:-1
[D][000004290.041689][connection.c:404 pw_protocol_native_connection_set_fd()] connection 0x5555572b0170: fd:-1
[D][000004290.041697][connection.c:419 pw_protocol_native_connection_destroy()] connection 0x5555572b0170: destroy
[D][000004290.041703][core.c:494 pw_core_disconnect()] core 0x5555572af680: disconnect
[D][000004290.041708][proxy.c:272 pw_proxy_remove()] proxy 0x5555572af680: remove id:0 removed:0 destroyed:0 zombie:0 ref:1
[D][000004290.041714][core.c:209 proxy_core_removed()] core 0x5555572af680: core proxy removed
[D][000004290.041719][proxy.c:272 pw_proxy_remove()] proxy 0x5555572b22f0: remove id:1 removed:0 destroyed:0 zombie:0 ref:1
[D][000004290.041725][proxy.c:234 pw_proxy_destroy()] proxy 0x5555572af680: destroy id:0 removed:1 zombie:0 ref:1
[D][000004290.041730][core.c:231 proxy_core_destroy()] core 0x5555572af680: core proxy destroy
[D][000004290.041735][proxy.c:234 pw_proxy_destroy()] proxy 0x5555572b22f0: destroy id:1 removed:1 zombie:0 ref:1
[D][000004290.041740][proxy.c:299 pw_proxy_unref()] proxy 0x5555572b22f0: free 1
[D][000004290.041745][mem.c:174 pw_mempool_destroy()] mempool 0x5555572b0050: destroy
[D][000004290.041750][mem.c:163 pw_mempool_clear()] mempool 0x5555572b0050: clear
[D][000004290.041755][core.c:251 proxy_core_destroy()] core 0x5555572af680: free
[D][000004290.041762][proxy.c:299 pw_proxy_unref()] proxy 0x5555572af680: free 0
[T][000004290.041767][thread-loop.c:324 pw_thread_loop_unlock()] thread-loop: 0x5555571de790
[D][000004290.041773][context.c:367 pw_context_destroy()] context 0x5555571b61d0: destroy
[D][000004290.041778][impl-module.c:308 pw_impl_module_destroy()] module 0x5555571e07d0: destroy
[D][000004290.041783][protocol.c:109 pw_protocol_destroy()] protocol 0x5555571e0bd0: destroy
[D][000004290.041788][module-protocol-native.c:1039 destroy_server()] protocol-native 0x5555571e0bd0: server 0x5555571e0ef0
[D][000004290.041795][global.c:379 pw_global_destroy()] global 0x5555571e0aa0: destroy 1
[D][000004290.041800][global.c:175 global_unregister()] global 0x5555571e0aa0: unregistered 1
[D][000004290.041804][global.c:387 pw_global_destroy()] global 0x5555571e0aa0: free
[D][000004290.041810][impl-module.c:317 pw_impl_module_destroy()] module 0x5555571e07d0: free
[D][000004290.041850][impl-module.c:308 pw_impl_module_destroy()] module 0x5555571e1930: destroy
[D][000004290.041857][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555571e1e80: destroy
[D][000004290.041862][global.c:379 pw_global_destroy()] global 0x5555572a80f0: destroy 3
[D][000004290.041867][global.c:175 global_unregister()] global 0x5555572a80f0: unregistered 3
[D][000004290.041871][global.c:387 pw_global_destroy()] global 0x5555572a80f0: free
[D][000004290.041877][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555571e1e80: free
[D][000004290.041882][global.c:379 pw_global_destroy()] global 0x5555571e1c00: destroy 2
[D][000004290.041887][global.c:175 global_unregister()] global 0x5555571e1c00: unregistered 2
[D][000004290.041892][global.c:387 pw_global_destroy()] global 0x5555571e1c00: free
[D][000004290.041897][impl-module.c:317 pw_impl_module_destroy()] module 0x5555571e1930: free
[D][000004290.049669][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572a8a90: destroy
[D][000004290.049686][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572a9020: destroy
[D][000004290.049692][global.c:379 pw_global_destroy()] global 0x5555572a9400: destroy 5
[D][000004290.049698][global.c:175 global_unregister()] global 0x5555572a9400: unregistered 5
[D][000004290.049703][global.c:387 pw_global_destroy()] global 0x5555572a9400: free
[D][000004290.049709][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572a9020: free
[D][000004290.049715][global.c:379 pw_global_destroy()] global 0x5555572a8d60: destroy 4
[D][000004290.049720][global.c:175 global_unregister()] global 0x5555572a8d60: unregistered 4
[D][000004290.049725][global.c:387 pw_global_destroy()] global 0x5555572a8d60: free
[D][000004290.049730][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572a8a90: free
[D][000004290.056804][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572a9e50: destroy
[D][000004290.056837][module-adapter.c:263 module_destroy()] adapter 0x5555572aa458: destroy
[D][000004290.056849][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572aa3a0: destroy
[D][000004290.056856][global.c:379 pw_global_destroy()] global 0x5555572aa740: destroy 7
[D][000004290.056862][global.c:175 global_unregister()] global 0x5555572aa740: unregistered 7
[D][000004290.056866][global.c:387 pw_global_destroy()] global 0x5555572aa740: free
[D][000004290.056875][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572aa3a0: free
[D][000004290.056882][global.c:379 pw_global_destroy()] global 0x5555572aa100: destroy 6
[D][000004290.056886][global.c:175 global_unregister()] global 0x5555572aa100: unregistered 6
[D][000004290.056889][global.c:387 pw_global_destroy()] global 0x5555572aa100: free
[D][000004290.056895][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572a9e50: free
[D][000004290.064757][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572ab150: destroy
[D][000004290.064785][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ab6c0: destroy
[D][000004290.064791][global.c:379 pw_global_destroy()] global 0x5555572aba70: destroy 9
[D][000004290.064798][global.c:175 global_unregister()] global 0x5555572aba70: unregistered 9
[D][000004290.064806][global.c:387 pw_global_destroy()] global 0x5555572aba70: free
[D][000004290.064826][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ab6c0: free
[D][000004290.064831][global.c:379 pw_global_destroy()] global 0x5555572ab400: destroy 8
[D][000004290.064833][global.c:175 global_unregister()] global 0x5555572ab400: unregistered 8
[D][000004290.064835][global.c:387 pw_global_destroy()] global 0x5555572ab400: free
[D][000004290.064838][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572ab150: free
[D][000004290.071938][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572ac5f0: destroy
[D][000004290.071956][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572acc50: destroy
[D][000004290.071962][global.c:379 pw_global_destroy()] global 0x5555572adcb0: destroy 11
[D][000004290.071967][global.c:175 global_unregister()] global 0x5555572adcb0: unregistered 11
[D][000004290.071972][global.c:387 pw_global_destroy()] global 0x5555572adcb0: free
[D][000004290.071991][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572acc50: free
[D][000004290.071999][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572acec0: destroy
[D][000004290.072002][global.c:379 pw_global_destroy()] global 0x5555572ae0e0: destroy 12
[D][000004290.072005][global.c:175 global_unregister()] global 0x5555572ae0e0: unregistered 12
[D][000004290.072008][global.c:387 pw_global_destroy()] global 0x5555572ae0e0: free
[D][000004290.072014][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572acec0: free
[D][000004290.072018][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad130: destroy
[D][000004290.072021][global.c:379 pw_global_destroy()] global 0x5555572ae510: destroy 13
[D][000004290.072023][global.c:175 global_unregister()] global 0x5555572ae510: unregistered 13
[D][000004290.072025][global.c:387 pw_global_destroy()] global 0x5555572ae510: free
[D][000004290.072028][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad130: free
[D][000004290.072034][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad3c0: destroy
[D][000004290.072037][global.c:379 pw_global_destroy()] global 0x5555572ae940: destroy 14
[D][000004290.072040][global.c:175 global_unregister()] global 0x5555572ae940: unregistered 14
[D][000004290.072044][global.c:387 pw_global_destroy()] global 0x5555572ae940: free
[D][000004290.072048][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad3c0: free
[D][000004290.072065][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad650: destroy
[D][000004290.072081][global.c:379 pw_global_destroy()] global 0x5555572aed70: destroy 15
[D][000004290.072085][global.c:175 global_unregister()] global 0x5555572aed70: unregistered 15
[D][000004290.072088][global.c:387 pw_global_destroy()] global 0x5555572aed70: free
[D][000004290.072094][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad650: free
[D][000004290.072099][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad8e0: destroy
[D][000004290.072116][global.c:379 pw_global_destroy()] global 0x5555572af1a0: destroy 16
[D][000004290.072119][global.c:175 global_unregister()] global 0x5555572af1a0: unregistered 16
[D][000004290.072122][global.c:387 pw_global_destroy()] global 0x5555572af1a0: free
[D][000004290.072126][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad8e0: free
[D][000004290.072129][global.c:379 pw_global_destroy()] global 0x5555572ac890: destroy 10
[D][000004290.072132][global.c:175 global_unregister()] global 0x5555572ac890: unregistered 10
[D][000004290.072135][global.c:387 pw_global_destroy()] global 0x5555572ac890: free
[D][000004290.072138][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572ac5f0: free
[D][000004290.079937][global.c:379 pw_global_destroy()] global 0x5555571dfbf0: destroy 0
[D][000004290.079956][impl-core.c:445 pw_impl_core_destroy()] impl-core 0x5555571b7320: destroy
[D][000004290.079964][impl-core.c:457 pw_impl_core_destroy()] impl-core 0x5555571b7320: free
[D][000004290.079974][global.c:175 global_unregister()] global 0x5555571dfbf0: unregistered 0
[D][000004290.079979][global.c:387 pw_global_destroy()] global 0x5555571dfbf0: free
[D][000004290.079982][context.c:394 pw_context_destroy()] context 0x5555571b61d0: free
[D][000004290.079985][mem.c:174 pw_mempool_destroy()] mempool 0x55555718d060: destroy
[D][000004290.079987][mem.c:163 pw_mempool_clear()] mempool 0x55555718d060: clear
[D][000004290.079990][data-loop.c:166 pw_data_loop_destroy()] data-loop 0x55555718ce70: destroy
[D][000004290.079993][data-loop.c:232 pw_data_loop_stop()] data-loop: 0x55555718ce70 stopping
[D][000004290.079995][data-loop.c:235 pw_data_loop_stop()] data-loop: 0x55555718ce70 signal
[D][000004290.080003][data-loop.c:241 pw_data_loop_stop()] data-loop: 0x55555718ce70 join
[D][000004290.080013][data-loop.c:94 do_stop()] data-loop 0x55555718ce70: stopping
[D][000004290.080021][data-loop.c:63 thread_cleanup()] data-loop 0x55555718ce70: leave thread
[T][000004290.080025][loop.c:270 loop_leave()] loop 0x55555713c838: leave 140737187440384
[D][000004290.080055][data-loop.c:243 pw_data_loop_stop()] data-loop: 0x55555718ce70 joined
[D][000004290.080075][data-loop.c:245 pw_data_loop_stop()] data-loop: 0x55555718ce70 stopped
[T][000004290.080082][loop.c:653 loop_destroy_source()] loop 0x55555718cff0
[D][000004290.080103][system.c:85 impl_close()] system 0x5555571ddc28: close fd:37
[D][000004290.080115][pipewire.c:195 unref_handle()] clear handle 'support.loop'
[T][000004290.080120][loop.c:653 loop_destroy_source()] loop 0x55555718cf80
[D][000004290.080131][system.c:85 impl_close()] system 0x5555571ddc28: close fd:35
[D][000004290.080139][system.c:85 impl_close()] system 0x5555571ddc28: close fd:36
[D][000004290.080147][system.c:85 impl_close()] system 0x5555571ddc28: close fd:34
[Thread 0x7fffee106700 (LWP 85) exited]
[D][000004290.080177][pipewire.c:195 unref_handle()] clear handle 'support.system'
[D][000004290.080184][pipewire.c:195 unref_handle()] clear handle 'support.dbus'
[D][000004290.080188][pipewire.c:156 unref_plugin()] unloaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-dbus.so'
[D][000004290.088497][thread-loop.c:290 pw_thread_loop_stop()] thread-loop: 0x5555571de790 stopping 1
[D][000004290.088527][thread-loop.c:292 pw_thread_loop_stop()] thread-loop: 0x5555571de790 signal
[D][000004290.088547][thread-loop.c:294 pw_thread_loop_stop()] thread-loop: 0x5555571de790 join
[D][000004290.088561][thread-loop.c:88 do_stop()] stopping
[D][000004290.088570][thread-loop.c:250 do_loop()] thread-loop 0x5555571de790: leave thread
[T][000004290.088575][loop.c:270 loop_leave()] loop 0x55555729fda8: leave 140736585062144
[D][000004290.088614][thread-loop.c:296 pw_thread_loop_stop()] thread-loop: 0x5555571de790 joined
[D][000004290.088620][thread-loop.c:299 pw_thread_loop_stop()] thread-loop: 0x5555571de790 stopped
[T][000004290.088624][loop.c:653 loop_destroy_source()] loop 0x55555718c950
[D][000004290.088643][system.c:85 impl_close()] system 0x5555571de8f8: close fd:28
[D][000004290.088649][pipewire.c:195 unref_handle()] clear handle 'support.loop'
[T][000004290.088653][loop.c:653 loop_destroy_source()] loop 0x5555572c0560
[D][000004290.088660][system.c:85 impl_close()] system 0x5555571de8f8: close fd:26
[D][000004290.088667][system.c:85 impl_close()] system 0x5555571de8f8: close fd:27
[D][000004290.088675][system.c:85 impl_close()] system 0x5555571de8f8: close fd:25
[D][000004290.088680][pipewire.c:195 unref_handle()] clear handle 'support.system'
[Thread 0x7fffca28d700 (LWP 86) exited]
```
How Reproducible:
Everytime I use the screen cast portal, using another portal that returns a pipewire file descriptor like the camera one works super smoothly!
Steps to Reproduce:
I would love to provide an easy way to test it, but the portal call under gnome just calls mutter's screen cast DBus API. I will see if I can write a portable reproducer
Actual Results:
Pipewire crashing
Expected Results:
The stream being handled properly
Additional Info Eg. `pw-dump > file` (As Attachment Please):
[dump.txt](/uploads/b1e60483d005ae486082cae92a39c67a/dump.txt)
Please let me know if I should provide more information, thanks!https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1022WH-1000XM3 no longer recording any audio2021-04-07T15:44:27ZSteven XuWH-1000XM3 no longer recording any audioWhen I was using PipeWire 0.3.19, my WH-1000XM3 worked fine in `headset-head-unit-msbc` mode.
In 0.3.25 (0.3.24 as well, maybe a version before that too) however I don't get any recording. After doing `pw-record /tmp/recording.flac` and...When I was using PipeWire 0.3.19, my WH-1000XM3 worked fine in `headset-head-unit-msbc` mode.
In 0.3.25 (0.3.24 as well, maybe a version before that too) however I don't get any recording. After doing `pw-record /tmp/recording.flac` and looking at the file in a hex editor, I get a file that's filled with 0s, apart from the file header.
The only changes I made to the config files are:
- `/etc/bluetooth/main.conf`.
- `#DiscoverableTimeout = 0` to `DiscoverableTimeout = 0`.
- `#AutoEnable=false` to `AutoEnable=true`.
- `/etc/pipewire/media-session.d/bluez-monitor.conf`
- `#bluez5.msbc-support = false` to `bluez5.msbc-support = true`
When running `pactl list cards` I have the output:
```
Card #44
Name: bluez_card.CC_98_8B_A8_5E_10
Driver: module-bluez5-device.c
Owner Module: n/a
Properties:
device.api = "bluez5"
media.class = "Audio/Device"
device.name = "bluez_card.CC_98_8B_A8_5E_10"
device.description = "WH-1000XM3"
device.alias = "WH-1000XM3"
device.icon_name = "audio-card"
device.form_factor = "headset"
device.string = "CC:98:8B:A8:5E:10"
api.bluez5.path = "/org/bluez/hci0/dev_CC_98_8B_A8_5E_10"
api.bluez5.address = "CC:98:8B:A8:5E:10"
api.bluez5.device = ""
api.bluez5.class = "0x240404"
api.bluez5.connection = "connected"
bluez5.reconnect-profiles = "[ hfp_hf hsp_hs a2dp_sink ]"
bluez5.msbc-support = "true"
factory.id = "14"
client.id = "29"
object.id = "44"
device.bus = "bluetooth"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 0, available: yes)
a2dp-sink-sbc: High Fidelity Playback (A2DP Sink, codec SBC) (sinks: 1, sources: 0, priority: 0, available: yes)
a2dp-sink-aac: High Fidelity Playback (A2DP Sink, codec AAC) (sinks: 1, sources: 0, priority: 0, available: yes)
a2dp-sink-aptx: High Fidelity Playback (A2DP Sink, codec aptX) (sinks: 1, sources: 0, priority: 0, available: yes)
a2dp-sink-aptx_hd: High Fidelity Playback (A2DP Sink, codec aptX HD) (sinks: 1, sources: 0, priority: 0, available: yes)
a2dp-sink-ldac: High Fidelity Playback (A2DP Sink, codec LDAC) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit-cvsd: Headset Head Unit (HSP/HFP, codec CVSD) (sinks: 1, sources: 1, priority: 0, available: yes)
headset-head-unit-msbc: Headset Head Unit (HSP/HFP, codec mSBC) (sinks: 1, sources: 1, priority: 0, available: yes)
Active Profile: headset-head-unit-msbc
Ports:
headset-input: Headset (type: Headset, priority: 0, latency offset: 0 usec, available)
Properties:
port.type = "headset"
Part of profile(s): headset-head-unit, headset-head-unit-cvsd, headset-head-unit-msbc
headset-output: Headset (type: Headset, priority: 0, latency offset: 0 usec, available)
Properties:
port.type = "headset"
Part of profile(s): a2dp-sink, headset-head-unit, a2dp-sink-sbc, a2dp-sink-aac, a2dp-sink-aptx, a2dp-sink-aptx_hd, a2dp-sink-ldac, headset-head-unit-cvsd, headset-head-unit-msbc
```
Anyone have any idea?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1023pulse does not show any devices2021-04-07T15:44:09ZMoritz Müller-Guthofpulse does not show any devicesSystem: Arch Linux
```
pipewire --version:
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
```
I just updated my system and now pulse doesn't show any sinks, sources or cards. I replaced old config files as suggested pre...System: Arch Linux
```
pipewire --version:
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
```
I just updated my system and now pulse doesn't show any sinks, sources or cards. I replaced old config files as suggested previous issues.
pipewire-media-session.service and pipewire-pulse.service are active as well.
Removing all config files and reinstalling pipewire did not help either.
[PIPEWIRE_DEBUG=3 pipewire-media-session 2>log](/uploads/e4af752516f8f116cfca39674dd49e9c/log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1024Loopback devices broken in several consecutive releases2021-04-08T16:22:50ZAndrew AndersonLoopback devices broken in several consecutive releases
Version, Distribution, Desktop Environment:
0.3.19, 0.3.20, 0.3.21, 0.3.22, 0.3.23, 0.3.24, 0.3.25
Arch Linux / Gnome
Description of Problem:
Loopback devices (pulseaudio module-loopback) are necessary to perform software routing of au...
Version, Distribution, Desktop Environment:
0.3.19, 0.3.20, 0.3.21, 0.3.22, 0.3.23, 0.3.24, 0.3.25
Arch Linux / Gnome
Description of Problem:
Loopback devices (pulseaudio module-loopback) are necessary to perform software routing of audio between virtual devices, for example, mixing an audio source with a microphone input to create a send for input to a videoconference.
This is pretty simple to do using the pulseadio command line tools, and it used to work perfectly with pipewire. However, since 0.3.18, it doesn't work at all. In all releases from 0.3.19 to 0.3.24 inclusive, the command `pactl load-module module-loopback` hangs for 30 seconds until a timeout is hit.
In 0.3.25, the loopback is created, but it *ignores the source and sink arguments passed*, making it effectively useless.
How Reproducible:
I attach a simple script which sets up a basic audio flow for videoconferencing. Four null sinks are created and connected with loopbacks such that audio from the microphone is mixed with audio from other applications (such as a browser or video player) which are connected to the mix:receive sink. The mixed audio is then sent to the mix:send sink for onward broadcast to viewers/listeners, and the audio from all but the microphone is additionally sent to another null sink for monitoring by the presenter.
Steps to Reproduce:
1. Execute the script or the commands therein
2. Look at pavucontrol "Playback" and "Recording" tabs
3. Speak into the microphone or start an application such as vlc or spotify and connect it to the mix:receive sink
Actual Results:
pre 0.3.25: timeout is hit when creating any loopback device and the command fails
post 0.3.25: loopbacks are created between seemingly random devices. no audio on mix:send (probably due to the loopbacks not being connected as specified)
Expected Results:
Loopbacks are connected to the correct devices and the audio is mixed as specified.
[sound.sh](/uploads/acb7becc6c0d9b598362c5675a6111bb/sound.sh)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1025Question: connecting both source and sink bluetooth devices2021-04-10T18:09:09ZissQuestion: connecting both source and sink bluetooth devicesHi,
This is a bluetooth question.
I have a nonstandard use case that the main device (that pipewire runs) connects to a bluetooth source device (HFP AG) and also connects to bluetooth sink device (HFP HF). Something similar to what's d...Hi,
This is a bluetooth question.
I have a nonstandard use case that the main device (that pipewire runs) connects to a bluetooth source device (HFP AG) and also connects to bluetooth sink device (HFP HF). Something similar to what's done in this, https://github.com/hakanjansson/hfp_sco_relay.
```
[HFP HF] <-> DUT (device under test) with PW <-> [HFP AG]
```
An application is to relaying the voice and add signal/notifications to the voice channel.
I also need to do the similar for A2DP source and sink.
Devices detection and link connection are fine (see the dot file for a2dp).
However, when audio is streamed out from the source, I see lots of over/under run (XRun), and this is from a2dp profile.
```
[D][000001381.390719][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:504 time:0 delay:0 max:0
[D][000001381.401384][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:505 time:0 delay:0 max:0
[D][000001381.412049][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:506 time:0 delay:0 max:0
[D][000001381.422718][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:507 time:0 delay:0 max:0
[D][000001381.433381][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:508 time:0 delay:0 max:0
[D][000001381.444047][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:509 time:0 delay:0 max:0
[D][000001381.454715][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:510 time:0 delay:0 max:0
[D][000001381.465364][remote-node.c:1174 node_xrun()] node 0x55938dfda0: XRun! count:511 time:0 delay:0 max:0
```
This test was done on the embedded devices (cortext A53, descent processor).
I did the same on the ubuntu desktop, and I don't see the above issues.
I've been looking into the code; it seems to be pointing out the buffers, but not quite clear where to look, and any suggested direction would be appreciated.
Thank you very much,
```
digraph pipewire {
link_44 [shape=box style=filled fillcolor=lightblue];
link_44 [label="link_id: 44\loutput_node_id: 34\linput_node_id: 36\loutput_port_id: 37\linput_port_id: 41\lstate: active\l"];
port_37 -> link_44 -> port_41;
link_43 [shape=box style=filled fillcolor=lightblue];
link_43 [label="link_id: 43\loutput_node_id: 34\linput_node_id: 36\loutput_port_id: 38\linput_port_id: 39\lstate: active\l"];
port_38 -> link_43 -> port_39;
subgraph cluster_node_36 {
bgcolor=palegreen;
label="node_id: 36\lname: bluez_output.70_xx_xx_xx_xx_xx.a2dp-sink\lmedia_class: Audio/Sink\l"
port_42 [shape=box style=filled fillcolor=lightcoral];
port_42 [label="port_id: 42\lname: monitor_FR\ldirection: output\l"];
port_41 [shape=box style=filled fillcolor=lightslateblue];
port_41 [label="port_id: 41\lname: playback_FR\ldirection: input\l"];
port_40 [shape=box style=filled fillcolor=lightcoral];
port_40 [label="port_id: 40\lname: monitor_FL\ldirection: output\l"];
port_39 [shape=box style=filled fillcolor=lightslateblue];
port_39 [label="port_id: 39\lname: playback_FL\ldirection: input\l"];
}
subgraph cluster_node_34 {
bgcolor=palegreen;
label="node_id: 34\lname: bluez_input.40_xx_xx_xx_xx_xx.a2dp-source\lmedia_class: Stream/Output/Audio\l"
port_37 [shape=box style=filled fillcolor=lightcoral];
port_37 [label="port_id: 37\lname: output_FR\ldirection: output\l"];
port_38 [shape=box style=filled fillcolor=lightcoral];
port_38 [label="port_id: 38\lname: output_FL\ldirection: output\l"];
}
subgraph cluster_node_28 {
bgcolor=palegreen;
label="node_id: 28\lname: Dummy-Driver\lmedia_class: (null)\l"
}
}
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1026Headset Head Unit (HSP/HFP) mode tries to use ofono daemon2021-09-19T17:37:34ZJohann PfefferlHeadset Head Unit (HSP/HFP) mode tries to use ofono daemon
Bluetooth Radio: Intel
Bluetooth Headset: tried 4 different devices (Plantronics C720-M, Beyerdynamic Blue Byrd, Beyerdynamic Amiron Wireless, AKG Y45BT)
Desktop Environment: simple window manager
Distribution: Debian 11 (bullseye)
...
Bluetooth Radio: Intel
Bluetooth Headset: tried 4 different devices (Plantronics C720-M, Beyerdynamic Blue Byrd, Beyerdynamic Amiron Wireless, AKG Y45BT)
Desktop Environment: simple window manager
Distribution: Debian 11 (bullseye)
Version (Bluez, Kernel, and PipeWire): 5.55, 5.10.0-5-amd64, 0.3.25
Description of Problem:
If I connect a headset via bluetooth to the computer only the A2DP Profile is visible and selectable. The HSP/HSF profile does not appear in the selection menu of pavucontrol.
How Reproducible:
Steps to Reproduce:
1. Install and start ofono
2. Connect the BT headset
3. Start pavucontrol
Actual Results: No Headset Head Unit (HSP/HFP) profile is selectable in pavucontrol. Only A2DP is available and works as expected.
Expected Results: HSP/HFP can be choosen and it works as expected
If I uninstall or stop ofono both headset profiles (A2DP and HSP/HFP) appear to be recognized by pipewire.
There seems to be a clash between ofono daemon and pipewire on the bluetooth stack about the connected headsethttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1027HSP/HFP profiles need a restart of pipewire-media-session.service2021-04-23T09:30:55ZMatthieu CODRONHSP/HFP profiles need a restart of pipewire-media-session.service- distribution: arch linux
- WM: gnome shell
- kernel: `Linux R2D2-X1 5.11.11-arch1-1 #1 SMP PREEMPT Tue, 30 Mar 2021 14:10:17 +0000 x86_64 GNU/Linux`
- pipewire packages:
```
$ yay -Qs pipewire | grep -v '^ '
local/gst-plugin-p...- distribution: arch linux
- WM: gnome shell
- kernel: `Linux R2D2-X1 5.11.11-arch1-1 #1 SMP PREEMPT Tue, 30 Mar 2021 14:10:17 +0000 x86_64 GNU/Linux`
- pipewire packages:
```
$ yay -Qs pipewire | grep -v '^ '
local/gst-plugin-pipewire 1:0.3.25-1
local/libpipewire02 0.2.7-1
local/pipewire 1:0.3.25-1
local/pipewire-media-session 1:0.3.25-1
local/pipewire-pulse 1:0.3.25-1
```
- bluez packages:
```
$ yay -Qs bluez | grep -v '^ '
local/bluez 5.58-1
local/bluez-firmware 1.2-9
local/bluez-libs 5.58-1
local/bluez-utils 5.58-1
```
- used headset: DENON AH-GC30
Description of Problem:
1. After login, I connect my headset over bluetooth.
In pavucontrol: HSP/HFP profiles are not available (only A2DP are listed)
2. Then I do
- `systemctl --user stop pipewire-media-session.service`
- `systemctl --user start pipewire-media-session.service`
- disconnect my headset (through gnome settings)
- reconnect my headset (through gnome settings)
3. In pavucontrol: HSP/HFP profiles are available (and A2DP are still available)
How Reproducible:
always on my system
Note: since restarting pipewire-media-session.service fixes the issue, I have no detailed logs.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1028Line Out speakers of dock are not becoming the 'default.audio.sink' despite h...2021-04-08T21:32:07ZBjörn Daasebjoern.daase@gmail.comLine Out speakers of dock are not becoming the 'default.audio.sink' despite having a higher 'priority.driver' valueIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* Fedora 34
* pipewire 0.3.25
Description of Problem:
My Line Out speakers connected to a...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* Fedora 34
* pipewire 0.3.25
Description of Problem:
My Line Out speakers connected to a Dell WD15 dock are not becoming the 'default.audio.sink' despite having a higher 'priority.driver' value when plugging in the USB-C cable of the dock.
I have added the following rules to both the alsa-monitor.conf as well as the bluez-monitor.conf
```
{
matches = [
{
node.name = "~bluez_output.AC_12_2F_20_5A_61.*"
}
]
actions = {
update-props = {
priority.driver = 10001
}
}
}
{
matches = [
{
node.name = "~alsa_output.usb-Generic_USB_Audio_200901010001-00.*"
}
]
actions = {
update-props = {
priority.driver = 10000
}
}
}
```
Before connecting the dock
```
➜ media-session.d pactl list sinks
Sink #57
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 48287 / 74% / -7,96 dB, front-right: 48287 / 74% / -7,96 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:1:front:1:playback"
api.alsa.path = "front:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "2"
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC3271 Analog"
alsa.id = "ALC3271 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xdc428000 irq 145"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
card.profile.device = "8"
device.id = "46"
factory.name = "api.alsa.pcm.sink"
priority.driver = "945"
priority.session = "945"
media.class = "Audio/Sink"
node.nick = "HDA Intel PCH"
node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
device.description = "Built-in Audio Analog Stereo"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "57"
node.max-latency = "8192/48000"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 2, not available)
Active Port: analog-output-speaker
Formats:
pcm
```
```
➜ media-session.d pw-metadata
Found "default" metadata 32
update: id:0 key:'default.audio.sink' value:'{ "name": "alsa_output.pci-0000_00_1f.3.analog-stereo" }' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{ "name": "alsa_input.pci-0000_00_1f.3.analog-stereo" }' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{ "name": "v4l2_input.pci-0000_39_00.0-usb-0_1.7_1.0.2" }' type:'Spa:String:JSON'
```
After connecting the dock
```
➜ media-session.d pactl list sinks
Sink #57
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 48287 / 74% / -7,96 dB, front-right: 48287 / 74% / -7,96 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:1:front:1:playback"
api.alsa.path = "front:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "2"
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC3271 Analog"
alsa.id = "ALC3271 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xdc428000 irq 145"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
card.profile.device = "8"
device.id = "46"
factory.name = "api.alsa.pcm.sink"
priority.driver = "945"
priority.session = "945"
media.class = "Audio/Sink"
node.nick = "HDA Intel PCH"
node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
device.description = "Built-in Audio Analog Stereo"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "57"
node.max-latency = "8192/48000"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 2, not available)
Active Port: analog-output-speaker
Formats:
pcm
Sink #45
State: SUSPENDED
Name: alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink
Description: USB Audio Line Out
Driver: PipeWire
Sample Specification: s24le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 28627 / 44% / -21,58 dB, front-right: 28627 / 44% / -21,58 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:0:hw:Dock,1:playback"
api.alsa.path = "hw:Dock,1"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.mixer_device = "hw:Dock"
alsa.resolution_bits = "24"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio #1"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "0"
alsa.card_name = "WD15 Dock"
alsa.long_card_name = "Dell-WD15-Dock"
alsa.driver_name = "snd_usb_audio"
device.profile.name = "HiFi: hw:Dock,1: sink"
device.profile.description = "Line Out"
card.profile.device = "0"
device.id = "68"
factory.name = "api.alsa.pcm.sink"
priority.driver = "10000"
priority.session = "728"
media.class = "Audio/Sink"
node.nick = "WD15 Dock"
node.name = "alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink"
device.description = "USB Audio Line Out"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "45"
Ports:
[Out] Line: Line Out (type: Line, priority: 200, availability unknown)
Active Port: [Out] Line
Formats:
pcm
Sink #55
State: SUSPENDED
Name: alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock__sink
Description: USB Audio Headphones
Driver: PipeWire
Sample Specification: s24le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 48287 / 74% / -7,96 dB, front-right: 48287 / 74% / -7,96 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:pcm:0:hw:Dock:playback"
api.alsa.path = "hw:Dock"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.mixer_device = "hw:Dock"
alsa.resolution_bits = "24"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "WD15 Dock"
alsa.long_card_name = "Dell-WD15-Dock"
alsa.driver_name = "snd_usb_audio"
device.profile.name = "HiFi: hw:Dock: sink"
device.profile.description = "Headphones"
card.profile.device = "1"
device.id = "68"
factory.name = "api.alsa.pcm.sink"
priority.driver = "10000"
priority.session = "744"
media.class = "Audio/Sink"
node.nick = "WD15 Dock"
node.name = "alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock__sink"
device.description = "USB Audio Headphones"
node.pause-on-idle = "false"
factory.id = "18"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "55"
Ports:
[Out] Headphones: Headphones (type: Headphones, priority: 100, availability unknown)
Active Port: [Out] Headphones
Formats:
pcm
```
```
➜ media-session.d pw-metadata
Found "default" metadata 32
update: id:0 key:'default.audio.sink' value:'{ "name": "alsa_output.pci-0000_00_1f.3.analog-stereo" }' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{ "name": "alsa_input.pci-0000_00_1f.3.analog-stereo" }' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{ "name": "v4l2_input.pci-0000_39_00.0-usb-0_1.7_1.0.2" }' type:'Spa:String:JSON'
```
So while the priority of the device is picked up as expected, the 'default.audio.sink' does not change.
FWIW, the second added rule regarding bluez works as epxected.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1029spa: bluez5: race condition resulting in use-after-free2021-04-10T16:18:41ZBarnabás Pőczespa: bluez5: race condition resulting in use-after-freeBuilt from master (1b29531336e2f3bf5404cbe5933cbf167e6dad10), configured as
```
CFLAGS="-ggdb" CC=clang \
meson build . \
-D debug=true \
-D optimization=g \
-D b_sanitize=address,undefined \
-D b_lundef=false
```
and run as
```
ASAN_...Built from master (1b29531336e2f3bf5404cbe5933cbf167e6dad10), configured as
```
CFLAGS="-ggdb" CC=clang \
meson build . \
-D debug=true \
-D optimization=g \
-D b_sanitize=address,undefined \
-D b_lundef=false
```
and run as
```
ASAN_OPTIONS=abort_on_error=0 PIPEWIRE_DEBUG=3 PIPEWIRE_LOG_SYSTEMD=false make -f ./build/Makefile run
```
ASAN output:
```
=================================================================
==657044==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000002d58 at pc 0x7f2df9f61d3f bp 0x7ffe518c28b0 sp 0x7ffe518c28a8
READ of size 8 at 0x612000002d58 thread T0
#0 0x7f2df9f61d3e in spa_bt_device_report_battery_level /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3669:14
#1 0x7f2df9fd9e67 in rfcomm_hfp_ag /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:523:5
#2 0x7f2df9fd2313 in rfcomm_event /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:694:10
#3 0x7f2dfc194cf2 in loop_iterate /home/pb/temp/src/my-pipewire/build/../spa/plugins/support/loop.c:308:4
#4 0x7f2dff962f69 in pw_main_loop_run /home/pb/temp/src/my-pipewire/build/../src/pipewire/main-loop.c:158:14
#5 0x55c96fe2f44a in main /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2486:2
#6 0x7f2dff212b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#7 0x55c96fc9786d in _start (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x19086d)
0x612000002d58 is located 24 bytes inside of 272-byte region [0x612000002d40,0x612000002e50)
freed by thread T0 here:
#0 0x55c96fd3d729 in free (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236729)
#1 0x7f2df9f7c330 in device_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:710:2
#2 0x7f2df9f81337 in filter_cb /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3125:6
#3 0x7f2dff642198 in dbus_connection_dispatch (/usr/lib/libdbus-1.so.3+0x17198)
previously allocated by thread T0 here:
#0 0x55c96fd3dc11 in calloc (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236c11)
#1 0x7f2df9f97122 in device_create /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:646:6
#2 0x7f2df9f95445 in interface_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2911:7
#3 0x7f2df9f881dc in interfaces_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2969:3
#4 0x7f2df9f9a715 in get_managed_objects_reply /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3050:3
#5 0x7f2dff641fa1 in dbus_connection_dispatch (/usr/lib/libdbus-1.so.3+0x16fa1)
SUMMARY: AddressSanitizer: heap-use-after-free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3669:14 in spa_bt_device_report_battery_level
Shadow bytes around the buggy address:
0x0c247fff8550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c247fff8560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c247fff8570: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
0x0c247fff8580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c247fff8590: 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa
=>0x0c247fff85a0: fa fa fa fa fa fa fa fa fd fd fd[fd]fd fd fd fd
0x0c247fff85b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c247fff85c0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
0x0c247fff85d0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff85e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c247fff85f0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==657044==ABORTING
```
and
```
=================================================================
==658220==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000002fc8 at pc 0x7f0560562cbf bp 0x7ffc75e0aa10 sp 0x7ffc75e0aa08
READ of size 8 at 0x612000002fc8 thread T0
#0 0x7f0560562cbe in battery_remove /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:174:14
#1 0x7f0560561a68 in spa_bt_device_report_battery_level /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3664:3
#2 0x7f05605d096a in rfcomm_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:178:3
#3 0x7f05605d204e in rfcomm_event /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:669:3
#4 0x7f0562794cf2 in loop_iterate /home/pb/temp/src/my-pipewire/build/../spa/plugins/support/loop.c:308:4
#5 0x7f0565fc8f69 in pw_main_loop_run /home/pb/temp/src/my-pipewire/build/../src/pipewire/main-loop.c:158:14
#6 0x55cb0694244a in main /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2486:2
#7 0x7f0565878b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#8 0x55cb067aa86d in _start (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x19086d)
0x612000002fc8 is located 264 bytes inside of 272-byte region [0x612000002ec0,0x612000002fd0)
freed by thread T0 here:
#0 0x55cb06850729 in free (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236729)
#1 0x7f056057c330 in device_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:710:2
#2 0x7f0560581337 in filter_cb /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3125:6
#3 0x7f0565ca8198 in dbus_connection_dispatch (/usr/lib/libdbus-1.so.3+0x17198)
previously allocated by thread T0 here:
#0 0x55cb06850c11 in calloc (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236c11)
#1 0x7f0560597122 in device_create /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:646:6
#2 0x7f0560595445 in interface_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2911:7
#3 0x7f05605881dc in interfaces_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2969:3
#4 0x7f056059a715 in get_managed_objects_reply /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3050:3
#5 0x7f0565ca7fa1 in dbus_connection_dispatch (/usr/lib/libdbus-1.so.3+0x16fa1)
SUMMARY: AddressSanitizer: heap-use-after-free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:174:14 in battery_remove
Shadow bytes around the buggy address:
0x0c247fff85a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
0x0c247fff85b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c247fff85c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa
0x0c247fff85d0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff85e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c247fff85f0: fd fd fd fd fd fd fd fd fd[fd]fa fa fa fa fa fa
0x0c247fff8600: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff8610: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c247fff8620: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
0x0c247fff8630: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff8640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==658220==ABORTING
```
The first happened right after connecting the bluetooth device, the second one happened right after disconnecting it. It seems it can be triggered pretty reliably when it's stopped while the bluetooth device is connected:
```
=================================================================
==660259==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000003148 at pc 0x7f360a662cbf bp 0x7ffedc22f410 sp 0x7ffedc22f408
READ of size 8 at 0x612000003148 thread T0
#0 0x7f360a662cbe in battery_remove /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:174:14
#1 0x7f360a661a68 in spa_bt_device_report_battery_level /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3664:3
#2 0x7f360a6d096a in rfcomm_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:178:3
#3 0x7f360a6e4c15 in backend_native_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/backend-native.c:1627:3
#4 0x7f360a676d59 in impl_clear /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3421:3
#5 0x7f36100a9058 in unref_handle /home/pb/temp/src/my-pipewire/build/../src/pipewire/pipewire.c:196:3
#6 0x7f36100a8855 in pw_unload_spa_handle /home/pb/temp/src/my-pipewire/build/../src/pipewire/pipewire.c:315:2
#7 0x5569248831de in session_destroy /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/bluez-monitor.c:543:2
#8 0x5569248ed813 in session_shutdown /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2213:2
#9 0x5569248ea460 in main /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2489:2
#10 0x7f360f903b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#11 0x55692475286d in _start (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x19086d)
0x612000003148 is located 264 bytes inside of 272-byte region [0x612000003040,0x612000003150)
freed by thread T0 here:
#0 0x5569247f8729 in free (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236729)
#1 0x7f360a67c330 in device_free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:710:2
#2 0x7f360a676994 in impl_clear /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3416:3
#3 0x7f36100a9058 in unref_handle /home/pb/temp/src/my-pipewire/build/../src/pipewire/pipewire.c:196:3
#4 0x7f36100a8855 in pw_unload_spa_handle /home/pb/temp/src/my-pipewire/build/../src/pipewire/pipewire.c:315:2
#5 0x5569248831de in session_destroy /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/bluez-monitor.c:543:2
#6 0x5569248ed813 in session_shutdown /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2213:2
#7 0x5569248ea460 in main /home/pb/temp/src/my-pipewire/build/../src/examples/media-session/media-session.c:2489:2
#8 0x7f360f903b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
previously allocated by thread T0 here:
#0 0x5569247f8c11 in calloc (/home/pb/temp/src/my-pipewire/build/src/examples/pipewire-media-session+0x236c11)
#1 0x7f360a697122 in device_create /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:646:6
#2 0x7f360a695445 in interface_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2911:7
#3 0x7f360a6881dc in interfaces_added /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:2969:3
#4 0x7f360a69a715 in get_managed_objects_reply /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:3050:3
#5 0x7f360fd32fa1 in dbus_connection_dispatch (/usr/lib/libdbus-1.so.3+0x16fa1)
SUMMARY: AddressSanitizer: heap-use-after-free /home/pb/temp/src/my-pipewire/build/../spa/plugins/bluez5/bluez5-dbus.c:174:14 in battery_remove
Shadow bytes around the buggy address:
0x0c247fff85d0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff85e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c247fff85f0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
0x0c247fff8600: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff8610: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c247fff8620: fd fd fd fd fd fd fd fd fd[fd]fa fa fa fa fa fa
0x0c247fff8630: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff8640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c247fff8650: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
0x0c247fff8660: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c247fff8670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==660259==ABORTING
```
The issue has also happened once with GCC as well with an earlier build, I'm pretty sure the compiler has no relevance here. Looking at the code it seems it might be a race condition between `bluez5-dbus.c:filter_cb()` and `backend-native.c:rfcomm_event()`. BlueZ version is 5.58, it's run with the `-E` option.
Steps to reproduce:
1. start bluez with the `-E` option
2. start pipewire, pipewire-media-session
3. connect a bluetooth headset which can report battery level
4. stop pipewire-media-session
If necessary, I can gladly provide more details.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1030pipewire errors and stops working2022-04-15T02:33:40ZSaurabh Aggarwalpipewire errors and stops workingIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
Description of Problem:
I see many error logs flooding in journalctl from pipewire and so...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
Description of Problem:
I see many error logs flooding in journalctl from pipewire and some cause sound on laptop to stop working.
**Below are the 3 types of logs I often see when it goes bad**
```
pipewire[1175]: (alsa_output.pci-0000_00_1f.3.analog-stereo-43) start node error -2: No such file or directory
pipewire[1175]: 'front:0': playback open failed: No such file or directory
pipewire[1175]: 'front:0': playback open failed: No such file or directory
pipewire[1175]: 'front:0': playback open failed: No such file or directory
```
```
pipewire[1175]: (alsa_output.pci-0000_00_1f.3.analog-stereo-43) start node error -95: Operation not supported
pipewire[1175]: failed filter:
pipewire[1175]: params Spa:Enum:ParamId:EnumFormat: 1:0 (convert format) Success
```
```[pw-dump.txt](/uploads/3bd5c4fd8b72b9faca5400805496559e/pw-dump.txt)
pipewire[1168]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
```
**System configuration:**
```
System: Kernel: 5.11.6-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 Distro: Manjaro Linux base: Arch Linux
Audio: Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 00:1f.3
chip-ID: 8086:a348
Device-2: NVIDIA TU106 High Definition Audio vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 01:00.1
chip-ID: 10de:10f9
Sound Server-1: ALSA v: k5.11.6-1-MANJARO running: yes
Sound Server-2: JACK v: 0.125.0 running: no
Sound Server-3: PulseAudio v: 14.2 running: no
Sound Server-4: PipeWire v: 0.3.23 running: yes
```
How Reproducible:
Don't have any idea as of now, it happens occasionally and requires system restart to be able to use sound again.
Steps to Reproduce:
1.
2.
3.
Actual Results:
Expected Results:
Additional Info Eg. `pw-dump > file` (As Attachment Please): Attached[pw-dump.txt](/uploads/803b0284de1d14f294d43d86e96067ca/pw-dump.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1031[Question] Why is Node from alsa Loopback based on front:N instead of hw:N?2022-04-12T20:39:05ZRichard Chan[Question] Why is Node from alsa Loopback based on front:N instead of hw:N?I have two related but separate questions based on Node(s) derived from alsa Loopback.
## Background
1. The alsa Loopback module creates two devices `CARD=X,DEV=0` and `CARD=X,DEV=1`
1. Also it derives a single pcm `front:CARD=X` withou...I have two related but separate questions based on Node(s) derived from alsa Loopback.
## Background
1. The alsa Loopback module creates two devices `CARD=X,DEV=0` and `CARD=X,DEV=1`
1. Also it derives a single pcm `front:CARD=X` without creating `front:CARD=X,DEV=1`.
This is in the default configuration that defines only `Loopback.pcm.front.0`.
1. I am doing this on a headless server without pulseaudio running so I am using alsa Loopback for my use case. My package is also not new enough to have the new pipewire loopback module (0.3.24).
## Issue 1
1. A Node is auto-created by pipewire based on `front:CARD=X`.
1. Since `front:CARD=X,DEV=1` doesn't exist (I guess) no Node is created for `DEV=1`
```
id 40, type PipeWire:Interface:Node/3
object.path = "alsa:pcm:2:front:2:playback"
factory.id = "18"
client.id = "30"
device.id = "38"
priority.session = "881"
priority.driver = "881"
node.description = "Built-in Audio Analog Stereo"
node.name = "alsa_output.platform-snd_aloop.0.analog-stereo"
node.nick = "Loopback"
media.class = "Audio/Sink"
```
Is there a way to get pipewire to use `hw:N` instead for the Node, and then also create a Node for `hw:N,1`?
## Issue 2
If I manually create a `front:X,1` device in `~/.asoundrc` hoping that pipewire would pick that up and create two Nodes, something strange happens.
#
# Configuration for the virtual loopback driver (snd-aloop)
# create a front:CARD=X,DEV=1 device hoping that pipewire
# will auto-create a Node for it. This is an exact copy for what
# Alsa does for front:X,0.
# Expected:
# Node 1: object.path = "alsa:pcm:2:front:2:playback"
# Node 2: object.path = "alsa:pcm:2:front:2,1:playback"
cards.Loopback.pcm.front.1 {
@args [CARD]
@args.CARD {
type string
}
type softvol
slave.pcm {
type hw
card $CARD
device 1
}
control {
name "PCM Playback Volume DEV=1"
card $CARD
device 1
}
}
A Node is still not created for `hw:CARD=X,DEV=1` and the Node create for `hw:CARD=X,DEV=0` is now based on `hw` instead of `front`:
```
object.path = "alsa:pcm:2:hw:2:playback"
```
So the existence of `front:X,1` makes pipewire use `hw:X` for the Node instead of `front:X`. What is the logic behind this interesting switch?
I realise I could use `pw-cli create-node ...` to create a Node for `hw:X,1` but got into a rabbit-hole here trying to understand the auto-create logic.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1032Output sink controlled via the media keys (GNOME) and the actual default sink...2021-05-15T18:33:21ZBjörn Daasebjoern.daase@gmail.comOutput sink controlled via the media keys (GNOME) and the actual default sink get out of syncIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* pipewire 0.3.25
* GNOME 40
* Fedora 34
Description of Problem:
For me, quite regularly ...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* pipewire 0.3.25
* GNOME 40
* Fedora 34
Description of Problem:
For me, quite regularly the output sink controlled via the media keys (using GNOME) and the actual default sink (pipewires view) get out of sync after plugging and unplugging my external WD15 dock with connected speakers. However, g-c-c shows the correct default sink (matching pipewire).
Steps to Reproduce:
Yet unclear.
Here some logs after the problem occurred (actual default sink is "alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink" but media keys control "alsa_input.pci-0000_00_1f.3.analog-stereo"):
```
➜ ~ pw-metadata
Found "default" metadata 31
update: id:0 key:'default.audio.sink' value:'{ "name": "alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink" }' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{ "name": "alsa_input.pci-0000_00_1f.3.analog-stereo" }' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{ "name": "v4l2_input.pci-0000_39_00.0-usb-0_2.7_1.0.2" }' type:'Spa:String:JSON'
```
```
➜ ~ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 35
Is Local: yes
Client Index: 95
Tile Size: 65472
User Name: bjoern
Host Name: xps-9370
Server Name: PulseAudio (on PipeWire 0.3.25)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Generic_USB_Audio_200901010001-00.HiFi__hw_Dock_1__sink
Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo
Cookie: 64ff:dfda
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1033Pavucontrol won't open while 64 i/o interface is connected2021-11-04T13:53:53ZMattias PeterssonPavucontrol won't open while 64 i/o interface is connected
**Version, Distribution, Desktop Environment:**
Pipewire 0.3.24, Arch Linux 5.11.11-arch1-1, No DE (running dwm)
**Description of Problem:**
While my SPL Madicon interface is connected and is in 64 or 48 channel mode Pavucontrol get...
**Version, Distribution, Desktop Environment:**
Pipewire 0.3.24, Arch Linux 5.11.11-arch1-1, No DE (running dwm)
**Description of Problem:**
While my SPL Madicon interface is connected and is in 64 or 48 channel mode Pavucontrol gets stuck in "Establishing connection to PulseAudio. Please wait..." and pulsemixer reports "PA - Connection refused. Trying to reconnect". Lowering the channel count to 32 allows for starting them, but the volume control jumps back to 'silence' in PAVU when clicked. Isayst stays on the clicked level though so i can use it for system sounds. The card is found in jack clients (e.g. Reaper and SuperCollider) and there it seems to work as it should.
**How Reproducible:**
Happens all the time when the Madicon is connected.
**Steps to Reproduce:**
1. Connect the SPL Madicon set to 64 i/o
2. Start pavucontrol or pulsemixer
**Actual Results:**
Pavucontrol gets stuck in "Establishing connection to PulseAudio. Please wait..." and pulsemixer reports "PA - Connection refused. Trying to reconnect".
**Expected Results:**
Pavucontrol and pulsemixer should run as usual.
**Additional Info Eg. `pw-dump > file` (As Attachment Please):**[pwdump210409](/uploads/5f84764b281db62f66ad3fdcea22ea05/pwdump210409)
pw-dump file is attached. I have tried restarting services, wiping /etc/pipewire and reinstalling everything. Running systemctl --user status pipewire-pulse.service shows these errors:
```
$ systemctl --user status pipewire-pulse.service
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2021-04-08 13:56:04 CEST; 3h 28min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 705 (pipewire-pulse)
Tasks: 2 (limit: 18860)
Memory: 35.7M
CPU: 35.804s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─705 /usr/bin/pipewire-pulse
Apr 08 14:18:30 blackbook pipewire-pulse[705]: pulse-server 0x557aed03c390: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:13 error:19 (Operation not supported)
Apr 08 14:18:30 blackbook pipewire-pulse[705]: pulse-server 0x557aed03c390: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:14 error:19 (Operation not supported)
Apr 08 14:18:30 blackbook pipewire-pulse[705]: pulse-server 0x557aed03c390: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:15 error:19 (Operation not supported)
Apr 08 14:18:31 blackbook pipewire-pulse[705]: pulse-server 0x557aed0407b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:12 error:19 (Operation not supported)
Apr 08 14:18:31 blackbook pipewire-pulse[705]: pulse-server 0x557aed0407b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:13 error:19 (Operation not supported)
Apr 08 14:18:31 blackbook pipewire-pulse[705]: pulse-server 0x557aed0407b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:14 error:19 (Operation not supported)
Apr 08 14:18:31 blackbook pipewire-pulse[705]: pulse-server 0x557aed0407b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:15 error:19 (Operation not supported)
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1034Bluetooth device is not showing up in sink2021-04-10T13:44:15ZskystarBluetooth device is not showing up in sinkBluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
* Headset: Sony WM-1000XM3
* Kernel: 5.11.11-arch1-1
* Bluez: 5.58-1
* Pipewire: 1:0.3.25-1 (installed pipewire, pipewire-pulse...Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
* Headset: Sony WM-1000XM3
* Kernel: 5.11.11-arch1-1
* Bluez: 5.58-1
* Pipewire: 1:0.3.25-1 (installed pipewire, pipewire-pulse)
I freshly installed `pipewire` and `pipewire-pulse`, which replaces existing `pulseaudio`. When I connect to Bluetooth headset (WM-1000XM3) with bluetoothctl, it successfully connects but does not appearing in pulseaudio sink list.
This is my bluetoothctl output:
```
[bluetooth]# connect 38:18:4C:C5:F0:20
Attempting to connect to 38:18:4C:C5:F0:20
[CHG] Device 38:18:4C:C5:F0:20 Connected: yes
Connection successful
[CHG] Device 38:18:4C:C5:F0:20 ServicesResolved: yes
```
And I attached pipewire logs collected by the debug commands in Troubleshooting wiki page.
[pipewire-bluez.log](/uploads/8cd9971d6b5348c8f5987b04a5afb0f4/pipewire-bluez.log)
But I cannot find any sinks of bluetooth headset from `pactl list sinks`. Also I cannot find any bluez related cards from `pactl list cards`.
Is there any way to find my device shown in sink list? Thank you!https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1035AAC codec fails or crash Bluetooth daemon on some devices2021-04-10T19:54:40ZJP GuilleminAAC codec fails or crash Bluetooth daemon on some devicesUsing today's latest Pipewire master, vanilla default config
Bluetooth Radio, Bluetooth Headset, XFCE, Zenwalk Linux Latest (Bluez 5.58, Kernel 5.10.27, and PipeWire GIT master):
Description of Problem:
AAC codec works for some devic...Using today's latest Pipewire master, vanilla default config
Bluetooth Radio, Bluetooth Headset, XFCE, Zenwalk Linux Latest (Bluez 5.58, Kernel 5.10.27, and PipeWire GIT master):
Description of Problem:
AAC codec works for some devices (ie : Sony speaker, Bose Earbuds).
But fails on High End Technics Ottava SC50 stereo speaker :
Sometimes pairing fails
Sometimes Pairing succeed but connection makes the BT daemon crash
Sometimes connexion with default AAC succeed but no sink created
Sometimes connexion with default AAC succeed but no sound (I have to switch to SBC-XQ to get sound)
On the same speaker : Android can connect with AAC, no problem.
Below some A2DP logs
bash-5.1# hcidump avdtp
HCI sniffer - Bluetooth packet analyzer ver 5.58
device: hci0 snap_len: 1500 filter: 0x400
< AVDTP(s): Discover cmd: transaction 0 nsp 0x00
> AVDTP(s): Discover rsp: transaction 0 nsp 0x00
ACP SEID 1 - Audio Sink
ACP SEID 2 - Audio Sink
< AVDTP(s): All Capabilities cmd: transaction 1 nsp 0x00
ACP SEID 1
> AVDTP(s): All Capabilities rsp: transaction 1 nsp 0x00
Media Transport
Media Codec - MPEG-2,4 AAC
MPEG-2 AAC LC MPEG-4 AAC LC MPEG-4 AAC LTP MPEG-4 AAC scalable
8kHz 11.025kHz 12kHz 16kHz 22.05kHz 24kHz 32kHz 44.1kHz 48kHz 64kHz 88.2kHz 96kHz
1 2 Channels
320000bps VBR
Content Protection
02 00
Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 2 nsp 0x00
ACP SEID 2
> AVDTP(s): All Capabilities rsp: transaction 2 nsp 0x00
Media Transport
Media Codec - SBC
16kHz 32kHz 44.1kHz 48kHz
Mono DualChannel Stereo JointStereo
4 8 12 16 Blocks
4 8 Subbands
SNR Loudness
Bitpool Range 2-64
Content Protection
02 00
Delay Reporting
< AVDTP(s): Set config cmd: transaction 3 nsp 0x00
ACP SEID 1 - INT SEID 5
Media Transport
Media Codec - MPEG-2,4 AAC
MPEG-2 AAC LC
48kHz
2 Channels
320000bps VBR
Delay Reporting
> AVDTP(s): Set config rsp: transaction 3 nsp 0x00
> AVDTP(s): Delay Report cmd: transaction 0 nsp 0x00
ACP SEID 5 delay 350.0mshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1036Sound dissapearing with bluetooth headphones and very bad sound in certain Wi...2021-04-10T21:33:54ZPLYSHKASound dissapearing with bluetooth headphones and very bad sound in certain Wine appsWhen loading SpaceEngineers under proton 5.0 i couldn't hear any sound. Then, i went to settings to check sound with winecfg - still no sound.
After i switched main sink to wired speakers, sound started appearing, but with looping `sou...When loading SpaceEngineers under proton 5.0 i couldn't hear any sound. Then, i went to settings to check sound with winecfg - still no sound.
After i switched main sink to wired speakers, sound started appearing, but with looping `sound-nosound` issue constantly, basically impossible to listen.
In journal i can see this constant message with both headphones and speakers:
```
Apr 10 14:00:03 plyshka pipewire-pulse[1060]: 4 events suppressed
Apr 10 14:00:03 plyshka pipewire-pulse[1060]: pulse-server 0x561df4262c80: [SpaceEngineers.exe] UNDERFLOW channel:0 offset:79878144 underrun:2048
```
Running `pipewire-git`, with `bluez 5.58` on `Archlinux` with `linux 5.11.11`https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1037Sound card not detected on Lenovo Thinkpad E4 Gen 2 20TA002QMB2021-04-11T17:38:14ZAmelia AndersdotterSound card not detected on Lenovo Thinkpad E4 Gen 2 20TA002QMBI recently installed Arch Linux on a Lenovo Thinkpad E4 Gen 2 20TA002QMB (chipset: intel i7, tiger lake u for audio), and pipewire (pipewire-pulse, pipewire-alsa, etc) could not detect the soundcard. When I reverted back to pulseaudio my...I recently installed Arch Linux on a Lenovo Thinkpad E4 Gen 2 20TA002QMB (chipset: intel i7, tiger lake u for audio), and pipewire (pipewire-pulse, pipewire-alsa, etc) could not detect the soundcard. When I reverted back to pulseaudio my soundcard was immediately detected and I have audio.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1038HDMI audio output is not switched on/off automatically2022-05-12T20:24:45ZGiovanni CampagnaHDMI audio output is not switched on/off automaticallyWith PulseAudio, plugging in a TV or projector to the HDMI port would also switch the default sink from the internal speakers to the HDMI, and unplugging would switch the default sink to the speakers (as well as rescue all the streams).
...With PulseAudio, plugging in a TV or projector to the HDMI port would also switch the default sink from the internal speakers to the HDMI, and unplugging would switch the default sink to the speakers (as well as rescue all the streams).
None of that happens with PipeWire: when something is plugged into the HDMI, sound continues going to the internal speakers. If I switch to HDMI from gnome-control-center, later when I unplug sound continues being routed to a non-existing HDMI output.
Version: pipewire-0.3.24-4.fc34.x86_64
Internal audio: Intel Corporation Cannon Lake PCH cAVS (rev 10)
Graphic cards: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] (rev 02) + NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q]
(Not sure which card the HDMI is wired to)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1039Wireless Headphones (USB) not working properly (Regression)2021-06-27T09:33:43ZJosé Miguel SarasolaWireless Headphones (USB) not working properly (Regression)### Version, Distribution, Desktop Environment:
- OS: Arch Linux
- DE: Gnome 40
- PW Version: 0.3.25
### Description of Problem:
I'm using a HyperX Cloud Flight headphones. Wireless through their own USB dongle, so no Bluetooth here.
...### Version, Distribution, Desktop Environment:
- OS: Arch Linux
- DE: Gnome 40
- PW Version: 0.3.25
### Description of Problem:
I'm using a HyperX Cloud Flight headphones. Wireless through their own USB dongle, so no Bluetooth here.
From the Gnome Settings, these headphones appear as Digital Output and Analog Output.
if I pick up the Analog Output as I have always done, there is no sound through them, if I pick up the Digital Output, there is sound (But has lower volumen, that's why I use the analog option). Thing is, if I then choose the analog output it will sound through them, until I change volume, then the analog output goes completely muted, after I go to Digital output and come back no analog.
This has to be a regressions, since a month ago I was using these without any problem.
I don't know if it's related to this, but for example if I'm listening to Spotify through the official app, and change the audio output to the headphones, all new output comes through them but Spotify keeps playing on the previous audio output.
### How Reproducible:
Every day lately, I could give a try to previous version to see if I can find in which one it stops working (Hoping there are no dependency conflicts)
### Steps to Reproduce:
1. Choose the analog output on Gnome settings.
2. Try to play some audio (Nothing comes out)
3. Change to digital output and go back to analog output
4. Change volume and analog will stop sounding
UPDATE: Looks to me like a regression from 0.3.25, using 0.3.24 (0.23.3 will make Gnome not recognize audio outputs) seems to be working nicely for now.
[pw-dump](/uploads/6a6952e20b57a90d5da0120b2ec7f2d0/pw-dump)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1040Targeting the audio device selected in GNOME settings by default using JACK v...2022-04-12T20:32:41ZMitchell NordineTargeting the audio device selected in GNOME settings by default using JACK via Pipewire?Hi folks, thanks for all your work on Pipewire!
I'm using GNOME + Pipewire (0.3.25) (with ALSA, pulseaudio and JACK enabled) on NixOS along with various pro-audio applications. So far, the experience has been a massive improvement over ...Hi folks, thanks for all your work on Pipewire!
I'm using GNOME + Pipewire (0.3.25) (with ALSA, pulseaudio and JACK enabled) on NixOS along with various pro-audio applications. So far, the experience has been a massive improvement over trying to setup pulseaudio and JACK side-by-side manually!
One small inconvenience I've noticed is that some programs that target JACK don't always target the audio device that is selected in my GNOME Settings by default. Pure Data is an example of this. When I start Pure Data and select the JACK audio backend, I can see that a "pure_data" node appears within the qjackctl audio graph, however the output channels are not routed to any output device by default.
It would perhaps be convenient if the application's output channels were automatically routed to the device currently selected in the user's desktop environment settings (GNOME in my case) by default. This would save me opening qjackctl, opening the graph, and manually connecting the pure data node to the device I want to use every time I open pure data.
Another thought that comes to mind is that perhaps it might be useful to have a "Desktop Environment Selected Device" node or something along these lines in the JACK graph so that applications could just target that node, and then when the device is changed in the desktop environment settings audio was automatically routed to the newly selected device? That said, maybe it's not good practise to have a single node represent multiple different devices in the graph.
If there are existing or better solutions for either of these suggestions, please let me know! I'm relatively new to both JACK and Pipewire, and am unsure of the feasibility of certain things. I am aware that the GNOME desktop environment used to assume the presence of pulseaudio, which probably does not make the "selected device awareness" any easier for JACK-based applications. That said, if any project has the magical omnipresence necessary to make it work, I figure it would be pipewire :)
---
I've just noticed that curiously, Ardour seems to be aware of which device is selected in my GNOME settings and *does* route two "auditioner" channels to it immediately upon opening (though unfortunately I still have to manually route the two master output channels). This seems to suggest to me that it is up to the application to connect its own node to the selected desktop device node as necessary. In that case, how can a program like Ardour know what device is selected in GNOME settings without any awareness of pipewire? Or does pipewire perform some magic when a default device is requested via JACK, or something along these lines? Can Pure Data be configured to be similarly aware, or would this likely require submitting a patch upstream?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1041Creating virtual sink with FL,FR channels produces device with only FL in it2022-07-15T07:18:19ZJanne HakonenCreating virtual sink with FL,FR channels produces device with only FL in itVersion: master
Distribution: Pop OS 20.04
Desktop Environment: GNOME
Description of Problem:
Creating a virtual sink with `pw-cli create-node ...` with FL,FR channel map produces a device with only FL channel.
For example this command...Version: master
Distribution: Pop OS 20.04
Desktop Environment: GNOME
Description of Problem:
Creating a virtual sink with `pw-cli create-node ...` with FL,FR channel map produces a device with only FL channel.
For example this command from https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Configuration:
```
$ pw-cli create-node adapter { factory.name=support.null-audio-sink node.name=my-mic media.class=Audio/Duplex object.linger=1 audio.position=FL,FR }
```
Produces device with only FL in it:
```
$ pw-cli dump Node
...
id: 73
permissions: rwxm
type: PipeWire:Interface:Node/3
input ports: 1/64
output ports: 1/0
state: "suspended"
properties:
factory.name = "support.null-audio-sink"
node.name = "my-mic"
media.class = "Audio/Duplex"
object.linger = "1"
audio.position = "FL"
factory.id = "18"
client.id = "72"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "73"
params:
3 (Spa:Enum:ParamId:EnumFormat) r-
1 (Spa:Enum:ParamId:PropInfo) r-
2 (Spa:Enum:ParamId:Props) rw
4 (Spa:Enum:ParamId:Format) -w
10 (Spa:Enum:ParamId:EnumPortConfig) r-
11 (Spa:Enum:ParamId:PortConfig) rw
```
Found the commit that broke it with git bisect:
```
$ git bisect good
87706c7442aff3a3eb0b75a1b20ea1b39d511b5f is the first bad commit
commit 87706c7442aff3a3eb0b75a1b20ea1b39d511b5f
Author: Wim Taymans <wtaymans@redhat.com>
Date: Fri Apr 9 15:53:33 2021 +0200
pw-cli: use more powerful pw_properties_new_string()
Remove our custom property parsing code and use
pw_properties_new_string() for more powerful syntax.
src/tools/pw-cli.c | 30 +++---------------------------
1 file changed, 3 insertions(+), 27 deletions(-)
```
How Reproducible:
100%https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1042PipeWire pulse protocol sends spec-violating subscription event2021-06-01T10:53:21ZNiklas HaasPipeWire pulse protocol sends spec-violating subscription event### Version, Distribution, Desktop Environment:
* Version: pipewire-0.3.24-1.1
* Distribution: openSuSE Tumbleweed
### Description of Problem:
```
vlc: ../../modules/audio_output/pulse.c:434: context_cb: Assertion `!"unreachable"' fai...### Version, Distribution, Desktop Environment:
* Version: pipewire-0.3.24-1.1
* Distribution: openSuSE Tumbleweed
### Description of Problem:
```
vlc: ../../modules/audio_output/pulse.c:434: context_cb: Assertion `!"unreachable"' failed.
```
### How Reproducible:
Happens every time I launch e.g. `pavucontrol` while playing something in VLC.
### Steps to Reproduce:
```
const pa_subscription_mask_t mask = PA_SUBSCRIPTION_MASK_SINK
| PA_SUBSCRIPTION_MASK_SINK_INPUT;
pa_context_set_subscribe_callback(sys->context, context_cb, aout);
op = pa_context_subscribe(sys->context, mask, NULL, NULL);
```
Then launch `pavucontrol`.
### Actual Results:
```
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 return ret;
[Current thread is 1 (Thread 0x7f0c1f776640 (LWP 68990))]
Missing separate debuginfos, use: zypper install libfaad2-debuginfo-2.10.0-1.6.x86_64
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007f0c20668864 in __GI_abort () at abort.c:79
#2 0x00007f0c20668749 in __assert_fail_base (fmt=0x7f0c207d49e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f0c1facf219 "!\"unreachable\"", file=0x7f0c1facf000 "../../modules/audio_output/pulse.c", line=434, function=<optimized out>) at assert.c:92
#3 0x00007f0c206779b6 in __GI___assert_fail (assertion=assertion@entry=0x7f0c1facf219 "!\"unreachable\"", file=file@entry=0x7f0c1facf000 "../../modules/audio_output/pulse.c", line=line@entry=434, function=function@entry=0x7f0c1facf6b8 <__PRETTY_FUNCTION__.22> "context_cb") at assert.c:101
#4 0x00007f0c1facca8c in context_cb (ctx=0x1201cf0, type=PA_SUBSCRIPTION_EVENT_CHANGE, idx=46, userdata=0x11f9980) at ../../modules/audio_output/pulse.c:434
#5 0x00007f0c1fa81f6f in pa_command_subscribe_event (pd=<optimized out>, command=<optimized out>, tag=<optimized out>, t=0x7f0c18002ad0, userdata=0x1201cf0) at pulse/subscribe.c:53
#6 0x00007f0c1fa0890c in pa_pdispatch_run (pd=0x7f0c18001880, packet=packet@entry=0x7f0c18008120, ancil_data=ancil_data@entry=0x7f0c18000ee8, userdata=userdata@entry=0x1201cf0) at pulsecore/pdispatch.c:346
#7 0x00007f0c1fa5e01f in pstream_packet_callback (p=<optimized out>, packet=0x7f0c18008120, ancil_data=0x7f0c18000ee8, userdata=0x1201cf0) at pulse/context.c:353
#8 0x00007f0c1fa0c9cd in do_read (p=p@entry=0x7f0c18000c50, re=re@entry=0x7f0c18000dd0) at pulsecore/pstream.c:1020
#9 0x00007f0c1fa0e53f in do_pstream_read_write (p=0x7f0c18000c50) at pulsecore/pstream.c:260
#10 0x00007f0c1fa71bf3 in dispatch_pollfds (m=0x11ec920) at pulse/mainloop.c:655
#11 pa_mainloop_dispatch (m=m@entry=0x11ec920) at pulse/mainloop.c:896
#12 0x00007f0c1fa7224e in pa_mainloop_iterate (m=m@entry=0x11ec920, block=block@entry=1, retval=retval@entry=0x0) at pulse/mainloop.c:927
#13 0x00007f0c1fa722f0 in pa_mainloop_run (m=0x11ec920, retval=0x0) at pulse/mainloop.c:942
#14 0x00007f0c1fa82159 in thread (userdata=0x11efce0) at pulse/thread-mainloop.c:101
#15 0x00007f0c1fa1e2b8 in internal_thread_func (userdata=0x11ecad0) at pulsecore/thread-posix.c:81
#16 0x00007f0c2081a299 in start_thread (arg=0x7f0c1f776640) at pthread_create.c:473
#17 0x00007f0c207423b3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```
### Expected Results:
```
static void context_cb(pa_context *ctx, pa_subscription_event_type_t type,
uint32_t idx, void *userdata)
{
audio_output_t *aout = userdata;
aout_sys_t *sys = aout->sys;
unsigned facility = type & PA_SUBSCRIPTION_EVENT_FACILITY_MASK;
type &= PA_SUBSCRIPTION_EVENT_TYPE_MASK;
switch (facility)
{
case PA_SUBSCRIPTION_EVENT_SINK:
sink_event(ctx, type, idx, userdata);
break;
case PA_SUBSCRIPTION_EVENT_SINK_INPUT:
/* only interested in our sink input */
if (sys->stream != NULL && idx == pa_stream_get_index(sys->stream))
sink_input_event(ctx, type, idx, userdata);
break;
default: /* unsubscribed facility?! */
vlc_assert_unreachable();
}
}
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1043Can we validate Video recording/playback with pipewire utility2021-04-20T08:03:09ZSavidha ECan we validate Video recording/playback with pipewire utilityValidating pipeiwire use case in RPI 3B+ target with USB webcamera/RPI camera and Headset jack
Used Pipewire version : 0.3.25
We used pw-play utility to play recorded audio file and able to receive audio in Headset jack.
same like, Is ...Validating pipeiwire use case in RPI 3B+ target with USB webcamera/RPI camera and Headset jack
Used Pipewire version : 0.3.25
We used pw-play utility to play recorded audio file and able to receive audio in Headset jack.
same like, Is there any utility to check video capture/playback with camera.
used below command to play recorded audio file
pw-play Audio.wavhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1044Crash when connecting microphone to output (with Carla)2022-04-12T22:00:50ZGeorges Basile Stavracas NetoCrash when connecting microphone to output (with Carla)Our old friend Scarlett 4i4 3rd gen strikes again:
```
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fadc146a5a3 in do_activate_link (loop=<optimized out>, async=<optimized out>, seq=<optimized out>, data=<optim...Our old friend Scarlett 4i4 3rd gen strikes again:
```
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fadc146a5a3 in do_activate_link (loop=<optimized out>, async=<optimized out>, seq=<optimized out>, data=<optimized out>, size=<optimized out>, user_data=<optimized out>) at ../src/pipewire/impl-link.c:512
512 spa_list_append(&this->output->rt.mix_list, &this->rt.out_mix.rt_link);
[Current thread is 1 (Thread 0x7fadc0e47640 (LWP 771))]
(gdb) bt
#0 0x00007fadc146a5a3 in do_activate_link (loop=<optimized out>, async=<optimized out>, seq=<optimized out>, data=<optimized out>, size=<optimized out>, user_data=<optimized out>) at ../src/pipewire/impl-link.c:512
#1 0x00007fadc14eb386 in flush_items (impl=0x55566597a798) at ../spa/plugins/support/loop.c:141
#2 0x00007fadc14eb286 in source_event_func (source=0x5556659828b0) at ../spa/plugins/support/loop.c:463
#3 0x00007fadc14ebbcb in loop_iterate (object=0x55566597a798, timeout=<optimized out>) at ../spa/plugins/support/loop.c:308
#4 0x00007fadc1457ae8 in do_loop (user_data=0x55566597a640) at ../src/pipewire/data-loop.c:79
#5 0x00007fadc1235299 in start_thread () from /usr/lib/libpthread.so.0
#6 0x00007fadc1353053 in clone () from /usr/lib/libc.so.6
```
This happened when I tried to connect it's (already misbehaving) input to the output using Carla.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1045Bluetooth regression: doesn't reliably detect A2DP sink2023-08-24T21:30:05ZYuriBluetooth regression: doesn't reliably detect A2DP sinkBluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
- Aftershokz Opencomm headset
- bluez 5.55
- kernel 5.10.28
- pipewire 0.3.25
Description of Problem:
Updated yesterday from...Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
- Aftershokz Opencomm headset
- bluez 5.55
- kernel 5.10.28
- pipewire 0.3.25
Description of Problem:
Updated yesterday from pipewire 0.3.24 to 0.3.25 (I'm using debian unstable), with no further changes.
Pipewire used to detect reliably both the A2DP sink and the HSP/HFP profiles. In fact, I was successfully using both A2DP with SBC-XQ and HFP with mSBC without issues (I cannot thank you enough for this!).
After the update to 0.3.25, upon the first connection I frequently can only see the HSP/HFP profiles. A2DP sink is not available.
However, if I discovered that if I restart bluez, I can sometimes get A2DP working without touching anything else.
After some experimentation, I found that changing bluez's MultiProfile to off (I had "multiple" set before) seems to make A2DP avalable more frequently for some reason, however this wasn't necessary before (and bluez wasn't changed either).
How Reproducible:
90% of the time
Steps to Reproduce:
- turn on BT headset
- device shows up, but only with HSP/HFP profile
Expected Results:
- A2DP sink used to be always availablehttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1046Bluetooth headphones doesn't work after disconnecting and connecting again.2021-04-14T06:04:27ZGabriel HuweBluetooth headphones doesn't work after disconnecting and connecting again.Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Headset: Sennheiser HD 350BT
DE: KDE Plasma
Distribution: Arch Linux
Bluez: 5.58
Kernel: 5.11.13
PipeWire: 0.3.25
Descri...Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Headset: Sennheiser HD 350BT
DE: KDE Plasma
Distribution: Arch Linux
Bluez: 5.58
Kernel: 5.11.13
PipeWire: 0.3.25
Description of Problem:
Whenever I'm using PipeWire with my headphones, If I disconnect it and reconnect, there's no audio at all.
It's not an issue about it not being default; changing a certain application to play through it will simply not output any audio.
How Reproducible:
Every time.
Steps to Reproduce:
1. Turn headphones off
2. Turn headphones on
Actual Results:
There is no audio when I select the headphones as the audio output.
Expected Results:
There should be audio when I select the headphones as the audio output.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1047Support graceful restarts for version upgrades2022-04-13T05:17:07ZPaul MenzelSupport graceful restarts for version upgradesIs it possible to upgrade and restart PipeWire (also PulseAudio wrapper) with programs continue to play? I upgraded from 0.3.24 to 0.3.25, and mpv showed:
```
[ao/pulse] pa_stream_cork() failed: Connection terminated
[ao/pulse] pa_strea...Is it possible to upgrade and restart PipeWire (also PulseAudio wrapper) with programs continue to play? I upgraded from 0.3.24 to 0.3.25, and mpv showed:
```
[ao/pulse] pa_stream_cork() failed: Connection terminated
[ao/pulse] pa_stream_flush() failed: Connection terminated
[ao/pulse] pa_stream_cork() failed: Connection terminated
[ao/pulse] pa_stream_cork() failed: Connection terminated
[ao/pulse] pa_stream_flush() failed: Connection terminated
[ao/pulse] pa_stream_cork() failed: Connection terminated
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1048pipewiresink does not resume after pause2022-04-13T14:56:06ZGeorge Kiagiadakispipewiresink does not resume after pause**Steps to reproduce**
1. `gst-play-1.0 --audiosink "pipewiresink" your_favorite.mp3` -> song plays
2. Press the spacebar to pause the pipeline -> song stops
3. Press the spacebar again to resume the pipeline -> nothing happens
This do...**Steps to reproduce**
1. `gst-play-1.0 --audiosink "pipewiresink" your_favorite.mp3` -> song plays
2. Press the spacebar to pause the pipeline -> song stops
3. Press the spacebar again to resume the pipeline -> nothing happens
This does not happen with `gst-play-1.0 --audiosink "pulsesink" your_favorite.mp3`https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1049headphone sound problem no sound coming out from headphone2022-05-14T16:06:33ZAmin Rohaniheadphone sound problem no sound coming out from headphoneHello,
I have just installed Fedora 34, but when I connect headphones, it's recognized successfully, but no sound is coming through the headphones.Hello,
I have just installed Fedora 34, but when I connect headphones, it's recognized successfully, but no sound is coming through the headphones.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1050Significant stutter with capture card routed to both sound card & Obs2022-07-15T07:18:19ZArnaud SpiwackSignificant stutter with capture card routed to both sound card & ObsI apologise for not using master: I've installed Pipewire with my distribution's packages, and I'm a bit worried of messing things up if I try and install things manually.
### Version, Distribution, Desktop Environment:
- Version 0.3.24...I apologise for not using master: I've installed Pipewire with my distribution's packages, and I'm a bit worried of messing things up if I try and install things manually.
### Version, Distribution, Desktop Environment:
- Version 0.3.24
- Ubuntu 21.04 (Hirsute Hippo)
- Gnome Shell 3.38.5
### Description of Problem:
When I route the sound from my capture card to my network card (“built-in audio”) I experience frequent unpleasant xruns.
### How Reproducible:
With the setup below, it xruns happen systematically. The first one may take some 15min to pop up, but after that it's never more than 5min without an xrun.
### Steps to Reproduce:
The problem seems to manifest in the following circumstance:
- I have my capture card (a usb 3.0 device which registers as a camera)
- I route the capture card sound to my computer's sound card
- I have Obs open (and the capture card's video is captured)
It also seems that also routing the capture card sound to Obs (I use a Jack device in Obs) does increase the rate of failure. For the record, so far, I've been opening Obs (and Carla) with the `pw-jack` wrapper.
As per the title, I'm guessing that it's due to the fact that we are synchronising two Alsa devices. That being said, I don't remember having experienced the issue without Obs running. I'll try later today.
### Actual Results:
With the default settings, this eventually results in frequent xruns, which manifest in the following way:
- In my headset/network card a sample of about 0.5s is repeated for 2-3s until the sound catches up
- In Obs recording, it's just a gap in sound of 2-3s
I have played with various configuration options. They seem to have some #776 for instance (though I don't believe it to be the same problem). They seem to have some effect. Changing the `period-size` for instance, seems to change to size of the repeated sample (for instance, with 128, it changes into a very noisy t-t-t-t-t sound). Headroom doesn't seem to have much effect.
### Expected Results:
I'd love the sound to be smooth as a baby's cheek :slight_smile: . Please advise if something sounds familiar.
### Additional Info:
Find attached
- A `pw-top` screenshot a short while after the xruns were happening: ![pw-top](/uploads/9f03c5d3bb9630aa5edbc44a9d4f46fe/pw-top.png)
- A `pw-dump`: [log](/uploads/109cef81dc3604bd47a44f9b1bc81497/log)
And below a short extract of the logs
```avril 14 00:43:55 jake systemd[2265]: Started Multimedia Service.
avril 14 00:45:14 jake pipewire[36174]: set_hw_params: Connection timed out
avril 14 00:45:16 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:1 time:35839282483 delay:53772351 max:53772351
avril 14 00:45:21 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:2 time:35893054981 delay:4759742 max:53772351
avril 14 00:47:56 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:3 time:35897814851 delay:155466653 max:155466653
avril 14 00:49:49 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:4 time:36053281669 delay:112832361 max:155466653
avril 14 00:51:49 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:5 time:36166114226 delay:119445598 max:155466653
avril 14 00:51:49 jake pipewire[36174]: alsa-pcm front:0: follower delay:3088 target:3072 resync 0.001869 0.000543 0.000006
avril 14 00:52:14 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:6 time:36285560083 delay:25151830 max:155466653
avril 14 00:52:14 jake pipewire[36174]: alsa-pcm front:0: follower delay:3088 target:3072 resync 0.001869 0.000543 0.000006
avril 14 00:56:57 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:7 time:36310712093 delay:283306664 max:283306664
avril 14 00:57:24 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:8 time:36594018891 delay:27285485 max:283306664
avril 14 00:57:24 jake pipewire[36174]: alsa-pcm front:0: follower delay:3085 target:3072 resync 0.005277 0.003597 0.000120
avril 14 00:57:48 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:9 time:36621304523 delay:23231777 max:283306664
avril 14 00:59:32 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:10 time:36644536535 delay:104149416 max:283306664
avril 14 01:00:41 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:11 time:36748686104 delay:69098711 max:283306664
avril 14 01:04:00 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:12 time:36817785001 delay:199445947 max:283306664
avril 14 01:04:49 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:13 time:37017231129 delay:48597815 max:283306664
avril 14 01:07:56 jake pipewire[36174]: (alsa_output.pci-0000_00_1f.3.analog-stereo-55) XRun! rate:1024/48000 count:14 time:37065829134 delay:186967268 max:283306664
avril 14 01:07:56 jake pipewire[36174]: alsa-pcm front:0: follower delay:3088 target:3072 resync 0.001869 0.000543 0.000006
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1051Slow start of DAC with pipewire2022-04-26T15:06:10ZypnosSlow start of DAC with pipewireVersion, Distribution, Desktop Environment:
Git master, Arch Linux, KDE
Description of Problem:
When I turn on my DAC, it takes some time going through various sample rates before going ready.
When restarting Pipewire while the DAC is...Version, Distribution, Desktop Environment:
Git master, Arch Linux, KDE
Description of Problem:
When I turn on my DAC, it takes some time going through various sample rates before going ready.
When restarting Pipewire while the DAC is connected, it also goes through a couple different sample rates.
How Reproducible:
Always when restarting DAC or Pipewire
Steps to Reproduce:
2. Power-on DAC
3. Wait and watch DAC display
Actual Results:
The DAC turns on and cycles through sample rates: 44.1kHz, 768kHz, 22.57x kHz, 44.1kHz, 48kHz, then finally settles on the 96kHz as configured in pipewire config. Then sound output starts playing.
Expected Results:
Getting ready faster by instantly picking the correct sample rate.
With current Pulse Audio, the DAC would start off with 22.57x kHz, then instantly target bitrate (I used adaptive bitrate setting based on input) and start playing.
Additional Info Eg. `pw-dump -N > file` (As Attachment Please):
[pw-dump.json](/uploads/e9184623e6c54563f7a4471623550909/pw-dump.json)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1052Pro Audio profile causes audio.channel = "UNK" in the card ports2021-04-15T15:12:20ZWellington Wallace Miguel MeloPro Audio profile causes audio.channel = "UNK" in the card portsToday I've noticed that I could not link a pw_filter to the sound card when the Pro Audio profile was selected. After some investigation I found out that in this profile the card ports do not report their channel name
```
audio.channel =...Today I've noticed that I could not link a pw_filter to the sound card when the Pro Audio profile was selected. After some investigation I found out that in this profile the card ports do not report their channel name
```
audio.channel = "UNK"
```
Is that by design or a bug? At this moment I am relying on the channel name to know if the port is front-left or front-right. Is reading the `audio.channel` value the proper way to get this information or should I be using something else?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1053Do better at handling old configuration versions, failing to start is not acc...2021-04-15T12:35:57ZAdam WilliamsonDo better at handling old configuration versions, failing to start is not acceptableFollowing the switch to pipewire by default in Fedora 34, I'm aware of two known cases where updating pipewire causes it to stop working because it can't read a previous version of one of its own configuration files. If the user never mo...Following the switch to pipewire by default in Fedora 34, I'm aware of two known cases where updating pipewire causes it to stop working because it can't read a previous version of one of its own configuration files. If the user never modifies any configuration they should not run into this as the package will update the stock files to a working version. However, it is not at all unusual for users to modify configuration.
One case is https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1931384 . The other was reported in a later F34 pipewire update, https://bodhi.fedoraproject.org/updates/FEDORA-2021-2c994d0609#comment-1949412 .
I honestly don't think it's acceptable for something as core as the main system audio server to fail to start up because it can't read an older version of its own configuration file. This is something that can and should be avoided with proper design and planning - e.g. having stock configuration in `/usr/share` and not allowing it to be modified (at the distro packaging level, these files are not marked as configuration and so are always overwritten on package updates) and allowing the site admin to modify/override the defaults via files in `/etc`; at worst, with this design, you can just ignore the overridden config in `/etc` if it can truly no longer be parsed or understood, and start up with a logged warning.
It is also a good idea to allow for config snippets at the `/etc` and user home dir levels, as opposed to expecting a modified copy of the entire configuration file to be present. systemd has very good design in this area; I'd encourage you to look into that and copy it.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1054PipeWire shouldn't allocate DMA buffers when spa_data::type is SPA_ID_INVALID2021-04-15T18:43:39ZJonas ÅdahlPipeWire shouldn't allocate DMA buffers when spa_data::type is SPA_ID_INVALID`spa_data::type` is used to define what type of buffers a client supports. It's described as:
> memory type, one of enum spa_data_type, when
> allocating memory, the type contains a bitmask
> of allowed types. SPA_ID_INVALID is a specia...`spa_data::type` is used to define what type of buffers a client supports. It's described as:
> memory type, one of enum spa_data_type, when
> allocating memory, the type contains a bitmask
> of allowed types. SPA_ID_INVALID is a special
> value for the allocator to indicate that the
> other side did not explicitly specify any
> supported data types. It should probably use
> a memory type that does not require special
> handling in addition to simple mmap/munmap.
DMA buffers sometimes doesn't require any "special handling", but that is by luck, not according to the DMA buffer uapi, which contains the following (from dma-buf.c in the Linux kernel source tree):
> There is no special interfaces, userspace simply calls mmap on the dma-buf
> fd. But like for CPU access there's a need to braket the actual access,
> which is handled by the ioctl (DMA_BUF_IOCTL_SYNC). Note that
> DMA_BUF_IOCTL_SYNC can fail with -EAGAIN or -EINTR, in which case it must
> be restarted.
Thus, DMA buffers require "special handling".
However, as far as I can tell, both the v4l2 and libcamera and source nodes does not respect this. An application would, given the documentation of `spa_data::type`, correctly interpret this as not having to deal with DMA buffer SYNC ioctls, if `SPA_ID_INVALID` was used, which is not correct.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1055No way for source node to know whether sink node interacts with DMA buffers t...2022-04-13T13:45:41ZJonas ÅdahlNo way for source node to know whether sink node interacts with DMA buffers the right wayAn application can ask for a DMA buffer, and then attempt to use `DMA_BUF_IOCTL_SYNC` and `mmap()` to download it. However, often for GPU memory, `mmap()` will either result in very very slow access (e.g. when using AMD gpus). On the oth...An application can ask for a DMA buffer, and then attempt to use `DMA_BUF_IOCTL_SYNC` and `mmap()` to download it. However, often for GPU memory, `mmap()` will either result in very very slow access (e.g. when using AMD gpus). On the other hand, for other types of DMA buffer, the same issue does not apply, for example for v4l2 DMA buffers. A sink node application can ask for "DMA buffer", but the source node does not know whether this implemented using a potentially very inefficient mmap() or using some adequate method for downloading GPU memory (i.e. glReadPixels()).
One could expand the documentation for accessing DMA Buffers to never mmap() them directly, to avoid accidentally getting very slow access, but that would require unnecessary restrictions on e.g. v4l2-only sink nodes, that will work well by mmap():ing.
Related: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1054https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1056Autocar bluetooth audio is not working2022-04-03T11:14:08ZWillowAutocar bluetooth audio is not workingI'd like to know if bluetooth autocar radio is considered compatible. I dont have that much information and dont know why classic bluetooth headsets works but autocar doesnt.
Description of Problem:
When connecting to the autocar bluet...I'd like to know if bluetooth autocar radio is considered compatible. I dont have that much information and dont know why classic bluetooth headsets works but autocar doesnt.
Description of Problem:
When connecting to the autocar bluetooth, I get connection issues. When the autocar power on, it auto connect to my device but it looks like it is not considered as an audio profile compatible device. Pavucontrol does not display a new device in the configuration tab.
We are two from the sxmo community trying to connect to autoradios without success. I open this issue cause I dont see any another autocar related one.
So, what is the status of this ? What could we expect to work ?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1057Upstreaming of Gentoo's docdir patch2021-04-16T07:27:26ZNiklāvs KoļesņikovsUpstreaming of Gentoo's docdir patchHello,
Creating an entire fork for this felt a bit excessive, so I'm merely opening an issue - I hope that's acceptable. ;)
Gentoo expects documentation to be installed under /usr/share/doc/_package_name_-_package_version_/ but the buil...Hello,
Creating an entire fork for this felt a bit excessive, so I'm merely opening an issue - I hope that's acceptable. ;)
Gentoo expects documentation to be installed under /usr/share/doc/_package_name_-_package_version_/ but the build system is currently hard-coded to always install to /usr/share/doc/_package_name_/. Looking at other distros, it seems likely that Gentoo is not the only one that will want to override the default docdir, so upstreaming the patch seems like a good idea.
The original file can be found at https://github.com/gentoo/gentoo/blob/master/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch which was made by me and now has been ported to the current style of using / for path joining.
Cheers,
Niklāvs
Update: A mixup with parenthesis had gotten through and didn't get caught until I did an custom build with docs enabled - sorry about that. I have now updated the patch with a v2 due to that.
```
From 34010cf14891efa7178d9b1fa45d6cd81f7ab0ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
<89q1r14hd@relay.firefox.com>
Date: Thu, 15 Apr 2021 21:45:53 +0300
Subject: [PATCH] doc: add docdir option (patch from Gentoo)
---
doc/meson.build | 7 +++++--
meson_options.txt | 3 +++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/doc/meson.build b/doc/meson.build
index d623e97c..a55fd953 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -24,11 +24,14 @@ doxyfile = configure_file(input: 'Doxyfile.in',
output: 'Doxyfile',
configuration: doxyfile_conf)
-docdir = pipewire_datadir / 'doc'
+docdir = get_option('docdir')
+if docdir == ''
+ docdir = pipewire_datadir / 'doc' / meson.project_name()
+endif
html_target = custom_target('pipewire-docs',
input: [ doxyfile ],
output: [ 'html' ],
command: [ doxygen, doxyfile ],
install: true,
- install_dir: docdir / 'pipewire')
+ install_dir: docdir)
diff --git a/meson_options.txt b/meson_options.txt
index 858283f2..69241454 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,6 @@
+option('docdir',
+ type : 'string',
+ description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )')
option('docs',
description: 'Build documentation',
type: 'feature',
--
2.30.2
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1058No output after disconnect of a device2022-07-15T07:18:19ZHarry MíchalNo output after disconnect of a deviceIf you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop En...If you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
- Sony MDR-XB650BT
- Fedora Silverblue Rawhide
- GNOME Shell 40 on Wayland
- pipewire-0.3.25-1.fc35.x86_64
- bluez-5.58-1.fc35.x86_64
- kernel-5.12.0-0.rc6.20210408git454859c552da.186.fc35.x86_64
```
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
```
Description of Problem:
After disconnecting laptop from docking station I noticed the laptop does not play any sound anymore. My guess is that the sound broke after disconnecting my headphones prior the disconnect from the dock by turning them off instead of disconnecting them through settings.
This may be possibly unrelated but I'll mention it anyway: I have PulseEffects installed and in the settings I noticed that the reported default output is still the bluetooth headset and the default input a USB microphone I have connected to the docking station.
How Reproducible:
Frequently but not reliably.
Steps to Reproduce:
No solid reproducer. Will try to find later on.
Actual Results:
No output from integrated speakers.
Expected Results:
Working output from integrated speakers.
Additional Info Eg. Additional Kernel Patches, `pw-dump -N > file` (As Attachment Please):
[pwdump](/uploads/30805dd5f4191dee32113c0d2a6fc585/pwdump) (from the time when output was broken)
[pwdump](/uploads/1c96759af5fed2ced1b97b493a8d161d/pwdump) (from the time when everything is fine)
Journal logs covering the time when I disconnected the laptop from the docking station. Later on I intentionally launched Lollypop and let it play to get some more logs.
<p>
<details>
<summary>Journal logs</summary>
<pre><code>Apr 15 17:00:17 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7ef1d70: [Firefox] UNDERFLOW channel:0 offset:1044480 underrun:4096
Apr 15 17:00:20 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 17:00:20 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7ef1d70: [Firefox] UNDERFLOW channel:0 offset:1228800 underrun:4096
Apr 15 17:00:39 harry-work pipewire-media-session[340287]: bluez5-monitor: Failed to register battery provider. Error: org.freedesktop.DBus.Error.UnknownMethod
Apr 15 17:00:39 harry-work pipewire-media-session[340287]: bluez5-monitor: BlueZ Battery Provider is not available, won't retry to register it. Make sure you are running BlueZ 5.56+ with experimental features to use Battery Provider.
Apr 15 17:00:44 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:1 offset:389120 underrun:4096
Apr 15 17:00:49 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:00:53 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 17:00:53 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:745472 underrun:4096
Apr 15 17:01:23 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:01:23 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:745472 underrun:4096
Apr 15 17:01:26 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 2 wakeups
Apr 15 17:01:27 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:02:18 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 17:02:18 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:35090432 underrun:4096
Apr 15 17:02:24 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:02:24 harry-work pipewire[340271]: (Firefox-76) client too slow! rate:512/48000 pos:5142528 status:triggered
Apr 15 17:02:27 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 17:02:27 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:38756352 underrun:4096
Apr 15 17:02:39 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:02:59 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:03:05 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:03:24 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:04:56 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:05:52 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:06:05 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 17:06:05 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:258048 underrun:2048
Apr 15 17:06:55 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:06:56 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:09:26 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:09:31 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:258048 underrun:2048
Apr 15 17:09:43 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:258048 underrun:2048
Apr 15 17:10:14 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:2 offset:745472 underrun:4096
Apr 15 17:10:17 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:12:14 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:12:14 harry-work pipewire[340271]: (Firefox-76) client too slow! rate:512/48000 pos:33486336 status:triggered
Apr 15 17:17:53 harry-work pipewire[340271]: (Firefox-76) client too slow! rate:512/48000 pos:49769984 status:triggered
Apr 15 17:17:53 harry-work pipewire-media-session[340287]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-18) client missed 1 wakeups
Apr 15 17:18:39 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:411729920 underrun:4096
Apr 15 17:18:43 harry-work pipewire-pulse[340559]: 2 events suppressed
Apr 15 17:18:43 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:1523712 underrun:4096
Apr 15 17:35:29 harry-work pipewire-pulse[340559]: pulse-server 0x5563f93dedd0: [Lollypop] UNDERFLOW channel:0 offset:46993408 underrun:2048
Apr 15 17:42:12 harry-work pipewire-pulse[340559]: pulse-server 0x5563f800ce10: [Lollypop] UNDERFLOW channel:0 offset:16289792 underrun:2048
Apr 15 17:43:29 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 17:48:40 harry-work pipewire-pulse[340559]: pulse-server 0x5563f800ce10: [Lollypop] UNDERFLOW channel:0 offset:74084352 underrun:2048
Apr 15 17:53:46 harry-work pipewire-pulse[340559]: pulse-server 0x5563f81e9450: [Lollypop] UNDERFLOW channel:0 offset:58380288 underrun:2048
Apr 15 17:57:38 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:4403200 underrun:4096
Apr 15 17:57:52 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 18:00:23 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:129241088 status:triggered
Apr 15 18:00:23 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:129241088 status:triggered
Apr 15 18:00:23 harry-work pipewire[340271]: (Lollypop-75) client too slow! rate:512/48000 pos:129241088 status:triggered
Apr 15 18:00:23 harry-work pipewire-pulse[340559]: (Lollypop-26) client missed 1 wakeups
Apr 15 18:07:26 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7fb3520: [Lollypop] UNDERFLOW channel:0 offset:157257728 underrun:2048
Apr 15 18:09:46 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7f7e760: [Lollypop] UNDERFLOW channel:0 offset:26558464 underrun:2048
Apr 15 18:09:47 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:156280832 status:triggered
Apr 15 18:09:47 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:156280832 status:triggered
Apr 15 18:11:32 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7f7e760: [Lollypop] UNDERFLOW channel:0 offset:20133888 underrun:2048
Apr 15 18:13:33 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:13:46 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:15:44 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 18:17:07 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:17:42 harry-work pipewire-pulse[340559]: pulse-server 0x5563f818afd0: [Lollypop] UNDERFLOW channel:0 offset:70658048 underrun:2048
Apr 15 18:18:00 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:18:01 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:180011008 status:triggered
Apr 15 18:18:01 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:180011008 status:triggered
Apr 15 18:18:44 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:19:45 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:573440 underrun:4096
Apr 15 18:20:16 harry-work pipewire-pulse[340559]: pulse-server 0x5563f81ed690: [Lollypop] UNDERFLOW channel:0 offset:29409280 underrun:2048
Apr 15 18:20:45 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 18:22:29 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 18:22:29 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:15056 underrun:3760
Apr 15 18:22:31 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 18:22:31 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:15056 underrun:3760
Apr 15 18:22:33 harry-work pipewire-pulse[340559]: 3 events suppressed
Apr 15 18:22:33 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:15056 underrun:3760
Apr 15 18:22:35 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 18:22:35 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:15056 underrun:3760
Apr 15 18:22:38 harry-work pipewire-pulse[340559]: 4 events suppressed
Apr 15 18:22:38 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:15056 underrun:3760
Apr 15 18:23:02 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 18:23:34 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:195970048 status:triggered
Apr 15 18:23:34 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:195970048 status:triggered
Apr 15 18:23:34 harry-work pipewire[340271]: (Firefox-83) client too slow! rate:512/48000 pos:195970048 status:triggered
Apr 15 18:23:34 harry-work pipewire-pulse[340559]: (Firefox-14) client missed 1 wakeups
Apr 15 18:24:05 harry-work pipewire-pulse[340559]: 1 events suppressed
Apr 15 18:24:05 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:1 offset:573440 underrun:4096
Apr 15 18:30:07 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:2367488 underrun:4096
Apr 15 18:30:17 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:2322432 underrun:4096
Apr 15 18:49:45 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:5890048 underrun:4096
Apr 15 19:07:16 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:08:06 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:08:22 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:08:28 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:213161472 status:triggered
Apr 15 19:08:28 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:213161472 status:triggered
Apr 15 19:08:28 harry-work pipewire[340271]: (Firefox-83) client too slow! rate:512/48000 pos:213161472 status:triggered
Apr 15 19:08:28 harry-work pipewire-pulse[340559]: (Firefox-15) client missed 1 wakeups
Apr 15 19:09:00 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:11:29 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:221818880 status:triggered
Apr 15 19:11:29 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:221818880 status:triggered
Apr 15 19:11:29 harry-work pipewire[340271]: (Firefox-83) client too slow! rate:512/48000 pos:221818880 status:triggered
Apr 15 19:11:29 harry-work pipewire-pulse[340559]: (Firefox-15) client missed 1 wakeups
Apr 15 19:11:48 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:12:07 harry-work pipewire[340271]: (Firefox-83) client too slow! rate:512/48000 pos:223656448 status:triggered
Apr 15 19:12:28 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:12:35 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:12:43 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:225384448 status:triggered
Apr 15 19:12:43 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:225384448 status:triggered
Apr 15 19:12:43 harry-work pipewire-media-session[340287]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-18) client missed 1 wakeups
Apr 15 19:15:07 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:232314368 status:triggered
Apr 15 19:15:07 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:232314368 status:triggered
Apr 15 19:15:07 harry-work pipewire[340271]: (Firefox-83) client too slow! rate:512/48000 pos:232314368 status:triggered
Apr 15 19:15:07 harry-work pipewire-pulse[340559]: (Firefox-15) client missed 1 wakeups
Apr 15 19:15:17 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:16:05 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:16:05 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:29:49 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:37:15 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:40:05 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 19:44:29 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:278673920 status:triggered
Apr 15 19:44:29 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:278673920 status:triggered
Apr 15 19:44:29 harry-work pipewire[340271]: (VLC media player (LibVLC 3.0.12)-103) client too slow! rate:512/48000 pos:278673920 status:triggered
Apr 15 19:44:29 harry-work pipewire-pulse[340559]: (VLC media player (LibVLC 3.0.12)-21) client missed 1 wakeups
Apr 15 19:44:29 harry-work pipewire-pulse[340559]: (VLC media player (LibVLC 3.0.12)-21) client missed 1 wakeups
Apr 15 19:47:57 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 20:19:36 harry-work pipewire[340271]: 1 events suppressed
Apr 15 20:19:36 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:372488704 status:triggered
Apr 15 20:19:36 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:372488704 status:triggered
Apr 15 20:19:36 harry-work pipewire-media-session[340287]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-18) client missed 1 wakeups
Apr 15 20:33:14 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:11161600 underrun:4096
Apr 15 20:37:22 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 20:46:57 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client missed 1 wakeups
Apr 15 21:28:36 harry-work pipewire-pulse[340559]: pulse-server 0x5563f8055de0: [Lollypop] UNDERFLOW channel:0 offset:49846272 underrun:2048
Apr 15 21:31:50 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7f7bef0: [Lollypop] UNDERFLOW channel:0 offset:36734976 underrun:2048
Apr 15 21:32:06 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:513736192 status:triggered
Apr 15 21:32:06 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:513736192 status:triggered
Apr 15 21:32:06 harry-work pipewire[340271]: (Lollypop-75) client too slow! rate:512/48000 pos:513736192 status:triggered
Apr 15 21:32:06 harry-work pipewire-pulse[340559]: (Lollypop-26) client missed 1 wakeups
Apr 15 21:43:49 harry-work pipewire-pulse[340559]: pulse-server 0x5563faa709b0: [Lollypop] UNDERFLOW channel:0 offset:137672704 underrun:2048
Apr 15 21:47:06 harry-work pipewire-pulse[340559]: pulse-server 0x5563f8f57130: [Lollypop] UNDERFLOW channel:0 offset:37353472 underrun:2048
Apr 15 21:48:19 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:560433664 status:triggered
Apr 15 21:48:19 harry-work pipewire[340271]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-78) client too slow! rate:512/48000 pos:560433664 status:triggered
Apr 15 21:48:19 harry-work pipewire[340271]: (Lollypop-75) client too slow! rate:512/48000 pos:560433664 status:triggered
Apr 15 21:48:19 harry-work pipewire-pulse[340559]: (Lollypop-26) client missed 1 wakeups
Apr 15 21:52:41 harry-work pipewire-pulse[340559]: pulse-server 0x5563f9a3bb40: [Lollypop] UNDERFLOW channel:0 offset:64077824 underrun:2048
Apr 15 21:55:57 harry-work pipewire-pulse[340559]: pulse-server 0x5563f992d070: [Lollypop] UNDERFLOW channel:0 offset:37144576 underrun:2048
Apr 15 22:00:47 harry-work pipewire-pulse[340559]: pulse-server 0x5563fa4c3370: [Lollypop] UNDERFLOW channel:0 offset:55281664 underrun:2048
Apr 15 22:05:04 harry-work pipewire-pulse[340559]: pulse-server 0x5563f7f7bef0: [Lollypop] UNDERFLOW channel:0 offset:48957440 underrun:2048
Apr 15 22:08:52 harry-work pipewire-pulse[340559]: pulse-server 0x5563f9a3bb40: [Lollypop] UNDERFLOW channel:0 offset:43444224 underrun:2048
Apr 15 22:39:39 harry-work pipewire-pulse[340559]: pulse-server 0x5563f80854c0: [Firefox] UNDERFLOW channel:0 offset:45789184 underrun:4096
Apr 15 22:58:11 harry-work pipewire-pulse[340559]: node 0x5563f980f7f0: set_param Spa:Enum:ParamId:PortConfig (11) 0x5563f935e500: Input/output error
Apr 15 22:58:11 harry-work pipewire[340271]: impl-core 0x5590cffc36d0: error -5 for resource 57: node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error
Apr 15 22:58:11 harry-work pipewire[340271]: client-node 0x5590d02b29d0: error seq:9990 -5 (node_set_param(Spa:Enum:ParamId:PortConfig) failed: Input/output error)
Apr 15 23:52:17 harry-work pipewire[340271]: (Chromium-102) client too slow! rate:256/48000 pos:3417600 status:triggered
Apr 15 23:52:17 harry-work pipewire-pulse[340559]: (Chromium-10) client missed 1 wakeups
Apr 16 00:06:33 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:06:33 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:10541056 status:triggered
Apr 16 00:06:33 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:10541056 status:triggered
Apr 16 00:06:33 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 1 wakeups
Apr 16 00:06:33 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:06:44 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:11056128 status:triggered
Apr 16 00:06:44 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:11056128 status:triggered
Apr 16 00:06:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 1 wakeups
Apr 16 00:06:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:06:48 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:06:48 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:11257856 status:triggered
Apr 16 00:06:48 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:11257856 status:triggered
Apr 16 00:06:48 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 2 wakeups
Apr 16 00:06:48 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 2 wakeups
Apr 16 00:06:51 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:06:51 harry-work pipewire[340271]: 1 events suppressed
Apr 16 00:06:51 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:11370752 status:awake
Apr 16 00:06:51 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:11370752 status:awake
Apr 16 00:07:22 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:22 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:12848896 status:triggered
Apr 16 00:07:22 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:12848896 status:triggered
Apr 16 00:07:22 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 2 wakeups
Apr 16 00:07:22 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 2 wakeups
Apr 16 00:07:22 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:22 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 2 wakeups
Apr 16 00:07:22 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 2 wakeups
Apr 16 00:07:23 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:23 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 2 wakeups
Apr 16 00:07:23 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 2 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire[340271]: 5 events suppressed
Apr 16 00:07:25 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:12992512 status:awake
Apr 16 00:07:25 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:12992512 status:awake
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 4 wakeups
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 4 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:25 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:39 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:39 harry-work pipewire[340271]: 16 events suppressed
Apr 16 00:07:39 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:13646848 status:awake
Apr 16 00:07:39 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:13646848 status:triggered
Apr 16 00:07:42 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:42 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:13777664 status:triggered
Apr 16 00:07:42 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:13777664 status:triggered
Apr 16 00:07:42 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:42 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:42 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:42 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:43 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:43 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:43 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 1 wakeups
Apr 16 00:07:43 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:43 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:43 harry-work pipewire-pulse[340559]: (speech-dispatcher-espeak-ng-10) client missed 12 wakeups
Apr 16 00:07:43 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 12 wakeups
Apr 16 00:07:44 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:44 harry-work pipewire[340271]: 16 events suppressed
Apr 16 00:07:44 harry-work pipewire[340271]: (speech-dispatcher-espeak-ng-79) client too slow! rate:256/48000 pos:13881344 status:triggered
Apr 16 00:07:44 harry-work pipewire[340271]: (speech-dispatcher-dummy-81) client too slow! rate:256/48000 pos:13881344 status:triggered
Apr 16 00:07:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:44 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:44 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:44 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:44 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:45 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:45 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:45 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:45 harry-work pipewire-pulse[340559]: (speech-dispatcher-dummy-27) client missed 1 wakeups
Apr 16 00:07:49 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:07:49 harry-work pipewire[340271]: 5 events suppressed
Apr 16 00:13:18 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:13:18 harry-work pipewire[340271]: (alsa_input.pci-0000_00_1f.3.analog-stereo-51) XRun! rate:1024/48000 count:1 time:0 delay:0 max:0
Apr 16 00:13:59 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:15:08 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
^R
^[[1;2CApr 16 00:18:14 harry-work pipewire[340271]: (alsa_input.pci-0000_00_1f.3.analog-stereo-51) XRun! rate:1024/48000 count:2 time:0 delay:0 max:0
Apr 16 00:18:46 harry-work pipewire[340271]: (GNOME Settings-86) client too slow! rate:1024/48000 pos:17553408 status:triggered
Apr 16 00:18:46 harry-work pipewire-pulse[340559]: (GNOME Settings-23) client missed 1 wakeups
Apr 16 00:23:25 harry-work pipewire[340271]: alsa-pcm front:2: snd_pcm_status error: Broken pipe
Apr 16 00:28:19 harry-work pipewire-pulse[340559]: pulse-server 0x5563f8056760: [Lollypop] UNDERFLOW channel:0 offset:168805864 underrun:3764
</code></pre>
</details>
</p>
![image](/uploads/cf5bb60803826399f04912258e7b2855/image.png)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1059Intermittent crash2022-04-12T21:55:52Zhf29h8sh321Intermittent crashVersion, Distribution, Desktop Environment:
```
pipewire 1:0.3.25-1
pipewire-pulse 1:0.3.25-1
```
GNOME 40
Arch Linux
# Description of Problem:
Every once in a while (usually 1-2 times per day), pipewire-pulse will crash. I am not sur...Version, Distribution, Desktop Environment:
```
pipewire 1:0.3.25-1
pipewire-pulse 1:0.3.25-1
```
GNOME 40
Arch Linux
# Description of Problem:
Every once in a while (usually 1-2 times per day), pipewire-pulse will crash. I am not sure what exactly causes the crash.
# How Reproducible:
Not very reproducible.
If it matters, I am running PulseEffects (legacy version) when it crashes.
# Additional Info
```
Apr 16 11:33:29 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:33:39 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:33:49 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:33:59 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:34:09 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:34:19 YSA pipewire-pulse[986200]: pulse-server 0x55d38666e5e0: [Firefox] UNDERFLOW channel:6 offset:3432040 underrun:1880
Apr 16 11:34:31 YSA systemd-coredump[648068]: Process 986200 (pipewire-pulse) of user 1000 dumped core.
Stack trace of thread 986200:
#0 0x00007f141aa854c3 n/a (libspa-support.so + 0x54c3)
#1 0x00007f141aa863f8 n/a (libspa-support.so + 0x63f8)
#2 0x00007f141aa0804b n/a (libpipewire-0.3.so.0 + 0x6604b)
#3 0x00007f141a9f315c n/a (libpipewire-0.3.so.0 + 0x5115c)
#4 0x00007f141a9fde6c pw_impl_node_destroy (libpipewire-0.3.so.0 + 0x5be6c)
#5 0x00007f141a9fe108 pw_impl_node_destroy (libpipewire-0.3.so.0 + 0x5c108)
#6 0x00007f141aa1042d pw_stream_disconnect (libpipewire-0.3.so.0 + 0x6e42d)
#7 0x00007f141aa0ac01 pw_stream_destroy (libpipewire-0.3.so.0 + 0x68c01)
#8 0x00007f1419b3dbf6 n/a (libpipewire-module-protocol-pulse.so + 0x12bf6)
#9 0x00007f1419b40503 n/a (libpipewire-module-protocol-pulse.so + 0x15503)
#10 0x00007f1419b52ba4 n/a (libpipewire-module-protocol-pulse.so + 0x27ba4)
#11 0x00007f141aa868eb n/a (libspa-support.so + 0x68eb)
#12 0x00007f141a9ea60b pw_main_loop_run (libpipewire-0.3.so.0 + 0x4860b)
#13 0x000055d38494b274 n/a (pipewire-pulse + 0x1274)
#14 0x00007f141a7fcb25 __libc_start_main (libc.so.6 + 0x27b25)
#15 0x000055d38494b39e n/a (pipewire-pulse + 0x139e)
Stack trace of thread 986210:
#0 0x00007f141a8c512f write (libc.so.6 + 0xf012f)
#1 0x00007f141aa8fc6b n/a (libspa-support.so + 0xfc6b)
#2 0x00007f141aa855a6 n/a (libspa-support.so + 0x55a6)
#3 0x00007f141aa846d6 n/a (libspa-support.so + 0x46d6)
#4 0x00007f141aa868eb n/a (libspa-support.so + 0x68eb)
#5 0x00007f141a9da070 n/a (libpipewire-0.3.so.0 + 0x38070)
#6 0x00007f141a7b6299 start_thread (libpthread.so.0 + 0x9299)
#7 0x00007f141a8d4053 __clone (libc.so.6 + 0xff053)
Apr 16 11:34:31 YSA systemd[1555]: pipewire-pulse.service: Main process exited, code=dumped, status=11/SEGV
Apr 16 11:34:31 YSA systemd[1555]: pipewire-pulse.service: Failed with result 'core-dump'.
```
I've started gdb to capture a more proper backtrace if it crashes again.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1060Random crashes with PulseEffects, Pavucontrol and OBS Studio 27.0.0-rc2 (flat...2022-04-13T13:33:05ZNiccolò BelliRandom crashes with PulseEffects, Pavucontrol and OBS Studio 27.0.0-rc2 (flathub-beta) with a PulseEffects Source Input capture and a pipewire screen capture```
Apr 16 20:03:20 fedora systemd[1643]: dbus-:1.2-org.gnome.Photos@21.service: Deactivated successfully.
Apr 16 20:03:20 fedora systemd[1643]: Started Application launched by gnome-shell.
Apr 16 20:03:20 fedora systemd[1643]: Started A...```
Apr 16 20:03:20 fedora systemd[1643]: dbus-:1.2-org.gnome.Photos@21.service: Deactivated successfully.
Apr 16 20:03:20 fedora systemd[1643]: Started Application launched by gnome-shell.
Apr 16 20:03:20 fedora systemd[1643]: Started Application launched by gnome-shell.
Apr 16 20:03:20 fedora systemd[1643]: app-glib-pavucontrol-9354.scope: Deactivated successfully.
Apr 16 20:03:20 fedora audit[2233]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=2233 comm="pipewire" exe="/usr/bin/pipewire" sig=11 res=1
Apr 16 20:03:20 fedora kernel: show_signal_msg: 115 callbacks suppressed
Apr 16 20:03:20 fedora kernel: pipewire[2233]: segfault at 553dc64c0 ip 00007f17e205f4b9 sp 00007ffdf1ec2b10 error 4 in libc-2.33.so[7f17e1ff9000+14d000]
Apr 16 20:03:20 fedora kernel: Code: 00 0f b7 14 58 66 85 d2 0f 84 48 ff ff ff 48 8d 73 10 4c 8b 04 f0 41 f6 c0 0f 0f 85 d1 01 00 00 4c 89 c1 83 ea 01 48 c1 e9 0c <49> 33 08 48 89 0c f0 66 89 14 58 4c 89 c0 49 c7 40 08 00 00 00 00
Apr 16 20:03:20 fedora systemd[1]: Created slice system-systemd\x2dcoredump.slice.
Apr 16 20:03:20 fedora audit: BPF prog-id=169 op=LOAD
Apr 16 20:03:20 fedora audit: BPF prog-id=170 op=LOAD
Apr 16 20:03:20 fedora audit: BPF prog-id=171 op=LOAD
Apr 16 20:03:20 fedora systemd[1]: Started Process Core Dump (PID 9362/UID 0).
Apr 16 20:03:20 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-coredump@0-9362-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 20:03:20 fedora systemd[1]: fprintd.service: Deactivated successfully.
Apr 16 20:03:20 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 20:03:20 fedora systemd-coredump[9363]: [🡕] Process 2233 (pipewire) of user 1000 dumped core.
Stack trace of thread 2233:
#0 0x00007f17e205f4b9 malloc (libc.so.6 + 0x8c4b9)
#1 0x00007f17e21cf615 pw_context_create_client (libpipewire-0.3.so.0 + 0x2d615)
#2 0x00007f17e09f3e69 client_new (libpipewire-module-protocol-native.so + 0x10e69)
#3 0x00007f17e09f42d1 socket_data (libpipewire-module-protocol-native.so + 0x112d1)
#4 0x00007f17e1f7c9fb loop_iterate (libspa-support.so + 0x69fb)
#5 0x00007f17e21e4d3b pw_main_loop_run (libpipewire-0.3.so.0 + 0x42d3b)
#6 0x0000560c51b574e4 main (pipewire + 0x14e4)
#7 0x00007f17e1ffab75 __libc_start_main (libc.so.6 + 0x27b75)
#8 0x0000560c51b575fe _start (pipewire + 0x15fe)
Stack trace of thread 2234:
#0 0x00007f17e20d39ee epoll_wait (libc.so.6 + 0x1009ee)
#1 0x00007f17e1f86458 impl_pollfd_wait (libspa-support.so + 0x10458)
#2 0x00007f17e1f7c964 loop_iterate (libspa-support.so + 0x6964)
#3 0x00007f17e21ccd13 do_loop (libpipewire-0.3.so.0 + 0x2ad13)
#4 0x00007f17e1f99299 start_thread (libpthread.so.0 + 0x9299)
#5 0x00007f17e20d36a3 __clone (libc.so.6 + 0x1006a3)
Apr 16 20:03:20 fedora systemd[1]: systemd-coredump@0-9362-0.service: Deactivated successfully.
Apr 16 20:03:20 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-coredump@0-9362-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 16 20:03:20 fedora gnome-shell[1816]: pipewire remote error: id:0 connection error
Apr 16 20:03:20 fedora com.obsproject.Studio.desktop[9155]: error: [pipewire] Error id:0 seq:170 res:-32 (Unknown error -32): connection error
Apr 16 20:03:20 fedora firefox.desktop[6182]: [Child 6182, AudioIPC0] WARNING: 7fcd29199580 StateCallback() state 2 cubeb error: file /builddir/build/BUILD/firefox-87.0/dom/media/AudioStream.cpp:654
Apr 16 20:03:20 fedora firefox.desktop[6182]: [Child 6182, MediaDecoderStateMachine #2] WARNING: Decoder=7fcd3181b800 [OnMediaSinkAudioError]: file /builddir/build/BUILD/firefox-87.0/dom/media/MediaDecoderStateMachine.cpp:3904
Apr 16 20:03:20 fedora xdg-desktop-por[6735]: Failed to close GNOME screen cast session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.gnome.Mutter.ScreenCast.Session” on object at path /org/gnome/Mutter/ScreenCast/Session/u5
Apr 16 20:03:20 fedora xdg-desktop-por[6731]: Caught PipeWire error: connection error
Apr 16 20:03:20 fedora pulseeffects[5842]: pipe_manager: Remote error on id:0
Apr 16 20:03:20 fedora pulseeffects[5842]: pipe_manager: Remote error message:connection error
Apr 16 20:03:20 fedora pipewire-media-session[2363]: error id:0 seq:17420 res:-32 (Broken pipe): connection error
Apr 16 20:03:20 fedora systemd[1643]: pipewire.service: Main process exited, code=dumped, status=11/SEGV
Apr 16 20:03:20 fedora systemd[1643]: pipewire.service: Failed with result 'core-dump'.
Apr 16 20:03:20 fedora systemd[1643]: pipewire.service: Consumed 14.772s CPU time.
Apr 16 20:03:20 fedora audit: BPF prog-id=171 op=UNLOAD
Apr 16 20:03:20 fedora audit: BPF prog-id=170 op=UNLOAD
Apr 16 20:03:20 fedora audit: BPF prog-id=169 op=UNLOAD
Apr 16 20:03:20 fedora systemd[1643]: pipewire.service: Scheduled restart job, restart counter is at 1.
Apr 16 20:03:20 fedora systemd[1643]: Stopped Multimedia Service.
Apr 16 20:03:20 fedora systemd[1643]: pipewire.service: Consumed 14.772s CPU time.
```
It crashed while simply opening the 3 apps together. Unfortunately it happens randomly and I cannot easily reproduce it. I'll post some more if I manage to reproduce it.
The system is Fedora 34.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1061pw-loopback crashes when terminated2022-07-15T07:18:19ZJanne Hakonenpw-loopback crashes when terminated Version: master (f27ad659)
Distribution: Pop OS 20.04
Desktop Environment: GNOME
Description of Problem:
When `pw-loopback` is set to capture virtual audio source it crashes sometimes when terminated.
How Reproducible:
~1... Version: master (f27ad659)
Distribution: Pop OS 20.04
Desktop Environment: GNOME
Description of Problem:
When `pw-loopback` is set to capture virtual audio source it crashes sometimes when terminated.
How Reproducible:
~1%
Steps to Reproduce:
1. Create script ./test:
```bash
#!/bin/bash
set -e
SOURCE_NAME="Test Audio Source"
pw-cli create-node adapter "{ \
factory.name=support.null-audio-sink \
object.linger=1 \
node.name=\"$SOURCE_NAME\" \
media.class=\"Audio/Source/Virtual\" \
audio.position=[FL,FR] \
}"
NODE_ID=$(pw-dump -N | jq -r --arg name "$SOURCE_NAME" \
'.[] | select(.info.props["node.name"]==$name) | .id')
trap 'pw-cli destroy $NODE_ID' SIGINT SIGTERM EXIT
let i=1
while :; do
echo "Try #$i"
pw-loopback --capture $NODE_ID &
sleep 0.1
# Terminate pw-loopback process
kill $!
# Check exit code of the backgrounded pw-loopback process, 'set -e' exits
# this script if the process had crashed
wait $!
let i++
done
```
2. Run the script
Actual Results:
```
$ ulimit -c unlimited
$ ./test
1 = @proxy:77
Try #1
Try #2
...
Try #87
./test: line 29: 50255 Segmentation fault (core dumped) pw-loopback --capture $NODE_ID
remote 0 port 115 changed
remote 0 port 114 changed
remote 0 port 116 changed
remote 0 port 81 changed
$ gdb pw-loopback core
...
Reading symbols from pw-loopback...
[New LWP 50257]
[New LWP 50255]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `pw-loopback --capture 91'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
383 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
[Current thread is 1 (Thread 0x7f8c01689700 (LWP 50257))]
(gdb) thread apply all bt
Thread 2 (Thread 0x7f8c02ad6b80 (LWP 50255)):
#0 __GI__dl_catch_exception (exception=exception@entry=0x7ffd59617000, operate=operate@entry=0x7f8c02afc420 <dlclose_doit>, args=args@entry=0x561925a3ab90) at dl-error-skeleton.c:211
#1 0x00007f8c02c64983 in __GI__dl_catch_error (objname=objname@entry=0x5619259e55c0, errstring=errstring@entry=0x5619259e55c8, mallocedp=mallocedp@entry=0x5619259e55b8, operate=operate@entry=0x7f8c02afc420 <dlclose_doit>, args=args@entry=0x561925a3ab90) at dl-error-skeleton.c:227
#2 0x00007f8c02afcb59 in _dlerror_run (operate=operate@entry=0x7f8c02afc420 <dlclose_doit>, args=0x561925a3ab90) at dlerror.c:170
#3 0x00007f8c02afc468 in __dlclose (handle=<optimized out>) at dlclose.c:46
#4 0x00007f8c02d574b9 in unref_plugin (plugin=0x561925a3b120) at ../src/pipewire/pipewire.c:165
#5 0x00007f8c02d57524 in unref_plugin (plugin=<optimized out>) at ../src/pipewire/pipewire.c:161
#6 unref_handle (handle=0x7f8c00116010) at ../src/pipewire/pipewire.c:204
#7 0x00007f8c02d57c7d in unref_handle (handle=<optimized out>) at ../src/pipewire/pipewire.c:305
#8 pw_unload_spa_handle (handle=<optimized out>) at ../src/pipewire/pipewire.c:322
#9 0x00007f8c02d5dfc9 in pw_impl_port_set_mix (port=port@entry=0x561925a34ac0, node=0x561925a35120, node@entry=0x0, flags=flags@entry=0) at ../src/pipewire/impl-port.c:515
#10 0x00007f8c02d60319 in pw_impl_port_remove (port=0x561925a34ac0) at ../src/pipewire/impl-port.c:1025
#11 pw_impl_port_destroy (port=0x561925a34ac0) at ../src/pipewire/impl-port.c:1049
#12 0x00007f8c02d5486d in pw_impl_node_destroy (node=0x561925a2a650) at ../src/pipewire/impl-node.c:1766
#13 0x00007f8c02d71c9e in pw_stream_disconnect (stream=0x561925a211d0) at ../src/pipewire/stream.c:1707
#14 pw_stream_disconnect (stream=0x561925a211d0) at ../src/pipewire/stream.c:1687
#15 0x00007f8c02d2fed5 in proxy_core_removed (data=0x561925a04560) at ../src/pipewire/core.c:213
#16 proxy_core_removed (data=0x561925a04560) at ../src/pipewire/core.c:198
#17 0x00007f8c02d64900 in pw_proxy_remove (proxy=proxy@entry=0x561925a04560) at ../src/pipewire/proxy.c:284
#18 0x00007f8c02d30afc in pw_core_disconnect (core=0x561925a04560) at ../src/pipewire/core.c:495
#19 0x0000561924f82769 in main (argc=<optimized out>, argv=<optimized out>) at ../src/tools/pw-loopback.c:323
Thread 1 (Thread 0x7f8c01689700 (LWP 50257)):
#0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
#1 0x00007f8c00d363c7 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#2 impl_node_process (object=0x7f8c0060ec78) at ../spa/plugins/audioconvert/resample.c:872
#3 0x00007f8c00d01b77 in impl_node_process (object=<optimized out>) at ../spa/plugins/audioconvert/audioconvert.c:1139
#4 impl_node_process (object=0x7f8c003ad3c0) at ../spa/plugins/audioconvert/audioconvert.c:1125
#5 0x00007f8c00cf4aa8 in impl_node_process (object=0x7f8c003ad038) at ../spa/plugins/audioconvert/audioadapter.c:1026
#6 0x00007f8c02d4ed39 in process_node (data=0x561925a2e160) at ../src/pipewire/impl-node.c:1040
--Type <RET> for more, q to quit, c to continue without paging--
#7 0x00007f8c02d4d21c in node_on_fd_events (source=<optimized out>) at ../src/pipewire/impl-node.c:1098
#8 0x00007f8c02dc9463 in loop_iterate (object=0x5619259f7538, timeout=<optimized out>) at ../spa/plugins/support/loop.c:308
#9 0x00007f8c02d30e90 in do_loop (user_data=0x5619259f7390) at ../src/pipewire/data-loop.c:79
#10 0x00007f8c02ae1609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f8c02c23293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)
```
The crash might happen only after a few retries, or could take over hundred of retries.
Expected Results:
No crash.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1062udev dependency is not checked before build2021-04-18T07:59:07ZNils Tonnättudev dependency is not checked before buildI have a quite fresh installation of Fedora 34. When building pipewire with meson, it misses libudev.h when compiling. I think a dependency check should be added for this.
```
$ meson compile
Found runner: ['/usr/bin/ninja']
ninja: Ente...I have a quite fresh installation of Fedora 34. When building pipewire with meson, it misses libudev.h when compiling. I think a dependency check should be added for this.
```
$ meson compile
Found runner: ['/usr/bin/ninja']
ninja: Entering directory `.'
[0/1] Regenerating build files.
The Meson build system
Version: 0.56.2
Source dir: /home/nils/Development/pipewire
Build dir: /home/nils/Development/pipewire/builddir
Build type: native build
Project name: pipewire
Project version: 0.3.25
C compiler for the host machine: cc (gcc 11.0.1 "cc (GCC) 11.0.1 20210405 (Red Hat 11.0.1-0)")
C linker for the host machine: cc ld.bfd 2.35.1-41
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -fvisibility=hidden: YES (cached)
Compiler for C supports arguments -Werror=suggest-attribute=format: YES (cached)
Compiler for C supports arguments -Wsign-compare: YES (cached)
Compiler for C supports arguments -Wpointer-arith: YES (cached)
Compiler for C supports arguments -Wpointer-sign: YES (cached)
Compiler for C supports arguments -Wformat: YES (cached)
Compiler for C supports arguments -Wformat-security: YES (cached)
Compiler for C supports arguments -Wimplicit-fallthrough: YES (cached)
Compiler for C supports arguments -Wmissing-braces: YES (cached)
Compiler for C supports arguments -Wtype-limits: YES (cached)
Compiler for C supports arguments -Wvariadic-macros: YES (cached)
Compiler for C supports arguments -Wno-missing-field-initializers: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-pedantic: YES (cached)
Compiler for C supports arguments -Wold-style-declaration: YES (cached)
Compiler for C supports arguments -Wunused-result: YES (cached)
Compiler for C supports arguments -DFASTPATH: YES (cached)
C++ compiler for the host machine: c++ (gcc 11.0.1 "c++ (GCC) 11.0.1 20210405 (Red Hat 11.0.1-0)")
C++ linker for the host machine: c++ ld.bfd 2.35.1-41
Compiler for C++ supports arguments -fvisibility=hidden: YES (cached)
Compiler for C++ supports arguments -Werror=suggest-attribute=format: YES (cached)
Compiler for C++ supports arguments -Wsign-compare: YES (cached)
Compiler for C++ supports arguments -Wpointer-arith: YES (cached)
Compiler for C++ supports arguments -Wpointer-sign: NO (cached)
Compiler for C++ supports arguments -Wformat: YES (cached)
Compiler for C++ supports arguments -Wformat-security: YES (cached)
Compiler for C++ supports arguments -Wimplicit-fallthrough: YES (cached)
Compiler for C++ supports arguments -Wmissing-braces: YES (cached)
Compiler for C++ supports arguments -Wtype-limits: YES (cached)
Compiler for C++ supports arguments -Wvariadic-macros: YES (cached)
Compiler for C++ supports arguments -Wno-missing-field-initializers: YES (cached)
Compiler for C++ supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C++ supports arguments -Wno-pedantic: YES (cached)
Compiler for C++ supports arguments -Wold-style-declaration: NO (cached)
Compiler for C++ supports arguments -Wunused-result: YES (cached)
Compiler for C supports arguments -msse: YES (cached)
Compiler for C supports arguments -msse2: YES (cached)
Compiler for C supports arguments -mssse3: YES (cached)
Compiler for C supports arguments -msse4.1: YES (cached)
Compiler for C supports arguments -mfma: YES (cached)
Compiler for C supports arguments -mavx: YES (cached)
Compiler for C supports arguments -mavx2: YES (cached)
Compiler for C supports arguments -mfpu=neon: NO (cached)
Library atomic found: YES
Checking if "8-byte __atomic_store_n without libatomic" links: YES (cached)
Has header "dlfcn.h" : YES (cached)
Has header "inttypes.h" : YES (cached)
Has header "memory.h" : YES (cached)
Has header "poll.h" : YES (cached)
Has header "stddef.h" : YES (cached)
Has header "stdint.h" : YES (cached)
Has header "stdio_ext.h" : YES (cached)
Has header "strings.h" : YES (cached)
Has header "string.h" : YES (cached)
Has header "sys/mount.h" : YES (cached)
Has header "sys/param.h" : YES (cached)
Has header "sys/poll.h" : YES (cached)
Has header "sys/prctl.h" : YES (cached)
Has header "sys/random.h" : YES (cached)
Has header "sys/socket.h" : YES (cached)
Has header "sys/stat.h" : YES (cached)
Has header "sys/times.h" : YES (cached)
Has header "sys/time.h" : YES (cached)
Has header "sys/types.h" : YES (cached)
Has header "sys/utsname.h" : YES (cached)
Has header "sys/vfs.h" : YES (cached)
Has header "sys/wait.h" : YES (cached)
Has header "pwd.h" : YES (cached)
Has header "ucontext.h" : YES (cached)
Has header "unistd.h" : YES (cached)
Has header "valgrind/valgrind.h" : NO (cached)
Checking for function "poll" : YES (cached)
Checking for function "pselect" : YES (cached)
Checking for function "posix_memalign" : YES (cached)
Checking for function "getpagesize" : YES (cached)
Checking for function "clock_gettime" : YES (cached)
Checking for type "ptrdiff_t" : YES (cached)
Header <string.h> has symbol "strndupa" : YES (cached)
Checking for function "mkstemp" : YES (cached)
Checking for function "memfd_create" : YES (cached)
Checking for function "getrandom" : YES (cached)
Dependency systemd found: YES 248 (cached)
Found pkg-config: /usr/bin/pkg-config (1.7.3)
Found CMake: /usr/bin/cmake (3.19.7)
Run-time dependency libsystemd found: NO (tried pkgconfig and cmake)
Configuring Makefile using configuration
Library m found: YES
Library rt found: YES
Library dl found: YES
Dependency threads found: YES unknown (cached)
Dependency dbus-1 found: YES 1.12.20 (cached)
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Run-time dependency ncursesw found: NO (tried pkgconfig and cmake)
Run-time dependency sndfile found: NO (tried pkgconfig and cmake)
Run-time dependency glib-2.0 found: NO (tried pkgconfig and cmake)
Run-time dependency alsa found: YES 1.2.4
Run-time dependency libudev found: NO (tried pkgconfig and cmake)
Dependency alsa found: YES 1.2.4 (cached)
Run-time dependency bluez found: NO (tried pkgconfig and cmake)
Run-time dependency sbc found: NO (tried pkgconfig and cmake)
Run-time dependency ldacbt-enc found: NO (tried pkgconfig and cmake)
Run-time dependency ldacbt-abr found: NO (tried pkgconfig and cmake)
Run-time dependency libopenaptx found: NO (tried pkgconfig and cmake)
Run-time dependency fdk-aac found: NO (tried pkgconfig and cmake)
Dependency libavcodec skipped: feature ffmpeg disabled
Dependency libavformat skipped: feature ffmpeg disabled
Run-time dependency jack found: NO (tried pkgconfig and cmake)
Dependency vulkan found: YES 1.2.162 (cached)
Has header "vulkan/vulkan.h" with dependency vulkan: YES (cached)
Run-time dependency camera found: NO (tried pkgconfig and cmake)
Configuring version.h using configuration
Configuring pipewire.conf using configuration
Configuring client.conf using configuration
Configuring client-rt.conf using configuration
Configuring jack.conf using configuration
Configuring pipewire-pulse.conf using configuration
Configuring pipewire-uninstalled.conf using configuration
Program ln found: YES (/usr/bin/ln)
Configuring bluez-monitor.conf using configuration
Configuring v4l2-monitor.conf using configuration
Configuring media-session.conf using configuration
Configuring alsa-monitor.conf using configuration
Configuring with-jack using configuration
Configuring with-pulseaudio using configuration
Configuring pipewire.service using configuration
Configuring pipewire-pulse.service using configuration
Configuring pipewire-media-session.service using configuration
Configuring config.h using configuration
Configuring pw-jack using configuration
Program doxygen skipped: feature docs disabled
Program xmltoman found: NO
Program pw-uninstalled.sh found: YES (/home/nils/Development/pipewire/pw-uninstalled.sh)
Build targets in project: 108
Found ninja-1.10.2 at /usr/bin/ninja
[4/362] Compiling C object spa/plugins/alsa/libspa-alsa.so.p/alsa-udev.c.o
FAILED: spa/plugins/alsa/libspa-alsa.so.p/alsa-udev.c.o
cc -Ispa/plugins/alsa/libspa-alsa.so.p -Ispa/plugins/alsa -I../spa/plugins/alsa -Ispa/include -I../spa/include -I. -I.. -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O2 -g -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -DFASTPATH -fPIC -D_GNU_SOURCE -DHAVE_ALSA_UCM -DHAVE_CONFIG_H -DHAVE_READLINK -MD -MQ spa/plugins/alsa/libspa-alsa.so.p/alsa-udev.c.o -MF spa/plugins/alsa/libspa-alsa.so.p/alsa-udev.c.o.d -o spa/plugins/alsa/libspa-alsa.so.p/alsa-udev.c.o -c ../spa/plugins/alsa/alsa-udev.c
../spa/plugins/alsa/alsa-udev.c:33:10: schwerwiegender Fehler: libudev.h: Datei oder Verzeichnis nicht gefunden
33 | #include <libudev.h>
| ^~~~~~~~~~~
Kompilierung beendet.
[9/362] Compiling C object spa/plugins/alsa/acp/libacp.a.p/alsa-mixer.c.o
ninja: build stopped: subcommand failed.
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1063Restarting PipeWire Services Takes 50 Seconds2021-04-26T12:07:45Zjasker5183Restarting PipeWire Services Takes 50 Seconds**If you are filing this issue with a regular release please try master as it might already be fixed.**
**Version, Distribution, Desktop Environment:**
Current Master d2d01b43d3fc3fd52d9bed13c78c998a0877fc85, Fedora 33, Gnome 3.38
**De...**If you are filing this issue with a regular release please try master as it might already be fixed.**
**Version, Distribution, Desktop Environment:**
Current Master d2d01b43d3fc3fd52d9bed13c78c998a0877fc85, Fedora 33, Gnome 3.38
**Description of Problem:**
Problem is that since April 12th when ever I restart the Pipewire services it takes around 50 seconds to restart, this also seems to affect shutdown as well. Log looks like:
````
Apr 17 09:20:08 ASIX systemd[1647]: Stopping Multimedia Service Session Manager...
Apr 17 09:20:08 ASIX systemd[1647]: Stopping PipeWire PulseAudio...
Apr 17 09:20:08 ASIX systemd[1647]: pipewire-pulse.service: Succeeded.
Apr 17 09:20:08 ASIX systemd[1647]: Stopped PipeWire PulseAudio.
Apr 17 09:20:08 ASIX systemd[1647]: pipewire-pulse.service: Consumed 1min 8.120s CPU time.
Apr 17 09:20:33 ASIX pipewire-media-session[9558]: native: Unregistering Profile /Profile/HSPHS failed
Apr 17 09:20:58 ASIX pipewire-media-session[9558]: native: Unregistering Profile /Profile/HFPAG failed
Apr 17 09:20:58 ASIX systemd[1647]: pipewire-media-session.service: Succeeded.
Apr 17 09:20:58 ASIX systemd[1647]: Stopped Multimedia Service Session Manager.
Apr 17 09:20:58 ASIX systemd[1647]: Stopping Multimedia Service...
Apr 17 09:20:58 ASIX systemd[1647]: pipewire.service: Succeeded.
Apr 17 09:20:58 ASIX systemd[1647]: Stopped Multimedia Service.
Apr 17 09:20:58 ASIX systemd[1647]: pipewire.service: Consumed 12.778s CPU time.
Apr 17 09:20:58 ASIX systemd[1647]: Started Multimedia Service.
Apr 17 09:20:58 ASIX systemd[1647]: Started Multimedia Service Session Manager.
Apr 17 09:20:58 ASIX systemd[1647]: Started PipeWire PulseAudio.
Apr 17 09:21:23 ASIX pipewire-media-session[15677]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply
````
I've tried reverting commits to a week prior but this doesn't seem to help. I then thought it might have something to do with an updated package so here is a list of updates if that helps. [package_changes](/uploads/db4ae9c6e9b98229b874a5332c45f02c/package_changes).
Also mentioned that problem could have something to do with bluez.
**How Reproducible:**
Every time I restart PW services with either `systemctl --user try-restart pipewire.service pipewire-media-session.service pipewire-pulse.service` or `systemctl --user restart pipewire pipewire-media-session pipewire-pulse`.
**Steps to Reproduce:**
1. Restart PW services.
2. Gnome top volume icon disappears for 50 seconds.
3. Everything returns to normal.
**Actual Results:**
PW service restart takes around 50 seconds.
**Expected Results:**
PW service restart immediately.
**Additional Info Eg. `pw-dump -N > file` (As Attachment Please):**
[pw-dump.log](/uploads/0917d5236790297e9601527e35905212/pw-dump.log)
Feel free to close this if it's not a problem.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1064[enh] pipewire-pulse: user-friendly icon and name for bluez sinks2021-04-20T14:58:31ZArseny[enh] pipewire-pulse: user-friendly icon and name for bluez sinks_Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):_
```sh
% bluetoothctl --version
bluetoothctl: 5.55
% pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with ..._Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):_
```sh
% bluetoothctl --version
bluetoothctl: 5.55
% pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
% uname -r
5.10.0-6-amd64
% grep D /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION_CODENAME=bullseye
ID=debian
```
_Description of Problem:_
When PulseAudio is used with a Bluetooth headset:
* it sets the `device.icon_name` property to `audio-headphones-bluetooth`, which looks more fitting in e. g. `pavucontrol`;
* (more importantly) it sets the properties `device.description` and `bluez.alias` to the bluez alias (effectively a user-settable nickname for the device, visible/settable as a dbus property and via bluetoothctl) if one exists.
PipeWire does not, so bluez a2dp sinks are displayed differently.
With PulseAudio (_expected results_):
![2021-03-18-032623_grim](/uploads/cf0c5fdf127eb6b2b56c4e0a986cc3c3/2021-03-18-032623_grim.png)
The bluez alias is exposed as the `device.description`.
```sh
% pactl list sinks
<...>
Sink #3
State: RUNNING
Name: bluez_sink.<...>.headset_head_unit
Description: ar-jbl-t215bt
Driver: module-bluez5-device.c
Sample Specification: s16le 1ch 8000Hz
Channel Map: mono
Owner Module: 22
Mute: no
Volume: mono: 26215 / 40%
balance 0,00
Base Volume: 65536 / 100%
Monitor Source: bluez_sink.<...>.headset_head_unit.monitor
Latency: 33362 usec, configured 28000 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
bluetooth.protocol = "headset_head_unit"
device.intended_roles = "phone"
device.description = "ar-jbl-t215bt"
device.string = "08:EB:ED:F4:CD:24"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headphone"
bluez.path = "/org/bluez/hci0/dev_<...>"
bluez.class = "0x240418"
bluez.alias = "ar-jbl-t215bt"
device.icon_name = "audio-headphones-bluetooth"
Ports:
headphone-output: Headphone (type: Headphones, priority: 0, available)
Active Port: headphone-output
Formats:
pcm
```
With PipeWire (_actual results_):
![2021-04-17-181539_grim](/uploads/00c05c211159889fd5c60c5db6c71058/2021-04-17-181539_grim.png)
The bluez alias is unused and not exposed in PA-style sink properties.
```sh
% pactl list sinks
<...>
Sink #53
State: RUNNING
Name: bluez_output.<...>.a2dp-sink
Description: JBL TUNE215BT
Driver: PipeWire
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65522 / 100% / -0,01 dB, front-right: 65522 / 100% / -0,01 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: bluez_output.<...>.a2dp-sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
api.bluez5.transport = ""
api.bluez5.profile = "a2dp-sink"
api.bluez5.codec = "sbc"
api.bluez5.address = "<...>"
device.routes = "1"
card.profile.device = "1"
device.id = "56"
device.description = "JBL TUNE215BT"
node.name = "bluez_output.<...>.a2dp-sink"
factory.name = "api.bluez5.a2dp.sink"
priority.driver = "1010"
priority.session = "1010"
node.pause-on-idle = "false"
factory.id = "8"
device.api = "bluez5"
media.class = "Audio/Sink"
node.driver = "true"
node.latency = "512/48000"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "53"
client.id = "29"
Ports:
headphone-output: Headphone (type: Headphones, priority: 0, available)
Active Port: headphone-output
Formats:
pcm
```
_Additional Info Eg. Additional Kernel Patches, `pw-dump -N > file` (As Attachment Please)_: none required? I can provide if needed.
I couldn't make PulseAudio use A2DP (for me, that was the main motivation to move to pw-pulse right now, as opposed to a more distant option like "around this summer"), so I can't confirm if PA behaves the same way in that case.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1065Can't choose my headphones plugged in my computer2022-04-12T20:27:58ZMatthew ShternCan't choose my headphones plugged in my computerHi I'm on arch with xfce DE. I want to use pipewire to make music and I need to watch videos when I'm using Ardour and record Ardour session in OBS. That way needs to use both jack and pulseaudio. That's why I decided to use pipewire.
...Hi I'm on arch with xfce DE. I want to use pipewire to make music and I need to watch videos when I'm using Ardour and record Ardour session in OBS. That way needs to use both jack and pulseaudio. That's why I decided to use pipewire.
I've install required packages. All is working cool, but for some reason I can't choose my headphones to output. It just changing on my dj controller that connected to speakers.
This is happening when I start jack server with cadence.
Can you help?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1066Gsettings for settings storage2022-12-17T20:29:44ZDmitry SharshakovGsettings for settings storageGsettings or dconf would be great for storing ans accessing Pipewire settings from GUI, so it won't be another program requiring text config from user.Gsettings or dconf would be great for storing ans accessing Pipewire settings from GUI, so it won't be another program requiring text config from user.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1067BT: Unable to continue playback later with mpv2021-11-15T03:30:52ZJohnBT: Unable to continue playback later with mpvIf you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop En...If you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
BT 5, Headset Anker Soundcore Life Q20, Plasma 5.24.4, Arch Linux, Bluez 5.58, Kernel 5.11.12, PipeWire 0.3.25.
Description of Problem:
I play something with mpv using pulse as it Audio Output, pause it, disconnect my headset.
Later I come back (not sure how much later is needed, overnight is enough but a few seconds is not), reconnect my headset, resume the playback but this is what I get:
pa_stream_cork() failed: No such entity
There is no such issue without the bluetooth headset.
I've tried that in the old mplayer and it seems fine.
I believe I tried with mpv and Alsa instead of Pulse backend and it was fine too, but I am not certain anymore so I'll retry.
This could definitely be an mpv issue instead of Pipewire but I thought I'd start here.
How Reproducible:
With enough pausing, always.
Steps to Reproduce:
1. Play something with mpv using pulse as it Audio Output, pause it, disconnect my headset.
2. Later come back (not sure how much later is needed, overnight is enough but a few seconds is not), reconnect my headset, resume the playback
Actual Results:
Playback is not resumed, this error is displayed: pa_stream_cork() failed: No such entity
Expected Results:
Playback is resumed, no error is displayed.
Additional Info Eg. Additional Kernel Patches, `[pw-dump](/uploads/d831c1fdfafdd09ac2b579908f490ae5/pw-dump)` (As Attachment Please):
Thank you!https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1068libcamera-utils.c does not compile2021-04-18T18:34:36ZJensDAlibcamera-utils.c does not compileVersion: current master
```
In file included from ../pipewire/spa/plugins/libcamera/libcamera-source.c:162:
../pipewire/spa/plugins/libcamera/libcamera-utils.c: In function 'mmap_init':
../pipewire/spa/plugins/libcamera/libcamera-utils....Version: current master
```
In file included from ../pipewire/spa/plugins/libcamera/libcamera-source.c:162:
../pipewire/spa/plugins/libcamera/libcamera-utils.c: In function 'mmap_init':
../pipewire/spa/plugins/libcamera/libcamera-utils.c:760:3: error: 'd' undeclared (first use in this function)
760 | d = buffers[0]->datas;
| ^
```
Usage of `d` seems to have been introduced by commit cd79cdfb.
Missing `struct spa_data *d;`?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1069RTKit error: org.freedesktop.DBus.Error.AccessDenied2023-08-01T18:24:01ZMichaël PetrovRTKit error: org.freedesktop.DBus.Error.AccessDeniedVersion, Distribution, Desktop Environment:
* pipewire master at April 18, commit acce4f4c165a0707a033dc0c0f9600007fcb0b50 (with a compilation error fix for #1068)
* (running as pipewire-media-session and pipewire-pulse systemd service...Version, Distribution, Desktop Environment:
* pipewire master at April 18, commit acce4f4c165a0707a033dc0c0f9600007fcb0b50 (with a compilation error fix for #1068)
* (running as pipewire-media-session and pipewire-pulse systemd services)
* Ubuntu 20.10, Gnome
* kernel 5.8.0-50-lowlatency \#56-Ubuntu SMP PREEMPT
* rtkit-daemon.service started with `--our-realtime-priority=90 --max-realtime-priority=89 --min-nice-level=-19 --scheduling-policy=RR`, but this hasn't changed anything
Description of Problem:
All sound operations work well, but with no realtime access:
```
dbus-daemon[1170]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.29' (uid=1001 pid=1393 comm="/usr/bin/pipewire " label="unconfined")
dbus-daemon[1170]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.38' (uid=1000 pid=1410 comm="/usr/bin/pipewire-media-session " label="unconfined")
pipewire[1393]: RTKit error: org.freedesktop.DBus.Error.AccessDenied
pipewire[1393]: could not set nice-level to -11: Permission denied
...
systemd[2019]: pipewire.service: Succeeded.
systemd[2019]: pipewire.socket: Succeeded.
```
How Reproducible:
100%
Steps to Reproduce:
1. systemd
2. rtkit
3. pipewire
Actual Results:
* errors in the logs
Expected Results:
* realtime permissions granted
Additional Info Eg. `pw-dump -N > file` (As Attachment Please):
* users are not in audio group
* tell me if you need more logs or anything
Thank you!https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1070Recent build failures2021-04-18T16:37:37ZRicRecent build failuresHi,
Pipewire-git doesn't build since about a week or two ago. see below:
```
[137/432] Compiling C object spa/plugin...spa-libcamera.so.p/libcamera-source.c.o
FAILED: spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.c.o
c...Hi,
Pipewire-git doesn't build since about a week or two ago. see below:
```
[137/432] Compiling C object spa/plugin...spa-libcamera.so.p/libcamera-source.c.o
FAILED: spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.c.o
ccache cc -Ispa/plugins/libcamera/libspa-libcamera.so.p -Ispa/plugins/libcamera -I../pipewire/spa/plugins/libcamera -Ispa/include -I../pipewire/spa/include -I/usr/include/libcamera -I/usr/include/libdrm -flto=auto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -DFASTPATH -march=x86-64 -mtune=generic -O2 -fno-plt -Wformat -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.c.o -MF spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.c.o.d -o spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.c.o -c ../pipewire/spa/plugins/libcamera/libcamera-source.c
In file included from ../pipewire/spa/plugins/libcamera/libcamera-source.c:162:
../pipewire/spa/plugins/libcamera/libcamera-utils.c: In function ‘mmap_init’:
../pipewire/spa/plugins/libcamera/libcamera-utils.c:760:3: error: ‘d’ undeclared (first use in this function)
760 | d = buffers[0]->datas;
| ^
../pipewire/spa/plugins/libcamera/libcamera-utils.c:760:3: note: each undeclared identifier is reported only once for each function it appears in
[146/432] Linking target spa/plugins/alsa/libspa-alsa.so
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting...
error making: pipewire-git
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1071TiMidity Crashes with used to ALSA output and does not use JACK when a daemon2022-05-14T15:45:33Zlemonzest79TiMidity Crashes with used to ALSA output and does not use JACK when a daemonHi
I'm using TiMidity as a soft synth and it is crashing with the ALSA output (-Os) but played with the libao output (-OO), and when run as a daemon does not use JACK output tho it does when run as a player (-Oj)
Examples
ALSA: timidi...Hi
I'm using TiMidity as a soft synth and it is crashing with the ALSA output (-Os) but played with the libao output (-OO), and when run as a daemon does not use JACK output tho it does when run as a player (-Oj)
Examples
ALSA: timidity -Os example.mid
results in
[98780.122362] timidity[130908]: segfault at 0 ip 00007f0c50ae19b0 sp 00007fffccada610 error 4 in libasound.so.2.0.0[7f0c50a82000+93000]
JACK: timidity -Oj -iAD followed by aplaymidi -p 128:0 example.mid
Results in
Couldn't start JACK device (`j')https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1072module-loopback can be loaded multiple times, causing echo2021-04-19T15:42:01Zkurumushimodule-loopback can be loaded multiple times, causing echoPipewire 0.35 / Gentoo / KDE
Just as the title says. When loading the loopback module via command line, the module can be loaded more than once. Each time you load the module, you get an echo of the playing stream.
Not sure there is an...Pipewire 0.35 / Gentoo / KDE
Just as the title says. When loading the loopback module via command line, the module can be loaded more than once. Each time you load the module, you get an echo of the playing stream.
Not sure there is any use case for loading the module multiple times, or if there's any way to do it on accident rather than manually, but
Steps to Reproduce:
1. Load the loopback module (`pactl load-module module-loopback`)
2. Start playing audio on a looped device (I'm playing audio from my line-in)
3. Load the loopaback module again.
Expected Results:
The module should only need to be loaded once, and should just ignore loading if a second request is made. If there is some use for loading it multiple times, it should probably be behind an option instead of by default.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1073OBS can not get streams of pipewire-pulse input and output.2021-06-03T02:30:55ZSumi-SumiOBS can not get streams of pipewire-pulse input and output.If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* Distribution: Archlinux, Fedora32(VM)
* version: 0.3.25
* DE: xmonad, gnome
Description...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
* Distribution: Archlinux, Fedora32(VM)
* version: 0.3.25
* DE: xmonad, gnome
Description of Problem:
When using audio input capture (pulseaudio) or audio output capture (pulseaudio) with OBS, either no capture at all or large delays and missing audio are seen.
This problem did not occur on Archlinux with regular Pulseautio, but was seen on Archlinux and Fedora34 with pipewire installed.
How Reproducible: Yes
Steps to Reproduce:
###### Archlinux:
1. Install pipewire packages.
` pacman -S pipewire pipewire-pulse pipewire-media-session pipewire-alsa pipewire-jack gst-plugin-pipewire`
2. Check pulseaudio on pipewire
` pactl info`
(return pulseaudio information)
3. Install obs studio
` pacman -S obs-studio`
###### Fedora34
1. Install os from ISO(in libvirt)
2. Check pulseaudio on pipewire
```
> dnf install pulseaudio-utils
> pactl info
```
(return pulseaudio information)
3. Install obs studio from snap store
```
> dnf install snapd
> snap install obs-studio
```
###### Common
4. Run obs
5. Add ***Audio Input Capture(PulseAudio)*** or ***Audio Output Capture(PulseAudio)***
6. ***Monitor on*** from property or Record (You may be get a same result.)
Actual Results:
OBS cannot capture audio, or if it can, the delay is too great and the audio is missing.
* Recorded audio files.
![pipewire1](/uploads/9b1fad1f8e76e454dbd7999067ae04c3/pipewire1.wav)
![pipewire2](/uploads/725ee390ee6cebe27c76dc60cd32c433/pipewire2.wav)
* `pipewire-pulse` report underrun and underflow.
```
Apr 19 22:06:05 **** systemd[1206]: Started PipeWire PulseAudio.
Apr 19 22:37:23 **** pipewire-pulse[1215]: pulse-server 0x55cd577fbee0: [OBS] overrun recover read:60375040 avail:4218880 max:4194304
Apr 19 22:37:59 **** pipewire-pulse[1215]: pulse-server 0x55cd577fbee0: [OBS] overrun recover read:65441792 avail:6127616 max:4194304
Apr 19 22:49:32 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:28672 underrun:2048
Apr 19 22:49:34 **** pipewire-pulse[1215]: 6 events suppressed
Apr 19 22:49:34 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:458752 underrun:2048
Apr 19 22:49:36 **** pipewire-pulse[1215]: 5 events suppressed
Apr 19 22:49:36 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:829440 underrun:2048
Apr 19 22:49:38 **** pipewire-pulse[1215]: 3 events suppressed
Apr 19 22:49:38 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:1196032 underrun:2048
Apr 19 22:49:40 **** pipewire-pulse[1215]: 19 events suppressed
Apr 19 22:49:40 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:1452032 underrun:2048
Apr 19 22:49:42 **** pipewire-pulse[1215]: 22 events suppressed
Apr 19 22:49:42 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:1767424 underrun:2048
Apr 19 22:49:44 **** pipewire-pulse[1215]: 25 events suppressed
Apr 19 22:49:44 **** pipewire-pulse[1215]: pulse-server 0x55cd578ec4d0: [OBS-Monitor] UNDERFLOW channel:0 offset:1972224 underrun:2048
Apr 19 22:49:50 **** pipewire-pulse[1215]: 12 events suppressed
Apr 19 22:49:50 **** pipewire-pulse[1215]: pulse-server 0x55cd5c060130: [OBS-Monitor] UNDERFLOW channel:0 offset:32768 underrun:2048
Apr 19 22:49:53 **** pipewire-pulse[1215]: 23 events suppressed
Apr 19 22:49:53 **** pipewire-pulse[1215]: pulse-server 0x55cd5c060130: [OBS-Monitor] UNDERFLOW channel:0 offset:331776 underrun:2048
Apr 19 22:49:55 **** pipewire-pulse[1215]: 12 events suppressed
Apr 19 22:49:55 **** pipewire-pulse[1215]: pulse-server 0x55cd5c060130: [OBS-Monitor] UNDERFLOW channel:0 offset:667648 underrun:2048
Apr 19 22:50:14 **** pipewire-pulse[1215]: pulse-server 0x55cd577fbee0: [OBS] overrun recover read:208297984 avail:4356096 max:4194304
Apr 19 22:50:26 **** pipewire-pulse[1215]: 1 events suppressed
```
However, in audacity set to pulse, the recording is working fine, and in the recording tab of pavucontrol, the sound seems to be getting through fine.
Expected Results:
Acquire audio with no delay and no loss
Additional Info Eg. `pw-dump -N > file` (As Attachment Please):
![pipewire.txt](/uploads/fdf3f697df448c1bae96aee0f7d44b02/pipewire.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1074How to disable flat-volume setting in pipewire2022-04-12T22:17:43ZNikolay BorodinHow to disable flat-volume setting in pipewireFirefox constantly resets volume to 82%. This is annoying. Is there a solution for pipewire?
![image](/uploads/0c291e58b9015ab78aa6b052c31701fa/image.png)
```
pipewire --version
pipewire
Compiled with libpipewire 0.3.24
Linked with lib...Firefox constantly resets volume to 82%. This is annoying. Is there a solution for pipewire?
![image](/uploads/0c291e58b9015ab78aa6b052c31701fa/image.png)
```
pipewire --version
pipewire
Compiled with libpipewire 0.3.24
Linked with libpipewire 0.3.24
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1075Volume gets maximized on external display connected via HDMI after screen loc...2021-06-03T18:17:50ZArjunSingh99Volume gets maximized on external display connected via HDMI after screen lock and unlock, on laptop.### Version, Distribution, Desktop Environment:
- OS: Fedora 34
- Version: Gnome 40
- Display server: Xorg
- Audio server: Pipewire-pulse
- Compiled with libpipewire 0.3.25
- Linked with libpipewire 0.3.25
### Hardware info: https://lin...### Version, Distribution, Desktop Environment:
- OS: Fedora 34
- Version: Gnome 40
- Display server: Xorg
- Audio server: Pipewire-pulse
- Compiled with libpipewire 0.3.25
- Linked with libpipewire 0.3.25
### Hardware info: https://linux-hardware.org/?probe=cb55fa7fcd
### Description of Problem:
When audio is playing on an external monitor connected via HDMI, and screen is locked using Super+esc (Gnome 40), the audio stops playing, and when screen is unlocked, the audio is maximized. The volume slider itself isn't changed, but the volume is maximized. This can be a health hazard, and can cause deafening. This personally happened to me, the volume got maximized, and I had headphones connected to the monitor, but thankfully, the max volume isn't that much on mine.
### How Reproducible:
This is reproducible every single time.
### Steps to Reproduce:
1. Connect an external monitor to a laptop via HDMI.
2. Connect headphones to monitor, if the provision is there, to observe the situation more consistently.
3. Lower the volume to a good degree.
4. Play any audio
5. Lock the screen using super+esc
6. Observe that audio stops
7. Unlock screen
8. If audio has paused, resume.
9. Observe that volume is playing at max.
### Actual Results:
Volume plays at max when screen is unlocked, after following the given steps.
### Expected Results:
Volume level should not change on screen unlock, in the given situation.
### Additional Info Eg. `pw-dump -N > file` (As Attachment Please):
[file](/uploads/67cfd530cf70e9a8cb6e61dab52473cf/file)
[I've filed an issue on GNOME's gitlab as well](https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4146#note_1086478)
Please read their comments on what they have to say about the trigger for the aforementioned issue.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1076Brief crackling during music playback2022-04-14T14:35:30ZHarry MíchalBrief crackling during music playbackBluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Headset: Sony MDR-XB650BT
```shell
$ pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3...Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Headset: Sony MDR-XB650BT
```shell
$ pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
$ rpm -q pipewire
pipewire-0.3.25-1.fc35.x86_64
$ rpm -q bluez
bluez-5.58-1.fc35.x86_64
$rpm -q kernel
kernel-5.12.0-0.rc6.20210408git454859c552da.186.fc35.x86_64
$ cat /etc/os-release
NAME=Fedora
VERSION="Rawhide.20210410.n.0 (Silverblue Prerelease)"
ID=fedora
VERSION_ID=35
VERSION_CODENAME=""
PLATFORM_ID="platform:f35"
PRETTY_NAME="Fedora Rawhide.20210410.n.0 (Silverblue Prerelease)"
```
Desktop: GNOME Shell 40 on Wayland
Description of Problem:
While listening to music played by [Spot](https://github.com/xou816/spot) I heard 2x/3x static stuttering. Before and after that the sound was perfect.
How Reproducible:
Happened during casual music playback. The machine was under a bit of load (one running VM + apps like Firefox, QtCreator, Discord) but the overall CPU usage was OK.
Steps to Reproduce:
No solid reproducer
Expected Results:
Audio playback without any stutters.
Actual Results:
A bit of stutter during playback without an apparent reason.
Additional Info Eg. Additional Kernel Patches, `pw-dump -N > file` (As Attachment Please):
[pwdump](/uploads/965a6d43c4299211cd8e84fa1b18c172/pwdump)
```
$ journalctl --since "10 minutes ago" | grep pipewire
Apr 20 13:57:00 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 1 wakeups
Apr 20 13:57:00 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 14 wakeups
Apr 20 13:57:00 harry-work pipewire[44766]: (librespot-82) client too slow! rate:512/48000 pos:317201920 status:awake
Apr 20 13:57:00 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 1 wakeups
Apr 20 13:57:03 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 1 wakeups
Apr 20 13:57:03 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 6 wakeups
Apr 20 13:57:03 harry-work pipewire[44766]: (librespot-82) client too slow! rate:512/48000 pos:317330432 status:awake
Apr 20 13:57:06 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 2 wakeups
Apr 20 13:57:06 harry-work pipewire[44766]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-50) client missed 11 wakeups
Apr 20 13:57:06 harry-work pipewire[44766]: (librespot-82) client too slow! rate:512/48000 pos:317478400 status:awake
Apr 20 13:57:06 harry-work pipewire-media-session[44777]: (bluez_output.00_18_09_D3_4C_6C.a2dp-sink-18) client missed 1 wakeups
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1077Firefox crashes with screencapture2021-04-29T22:09:20ZTrueDoctorFirefox crashes with screencaptureFirefox: Mozilla Firefox 89.0a1
pipewire: Compiled with libpipewire 0.3.25 Linked with libpipewire 0.3.25
xdg-desktop-portal-wlr: v0.3.0.r0.g9f7e59c-1
wm: sway version 1.6-730efbc8 (Apr 19 2021, branch 'master')
arch linux
kernel: 5.11...Firefox: Mozilla Firefox 89.0a1
pipewire: Compiled with libpipewire 0.3.25 Linked with libpipewire 0.3.25
xdg-desktop-portal-wlr: v0.3.0.r0.g9f7e59c-1
wm: sway version 1.6-730efbc8 (Apr 19 2021, branch 'master')
arch linux
kernel: 5.11.15-arch1-2
Host: XPS 13 9300
Resolution: 3840x2400
Description of Problem:
If I try to use screen capture via desktop-portal-wlr in firefox (https://mozilla.github.io/webrtc-landing/gum_test.html) firefox crashes as soon as I start spotify and press play.
How Reproducible:
very reporducible
Steps to Reproduce:
1. start firefox
2. navigate to https://mozilla.github.io/webrtc-landing/gum_test.html
3. start screen capture
4. start youtube video
5. start spotify/press play[pw.dump](/uploads/0bc92274f19adc0586856ce2e23d064a/pw.dump)[system.log](/uploads/665cfeb0325355a7696cebdba1102090/system.log)
Actual Results:
Firefox crashes
here is the gdb output: Thread 157 "ScreenCaptureTh" received signal SIGXCPU, CPU time limit exceeded. \[Switching to Thread 0x7fffb0040640 (LWP 81465)\] 0x00007ffff7bc2892 in __memmove_avx_unaligned_erms () from /usr/lib/libc.so.6 (gdb)
Expected Results:
firefox should not crash
(I should add, chrome works fine)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1078pipewire crashes with SIGSEGV when linking audio port to midi port2021-04-21T10:18:16ZTom Wagnerpipewire crashes with SIGSEGV when linking audio port to midi portVersion, Distribution, Desktop Environment: 0.3.25 / git master at 7031471807fb55fceed25aaa92855789398337a1, Fedora 34, GNOME 40
Description of Problem:
When creating a link from an audio output port that is currently playing sound to ...Version, Distribution, Desktop Environment: 0.3.25 / git master at 7031471807fb55fceed25aaa92855789398337a1, Fedora 34, GNOME 40
Description of Problem:
When creating a link from an audio output port that is currently playing sound to a midi input port (yes, I know this is stupid), pipewire get SIGSEGV'd.
This does not happen if no audio is played through the audio port.
How Reproducible:
Easy
Steps to Reproduce:
1. Have audio output port playing audio, and a MIDI input port.
2. Create link from audio port to MIDI port.
3. `pipewire` process crashes with SIGSEGV.
Actual Results: pipewire receives SIGSEGV signal and is terminated
Expected Results: Link is rejected or does nothing, pipewire process continues
Additional Info Eg. `pw-dump -N > file` (As Attachment Please):
[relevant `journalctl` logs](/uploads/f29d5c4f9ddde94ca8b761e44a6afb6d/log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1079Connecting bluetooth headset to PC breaks sound output from phone2024-02-02T16:56:55ZSorrowConnecting bluetooth headset to PC breaks sound output from phoneMy bluetooth headphones (Sennheiser BT 350HD) support connecting several devices at the same time, but it does not support playing sound from both connected devices simultaneously. So, if one of the connected devices starts playback, ano...My bluetooth headphones (Sennheiser BT 350HD) support connecting several devices at the same time, but it does not support playing sound from both connected devices simultaneously. So, if one of the connected devices starts playback, another one goes mute, but as soon as the first device stops playback, headphones play sound from another. This is normal.
But recently (I don't know at what point exactly this started), as long as my headphones are connected to the PC, I cannot hear anything that's played on my phone. Like if PC was playing silence all the time, effectively blocking any other device to play its sound. If I disconnect the PC from headphones and start playing something on my phone, it works, and it even continues to work if I connect the PC back during playback on the phone. But as soon as I pause playback on my phone, and then resume again, I do not hear anything. So I have to always go and manually disconnect headphones from PC to be able to hear anything from my phone.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1080a2dp audio from phone stops working after pausing and then resuming again2021-04-22T07:36:20ZTamima2dp audio from phone stops working after pausing and then resuming againBluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Distribution: ArchLinux\
DE: Plasma 5.21.4\
Kernel: 5.11.15-xanmod1\
Bluez: 5.58\
Pipewire: 0.3.25.r131.gc70a5de5 (master)\
Ph...Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
Distribution: ArchLinux\
DE: Plasma 5.21.4\
Kernel: 5.11.15-xanmod1\
Bluez: 5.58\
Pipewire: 0.3.25.r131.gc70a5de5 (master)\
Phone: Google Pixel 3a
Description of Problem:
Audio from my phone connected via Bluetooth cuts out after pausing and then resuming. Found an easy way to reliably reproduce this with Spotify. Although this does happen with other things. I first noticed this, while watching some videos in my messenger. A few seconds into the second video, the audio just stopped.
Looking at the logs, when the audio cuts out this happens in the media-session
```
[D][000006586.934891][bluez5-dbus.c:3514 filter_cb()] Properties changed in transport /org/bluez/hci0/dev_58_CB_52_84_7A_FF/fd6
[D][000006586.934969][bluez5-dbus.c:1813 transport_update_props()] transport 0x56137a3b9130: State=idle
[D][000006586.935005][bluez5-dbus.c:1498 spa_bt_transport_set_state()] transport 0x56137a3b9130: /org/bluez/hci0/dev_58_CB_52_84_7A_FF/fd6 state changed 1 -> 0
[D][000006586.935036][bluez5-device.c:421 dynamic_node_transport_state_changed()] transport 0x56137a3b9130 state 1->0
```
while on the android side, this comes up in the logs
```
04-21 14:11:23.773 15545 15573 D A2dpNativeInterface: onAudioStateChanged: A2dpStackEvent {type:EVENT_TYPE_AUDIO_STATE_CHANGED, device:98:3B:8F:6C:B7:C1, value1:REMOTE_SUSPEND}
04-21 14:11:23.774 15545 15644 D A2dpStateMachine: handleMessage: E msg.what=101
04-21 14:11:23.774 15545 15644 D A2dpStateMachine: processMsg: Connected
04-21 14:11:23.774 15545 15644 D A2dpStateMachine: Connected process message(98:3B:8F:6C:B7:C1): STACK_EVENT
04-21 14:11:23.774 15545 15644 D A2dpStateMachine: Connected: stack event: A2dpStackEvent {type:EVENT_TYPE_AUDIO_STATE_CHANGED, device:98:3B:8F:6C:B7:C1, value1:REMOTE_SUSPEND}
04-21 14:11:23.775 15545 15644 I A2dpStateMachine: Connected: stopped playing: 98:3B:8F:6C:B7:C1
04-21 14:11:23.775 15545 15644 D A2dpStateMachine: A2DP Playing state : device: 98:3B:8F:6C:B7:C1 State:PLAYING->NOT_PLAYING
04-21 14:11:23.781 15545 15644 D A2dpStateMachine: handleMessage: X
```
Steps to Reproduce:
1. Connect phone via Bt A2DP with PC
2. Start playing music
3. Pause music in Spotify and wait a few seconds
4. Resume music in Spotify
Actual Results:\
Audio start playing for a few seconds and then cuts out completely
Expected Result:\
Audio keeps playing
Additional Info Eg. Additional Kernel Patches, `pw-dump -N > file` (As Attachment Please):
[pipewire-bluez.log](/uploads/d3420ef912625f8a613c6adce3f95ee9/pipewire-bluez.log)\
[pipewire-android.log](/uploads/0ce9a0ac13223bef4e22ec1079c36be9/pipewire-android.log)\
[pw-dump.txt](/uploads/7625d0eb25e138bad27f7962daa55a05/pw-dump.txt)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1081bluez-monitor.conf bluez5.reconnect-profiles conflicts with BlueZ main.conf R...2022-01-03T12:45:48ZLuiz Von Dentzbluez-monitor.conf bluez5.reconnect-profiles conflicts with BlueZ main.conf ReconnectUUIDsBlueZ main.conf already have an option to select which profiles shall be reconnected in the event of connection error:
[main.conf](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/src/main.conf#n223)
Which may conflict with the ...BlueZ main.conf already have an option to select which profiles shall be reconnected in the event of connection error:
[main.conf](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/src/main.conf#n223)
Which may conflict with the following options:
[monitor.conf](https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/daemon/media-session.d/bluez-monitor.conf#L53)
It would be possible to disable one or the other but I guess having them both can potentially lead to race conditions, that said I would probably be in favor of removing this option from pipewire altogether as it would probably be a source of confusion and it is limited to just audio profiles.
Note that the policy plugin does actually have access to the disconnect reason so it can differentiate a normal disconnect from a drop:
[policy](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/plugins/policy.c#n742)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1082Rearrange libudev dependency change caused an issue in yocto Arm target build2021-04-23T18:03:23ZissRearrange libudev dependency change caused an issue in yocto Arm target buildHi @ntonnaett
This change "Rearrange libudev dependency change" causes a build issue for yocto based arm target build.
- https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f47a7a8ea39ff7cda272e413531e5e475e164d1e
If I add this c...Hi @ntonnaett
This change "Rearrange libudev dependency change" causes a build issue for yocto based arm target build.
- https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f47a7a8ea39ff7cda272e413531e5e475e164d1e
If I add this change to the latest code, then it works fine on my build.
Would this work for you? let me know, then I will create an MR.
Thank you,
```
diff --git a/spa/meson.build b/spa/meson.build
index 5e37611e..4995bcfc 100644
--- a/spa/meson.build
+++ b/spa/meson.build
@@ -33,8 +33,8 @@ if not get_option('spa-plugins').disabled()
# common dependencies
libudev_dep = dependency('libudev', required: alsa_dep.found())
- libudev_dep = dependency('libudev', required: get_option('udev'))
- libudev_dep = dependency('libudev', required: get_option('v4l2'))
+ libudev_dep = dependency('libudev', required: get_option('udev').enabled())
+ libudev_dep = dependency('libudev', required: get_option('v4l2').enabled())
subdir('plugins')
endif
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1083pipewire: symbol lookup error: pipewire: undefined symbol: pw_gettext2021-04-22T18:25:20Zisspipewire: symbol lookup error: pipewire: undefined symbol: pw_gettextHi @wtaymans
I am running pipewire on the arm64 target with yocto flavor distribution, and I see this error after picking up the latest master as of today.
```
pipewire: symbol lookup error: pipewire: undefined symbol: pw_gettext
```
...Hi @wtaymans
I am running pipewire on the arm64 target with yocto flavor distribution, and I see this error after picking up the latest master as of today.
```
pipewire: symbol lookup error: pipewire: undefined symbol: pw_gettext
```
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5f09e302a97d1b5b8ed66a6ceb316dbbf2a340fe
Any thought why might I see this?
Please let me konw,
Thank you,https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1084General problems with dmabufs2022-04-10T14:17:27ZcolumbariusGeneral problems with dmabufsThe current negotiation of formats is not really suitable for the usual workflow with dmabufs.
# Example dmabuf workflow
The usual flow between a producer and consumer of dmabufs is as follows:
1. The consumer queries its backend (gbm,...The current negotiation of formats is not really suitable for the usual workflow with dmabufs.
# Example dmabuf workflow
The usual flow between a producer and consumer of dmabufs is as follows:
1. The consumer queries its backend (gbm, vulkan, vaapi, etc.) for supported formats and modifiers.
2. The consumer sends a list of (format, modifier) pairs to the producer.
3. The producer takes the list (or the intersection of lists from multiple consumers), chooses a format and sends a list of modifiers corresponding to the given format to the buffer allocator (gbm, vulkan, ...) along with the size of the buffer.
4. The allocator will choose the "best" modifier from the list taking the buffer size into consideration and returns a buffer.
5. The producer renders to this buffer and sends it to the consumer along with the selected format and modifier.
6. The consumer imports the buffer to its backend with the given metadata.
# Problems with the current implementation
## Problems regarding a dmabuf only negotiation (I)
Currently both producer and consumer send their capabilities regarding the videostream (dimensions, formats, modifiers, etc.) to pipewire. Pipewire chooses a combination which should work for both and returns the choosen result. This has the following problems:
1. Formats and modifers are not paired. As such pipewire can return format, modifier combinations, which are invalid, see [modifier test](https://gitlab.freedesktop.org/columbarius/pipewire-modifier-test).
2. Even if we pair formats and modifiers in `SPA_PARAM_EnumFormat` (for example replacing the `SPA_FORMAT_modifer` in `SPA_PARAM_EnumFormat` with a list of pairs. `SPA_FORMAT_modifer` in `SPA_PARAM_Format` should stay the selected modifier as a long), the process of choosing the used Formats will still happen inside pipewire. But to select a good Format requires knowledge only available from the driver/hardware. In that case either pipewire has to add an allocator as a dependency (egl, vulkan, gbm, etc.) and queries it for a combination (and could allocate the buffer at this step right away) or it has to move this decision to an instance, which has this information. On options would be to select a format and send its modifier list to the producer which should do the allocation anyway. The producer can then allocate buffers with this list and has to update pipewire with the used modifier, so pipewire can set the correct `SPA_PARAM_Format`.
## Problems regarding dmabufs and shm buffers (II)
While formats are handled with `SPA_PARAM_Format`, the buffertype is handled by `SPA_PARAM_Buffers`. This Parameters are evaluated and merged independent from another. This creates the following problem:
1. Pipewire clients might support some formats both as dmabuf and shm, while other formats are only viable with one buffer type. It is not possible to specify this beforehand. This results in clients negotiating a format only to find no viable shared buffertype.
# Proposed requirements for dmabuf usage
If pipewire doesn't want to allocate dmabufs the following things would be needed:
* A way to correlate buffertype and format
* The node, which is responsible for creating the buffers, needs to receive a list of (format, modifier) pairs to choose the used modifier and to emit it back.
# Ideas
* Replace `SPA_FORMAT_modifer` in `SPA_PARAM_EnumFormat` with a list of (format, modifier) pairs. Formats only supported by shm can be marked as (format, SPA_DATA_Invalid). Clients not specifying `SPA_FORMAT_modifer` would be treated as shm only.
* Add an additional object to `SPA_PARAM_EnumFormat` for each buffertype (MemPtr and Memfd use the same underlying buffertype and would be identical) to specify format, modifiers an other differences there.
# Appendix:
Discussion about modifiers in libva:
[https://github.com/intel/libva/pull/505](https://github.com/intel/libva/pull/505#issuecomment-814778614)
irc discussion with emersion
```
columbarius about pipewire: If i didn't have a misconception on how to use pipewire, this should demonstrate the current shortcommings:
columbarius https://gitlab.freedesktop.org/columbarius/pipewire-modifier-test/-/tree/master
columbarius linked it to this issue https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1055
emersion oh nice!
emersion that's a pretty big issue indeed
emersion oh there's also some shm vs. dmabuf format mixing?
emersion great :/
columbarius there is no "real" mixing, because they are handled separately, so first you negotiate the format, then the buffer. If the buffer doesn't match the format .... probably try again and remove some possibilities.
columbarius So pipewire doesn't keep track of format buffertype combinations, you have to
columbarius *the pipewire client has to
columbarius does gbm offer me a list of "usefull" format/modifier pairs? because pipewire probably would need a value for any modifier, if a client just imports buffers with gbm and doesn't care / doesn't know better
emersion why do you want to use gbm?
emersion ah, because screencopy wants the client to allocate a dmabuf, and pipewire wants the producer to allocate the dmabuf?
emersion gbm doesn't give you lists for formats/modifiers
emersion even if it did, you need to pick one supported by the compositor
emersion i'd suggest using the linux-dmabuf protocol's "modifier" event for that
columbarius not only. I was more thinking, if there is a way to use dmabufs without an instance, which gives you format/modifier pairs. You probably don't want to give pipewire a list with every modifier for each format
emersion wlroots won't let you pick the format
emersion the compositor dictates the format
columbarius so you probably just want to announce, you can handle almost all
columbarius in this case you would just announce the formats/modifiers from the compositor
columbarius i was thinking about pipewire clients like obs
columbarius if they use vaapi, they will recieve this list in the future, but if they wan't to do sth. with gbm on their own ...
columbarius is this a possible usecase, without increasing the format/modifier list to all possible combinations?
emersion i'm not sure i'm following?
columbarius if i write a consumer, which (for some reason and with good performance) can handle all possible formats and modifier pairs my hardware supports (vendor specific, etc.) via mapping by gbm or some other mechanism. Then I probably can assume, that any producer will also only send format/modifier pairs, which are supported by the hardware and I have two options: Send all combinations of pairs/modifiers, which
columbarius the hardware supports (crawling the header file of modifiers), and have a really long list, or use a specific "meta" modifier, which signals for every format I support, every modifier will work just fine.
emersion you cannot assume gbm supports all modifiers
columbarius but can you assume, that all software working with modifiers on one hardware has the same restrictions wrt. modifiers?
emersion no
columbarius hmmm ....
emersion for instance, on amdgpu, kms can only do a subset of modifiers, gl/gbm can do a bigger subset, vaapi/vulkan can do a smaller subset
emersion also not all software is released/upgraded at the same time
columbarius Then the problem is, how to get a usefull list of pairs for every software, which want's to use dmabufs
emersion one component could add support for a new modifier, when other components still don't support it
emersion it would probably be sensible for the pipewire consumer to send (format, modifier) pairs it can deal with
columbarius yes. I just wanted to make sure, if/that any consumer has access to this information
emersion some parts are still missing
emersion gl/vulkan def support it
emersion vaapi is missing it
emersion (but that's vaapi's issue)
columbarius If that's the case, we probably only need a fast merging algorythm for ling lists ^^'
columbarius *long
emersion the negociation only happens once, so no need to optimize it
emersion it's not a hot codepath
emersion negotiation*
columbarius But it might be a lot of data? (don't have any clue on how many combinations are possible, but uint64_t has a lot of space))
columbarius s/possible/realistic/
emersion if you have 100 formats, each with 50 possible modifiers, it's 40KiB
emersion (100*4 + 100*50*8)
emersion plus maybe a few more bytes for lengths and whatnot
emersion wayland just sends the whole thing over the wire, fwiw
emersion with today's drivers, expect maybe 20 formats, with 5 modifiers each
emersion see for yourself with wayland-info i guess
columbarius I think the vaapi changes are in, before pipewire wants to break its api, but i can't think of a simple solution, which doesn't require breakage.
columbarius nit: shouldn't it be (100*50*(4+8)) = 60KiB since they are in pairs?
columbarius ok then it is fine. was just a knowledge gap, that's why i could not evaluate it. thankst
emersion maybe introduce a DMABUF2 buffer type, and let everyone know that DMABUF is broken
emersion yeah, it kind of depends how you send it
emersion fwiw, the kernel has an optimized packed struct to store format/modifier pairs
emersion see drm_format_modifier_blob
columbarius thing is FORMAT and BUFFER are two separate Objects
columbarius we either have to pair those, or create a Format and a FORMAT_DMABUF
columbarius ahh nice
columbarius * separate Objects without connection/reference
emersion mind, the packed struct is annoying to decypher
emersion it's using a 64-bit bitfield with a sliding window
columbarius pipewire assumes, that all formats are equal, just with differend kind of "packing"
emersion there is a libdrm MR to add a helper to decypher it
emersion sorry, i don't remember anything about pipewire's APIs :P
columbarius nice, when you create sth. that the next person looking at it writes a helper to not get confused xD
emersion yea :S
columbarius I think it would be nice, to try to specify how dmabuf and modifiers work in a usual mediapipeline
columbarius so should producer and consumer send pipewire all supported formats in a somehow prioritised list and pipewire will guess the best one, or would it better for pipewire to only intersect those lists and return the result to the producer in a way, that the producer can choose the "best" format/modifier combination? Or should the consumer do this.
columbarius additional: how does this work with multiple planes having different modifiers?
columbarius So probably a specific question for you: When using multiple planes, do they share a format and only can have different modifiers, or is it possible to have an arbitrary formats with an arbitrary modifier per plane?
emersion it's not possible to have a different modifier per plane
emersion there cannot be an ordered list of modifiers, because the "best" modifier depends on many parameters (e.g. buffer size)
emersion only the driver knows which modifier would be the best one, and can only decide at allocation time (where it knows about the size, format, usage, etc)
emersion some rules are explained here https://github.com/intel/libva/pull/505#issuecomment-814778614
emersion i'm supposed to write kernel docs for all of this, but haven't got the chance to do so yet
columbarius is there another example where two programs share a dmabuf and have to negotiate format and modifier?
emersion many: wayland compositors and clients, the kernel and the compositor, etc
emersion the consumer sends a list of acceptable (format, modifiers) pairs, then the producer allocates a buffer by intersecting pairs from multiple consumers, picking a format, and providing the list of modifiers for that format to gbm/vaapi/vulkan/?
columbarius thanks for the explanation. may i paste the relevant bits to the pipewire issue?
columbarius so the flow would be: obs want's to capture the screen. Asks egl for (format, modifier) pairs, sends them via pipewire to xdpw. xdpw takes the list, queries wlroots. wlroots will return the format of the buffers it uses internally. xdpw queries gbm with that format to get modifiers, intersect the modifiers with those from pipewire and will create a dmabuf. This dmabuf is handed over to wlroots to copy the
columbarius screen to it. After it returned xdpw will send it via pipewire to obs and has to declare the used modifier via pipewire params?
columbarius wouldn't wlr-screencopy-unstable-v1 need an extension to send a modifier list in the linux_dmabuf event?
emersion right now any (format, modifier) pair supported by the linux-dmabuf protocol is also supported by screencopy
emersion > xdpw queries gbm with that format to get modifiers
emersion there's no such query, but also no need for it:
emersion xdpw queries (format, modifier) pairs from the compositor and from the consumer, then picks the format indicated by screencopy, then passes the modifier list to gbm at alloc time (gbm_bo_create)
emersion yes, xdpw needs to send the whole dmabuf parameters (FDs, offsets, modifier, format, width, height, etc) to the consumer
columbarius all modifiers by linux-dmabuf supported, will this still be true for pixman or vulkan renderer? or custom renderers?
emersion pixman doesn't do dmabufs
emersion in theory, a driver could support texturing from a (format, modifier), but not support rendering to it
emersion but i'm not aware of such a case, yet
columbarius so we have two requirements for pipewire (as long as pipewire doesn't want o allocate dmabufs):
emersion feel free to copy-paste yeah
columbarius * allow a way to correlate buffertype with the format
columbarius * allow to send a list of (format, modifier) pairs from the consumer to the producer
emersion yeah sounds about right
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1085Distorted sound. No center speaker.2022-04-12T22:15:26ZMarcinW87Distorted sound. No center speaker.Version, Distribution, Desktop Environment: Pipewire 3.26 git version, Manjaro KDE 21.0.2
Hello. This is my second issue with pipewire. For some reason sound is distorted, crushed. There is no center speaker at all during playback. Cha...Version, Distribution, Desktop Environment: Pipewire 3.26 git version, Manjaro KDE 21.0.2
Hello. This is my second issue with pipewire. For some reason sound is distorted, crushed. There is no center speaker at all during playback. Channel mapping works corectly only in `pavucontrol`. In `alsamixer` muting one of the channels make all other to mute. My speakers configuration is 5.1. I have tried to reinstall all packages related to pipewire like also remove all config files without any success. Center speaker works only when I press 'Upmix' button on my remote. Enabling 'upmix' in config files gave no result.
How Reproducible:
Steps to Reproduce:
1.
2.
3.
Actual Results:
Expected Results:
[file](/uploads/bc2ccc6becaefa8bf40631e50c35f930/file)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1086Config question: Pipewire with OBS and Zoom.2021-04-22T21:34:36ZVicente QuintánsConfig question: Pipewire with OBS and Zoom.Hi, I have been using obs with zoom and routing audio with pulseaudio for a long time.
With pulseaudio I used to create a sink and remap it with this commands:
```
pactl load-module module-null-sink sink_name=Virtual-Speaker sink_prope...Hi, I have been using obs with zoom and routing audio with pulseaudio for a long time.
With pulseaudio I used to create a sink and remap it with this commands:
```
pactl load-module module-null-sink sink_name=Virtual-Speaker sink_properties=device.description=Virtual-Speaker
pactl load-module module-remap-source source_name=Remap-Source master=Virtual-Speaker.monitor
```
This way Zoom can capture audio from Virtual-Speaker and with OBS I can send all auto to the Virtual-Speaker. It used to work very well.
I am trying to do the same with pipewire, with :
```
pactl load-module module-null-sink sink_name=tunnel object.linger=1 media.class=Audio/Duplex channel_map=FL,FR
# there is no remap command
```
I can see the tunnel correctly in Zoom as input and output.
In OBS it shows **only as an input**, I cannot use it as an output.
I guess the problem it is related to the nonexistent "remap" command that was neccesary in pulseaudio for Zoom (now the problem is in OBS).
I can get around this using two Nodes: `sink` and `source` and linking them with the `qjackctl` gui but is complicated and prone to mistakes:
```
pactl load-module module-null-sink sink_name=source object.linger=1 media.class=Audio/Source/Virtual channel_map=FL,FR
pactl load-module module-null-sink sink_name=sink object.linger=1 media.class=Audio/Sink channel_map=FL,FR
```
I tried to link them with `pw-cli create-link` but there is not much documentation and cannot get it to work.
¿Could you help me with this setup? I think it is a very common setup but cannot see it documented anywhere.
All info I could find is in this comment: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/415#note_714954
_If I should ask this in freenode tell me, I could not find any list or forum..._https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1087Debian 11 / Ubuntu 21.04 -- pipewire-pulse.service not in correct place, requ...2022-04-14T11:59:31ZKraus ShushaDebian 11 / Ubuntu 21.04 -- pipewire-pulse.service not in correct place, requires config every reboot. (Title Edited)I ran Ubuntu 21.04 on a live USB in order to test out PipeWire today. Was running into several issues of pulseaudio apps working, but no JACK apps/clients, such as Carla, etc.
I tried typing $ pipewire to see what would happen, and seve...I ran Ubuntu 21.04 on a live USB in order to test out PipeWire today. Was running into several issues of pulseaudio apps working, but no JACK apps/clients, such as Carla, etc.
I tried typing $ pipewire to see what would happen, and several errors came up, suggesting a daemon might already be running.
```
$ systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-04-23 02:55:13 UTC; 8min ago
TriggeredBy: ● pipewire.socket
Main PID: 27845 (pipewire)
CGroup: /user.slice/user-999.slice/user@999.service/session.slice/pipewire.service
└─27845 /usr/bin/pipewire
Apr 23 02:55:13 ubuntu systemd[2055]: Started Multimedia Service.
```
Indeed it was!
While working with user amstan in #pipewire on Freenode, we were trying out several things, and he had me do `$ pactl info` which revealed the following:
```
$ pactl info
Server String: /run/user/999/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 1089
Tile Size: 65472
User Name: ubuntu
Host Name: ubuntu
Server Name: pulseaudio
Server Version: 14.2
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Focusrite_Scarlett_18i20_USB_P9H08HC9703F4C-00.multichannel-output
Default Source: alsa_input.usb-Focusrite_Scarlett_18i20_USB_P9H08HC9703F4C-00.multichannel-input
Cookie: 8ae5:c67c
```
The server was Pulseaudio, not Pipewire.
So, he had me reload the services.
`$ systemctl --user restart pipewire.service` worked fine. But....
```
$ systemctl --user restart pipewire-pulse.service
Failed to restart pipewire-pulse.service: Unit pipewire-pulse.service not found.
```
After much confirmation it proved that pipewire-pulse just did not exist on the system. amstan had me copy a couple files from an Arch repo and plop them in place.
After this, pavucontrol showed my USB Audio Interface was turned off, so I turned it on, and it began crashing pavucontrol. It will not stay loaded.
Additionally for about a minute or two, no audio would work on the system, but finally it kicked back in.
Carla still will not show the appropriate audio devices. Jack apps still won't work.
Not sure if this is a bug or a feature?
(Edit: Pavu keeps crashing as long as the Scarlett was turned on. I shut off the power and Pavu's fine again.)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1088No sound after disconnecting BT device with Firefox running.2021-04-23T18:57:15ZJiri KanickyNo sound after disconnecting BT device with Firefox running.Issue:
This is an intermittent issue, but not able to figure out why is this happening. It happens under certain conditions, I guess. I pause Netflix movie and my BT speaker (or headphones) disconnect after while. When I reconnect there ...Issue:
This is an intermittent issue, but not able to figure out why is this happening. It happens under certain conditions, I guess. I pause Netflix movie and my BT speaker (or headphones) disconnect after while. When I reconnect there is no sound. I have to kill Firefox, reconnect again, and start Firefox to get sound back.
Environment:
openSuse Tumbleweed latest updates (KDE)
pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
Repro steps:
1. connect BT speaker or headphones
2. open firefox and netflix and start playing movie.
3. pause the movie.
4. disconnect BT speaker.
5. connect BT speaker and start playing movie - no sound.
6. kill firefox and reconnect BT device.
7. start firefox - sound ok.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1089no upscaling of 7.1 sound2021-12-13T21:32:40Zlogan001no upscaling of 7.1 soundIf you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
PipeWire version 0.3.26, archlinux, cinnamon
Description of Problem:
7.1 works with speaker...If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
PipeWire version 0.3.26, archlinux, cinnamon
Description of Problem:
7.1 works with speaker-test -c 8 and also the sound app from cinnamon but there is no up scaling from stereo to 7.1.
If i switch the sound configuration from 7.1 to 5.1 then i get upscaling.
Also the game i've played with wine only plays stereo. there is no surround (like pure alsa or pulse)
How Reproducible:
Steps to Reproduce:
1. set profile to 7.1
2. listen to youtube
3. tadaaaa
Actual Results:
2.0 output
Expected Results:
7.1 output
Additional Info Eg. `[pwdump.txt](/uploads/7b3c8741d9e0e9913b449740a3da4446/pwdump.txt)` (As Attachment Please):https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1090Changing priority of device?2021-06-01T10:50:56ZEthin ProbstChanging priority of device?If you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop En...If you are filing this issue with a regular release please try master as it might already be fixed. Also test with PulseAudio because if it doesn't work there it's not going to here either.
Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
* Desktop environment: Gnome
* Distribution: Arch Linux
* Version: 0.3.26
* Kernel version: 5.11.15
Description of Problem:
I've installed pipewire, pipewire-pulse and pipewire-media-session. I have a hardware mixer connected as well as a built-in mono microphone -- this is a system 76 Lemur from 2017. The built-in device has a device and driver priority of 1936 while the hardware mixer has a device and driver priority of 2000. I cannot seem to find any way of actually changing this. Furthermore, the gnome sound settings app does not detect the hardware mixer (or if it does, I can't seem to select it). `pactl list sources` only shows the built-in device. I can, however, record on the hardware mixer with `pw-cat`. (Note: `pavucontrol` sees the device, as does the majority of utilities I've tried, but others, like `pactl list sources`, doesn't.)
How Reproducible:
I honestly don't know. For all I know it may not be reproduceable -- this is my first time using pipewire.
Steps to Reproduce:
1.
2.
3.
Actual Results:
The device is not detected by pactl and related tools (though it is seen by pavucontrol and a Tox client as well as ALSA).
Expected Results:
I should be able to both alter the priority of the device to force it to be selected by pipewire and it should be detected by gnome.
Additional Info Eg. Additional Kernel Patches, `pw-dump -N > file` (As Attachment Please):[pw-dump.log](/uploads/6a58f7b2681ec20f38de7ab8d94f7b87/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1091Choppy sound2022-04-12T19:35:41ZcooperbangChoppy soundWhen playing radio streams in google-chrome or shortwave app the sound is choppy.
```
pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
```
journalctl:
```
Apr 23 10:48:02 fedora pipewire[162...When playing radio streams in google-chrome or shortwave app the sound is choppy.
```
pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
```
journalctl:
```
Apr 23 10:48:02 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:04 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:06 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:08 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:10 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:12 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:13 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:15 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:17 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:19 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:20 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 10:48:22 fedora pipewire[1625]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
```
Edit:
It seems like the sound gets choppy after **System clock wrong by xxx seconds** appears in journalctl.
```
**Apr 23 13:02:51 fedora chronyd[626]: System clock wrong by -3.968251 seconds**
Apr 23 13:02:52 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 13:02:53 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 13:02:55 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 13:02:56 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 13:02:57 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
Apr 23 13:02:58 fedora pipewire[1641]: alsa-pcm front:0: snd_pcm_status error: Broken pipe
```