pipewire issueshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues2023-05-15T11:09:21Zhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3119How to measure and reduce end to end latency2023-05-15T11:09:21ZNicolas GoyHow to measure and reduce end to end latencyThis is more a question than an issue, but I think it might be good for future reference.
I have the following configuration:
MOTU M2 -> ardour -> MOTU M2
When I loopback the sound of my headset I have about 200ms latency, I filmed th...This is more a question than an issue, but I think it might be good for future reference.
I have the following configuration:
MOTU M2 -> ardour -> MOTU M2
When I loopback the sound of my headset I have about 200ms latency, I filmed the screen of my M2 while taping my hands and counted frames in the video where the input bar is high and the output bar is still low.
Is it possible to measure this latency properly and also I am trying to find what is adding so much latency.
In ardour, it says "20ms" next to latency, running pw-top says 48kHz and 1024 quantum and in the wait column nothing is above 1ms.
[pw-dump.log.gz](/uploads/4460d1c0f67e01792b85bc9e9392f2b1/pw-dump.log.gz)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3117Xruns when listening audio and using Discord, Google Meet...2023-03-26T15:30:00ZFilippo LandiXruns when listening audio and using Discord, Google Meet...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Fedora Linux 36 (Thirty Six)
- Desktop Environment: i3 version 4.22 (2023-01-02)
- Kernel version (`uname -r`): 6.2.7-100.fc36.x86_64
## Description of Problem:
If I listen a audio/video and open Discord or Google Meet, audio will start crackling.
Initially I though it was the Discord app, but then I have tried from browser (Firefox) and it does the same, then I have tried with Google Meet and triggers the same behavior.
Using pw-top I can see ERR ramping up.
## How Reproducible:
Easily reproducible: listen to some audio and open Discord/Google Meet.
### Steps to Reproduce:
1. Listen audio/video files.
2. Open Discord/Google Meet.
### Actual Results:
Audio starts crackling.
### Expected Results:
Audio doesn't start crackling.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`:[pw-dump.log](/uploads/de1d880d7d393952724e0a27b3166a02/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3116Sound sluggish and octave lower and slower than original2023-03-31T01:35:51ZSasa OstrouskaSound sluggish and octave lower and slower than originalHi, I have a google pixelbook model EVE and I try to work out why pipewire does not work on my machine.
I use slackware and pipewire version is 0.3.67 . On Pulseaudio sound works ok. I would like to figure
out how to make sound working...Hi, I have a google pixelbook model EVE and I try to work out why pipewire does not work on my machine.
I use slackware and pipewire version is 0.3.67 . On Pulseaudio sound works ok. I would like to figure
out how to make sound working with pipewire.
Right now if I disable pulseaudio and start a video with pipewire enables I get a very amplified sound, basically distorting on normal volume levels, but if I lower the volume level I can start hearing normal speech but
the sound is slowed down and the voice is heard as an octave lower more or less.
What would be the correct start to work on that issue ?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3115Stuttering sound with bluetooth2023-03-27T15:34:59ZChristian Fredrik Kalager SchallerStuttering sound with bluetooth
- PipeWire version (`pipewire --version`):
pipewire --version
pipewire
Compiled with libpipewire 0.3.67
Linked with libpipewire 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`):
Fedora Linux 37 (Wor...
- PipeWire version (`pipewire --version`):
pipewire --version
pipewire
Compiled with libpipewire 0.3.67
Linked with libpipewire 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`):
Fedora Linux 37 (Workstation Edition)
- Desktop Environment:
GNOME
- Kernel version (`uname -r`):
6.2.7-200.fc37.x86_64
- BlueZ version (`bluetoothctl --version`):
bluetoothctl: 5.66
- `lsusb`:
Bus 005 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 003 Device 002: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 003 Device 004: ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 413c:c015 Dell Computer Corp. Dell Webcam WB7022
Bus 004 Device 002: ID 0bda:0412 Realtek Semiconductor Corp. USB3.2 Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 048d:8297 Integrated Technology Express, Inc. IT8297 RGB LED Controller
Bus 001 Device 008: ID 046d:c094 Logitech, Inc. PRO X Wireless
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 046d:c505 Logitech, Inc. Cordless Mouse+Keyboard Receiver
Bus 001 Device 006: ID 0bda:1100 Realtek Semiconductor Corp. HID Device
Bus 001 Device 004: ID 413c:d001 Dell Computer Corp. Dell Presence Sensor WB7022
Bus 001 Device 002: ID 0bda:5412 Realtek Semiconductor Corp. USB2.1 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bluetooth devices:
```
# paste the output of "bluetoothctl devices" here
Device F8:4E:17:39:8C:C6 WH-1000XM4
Device 64:FF:0A:75:87:51 Sony360
Device E5:A8:8A:F2:BF:FC StadiaLJFM-bffc
## Description of Problem:
When playing back sound on my Sony360 over bluetooth I often get stutters in the sound, I been away for a while, but I believe this
is a fairly new issue.
## How Reproducible:
Every time
# Additional Info (as attachments):
seeing this in dmesg[pipewire-bluez.log](/uploads/9a85386314fdd178cd8493fdfaf7e228/pipewire-bluez.log)
[ 26.678877] input: Sony360 (AVRCP) as /devices/virtual/input/input25
[ 32.677759] input: Sony360 (AVRCP) as /devices/virtual/input/input26
[ 7803.445534] input: Sony360 (AVRCP) as /devices/virtual/input/input27
[ 8066.135474] Bluetooth: hci0: unexpected SMP command 0x06 from cd:10:ce:39:0c:8b
[ 8066.135480] Bluetooth: hci0: unexpected SMP command 0x07 from cd:10:ce:39:0c:8b
[ 8066.135482] Bluetooth: hci0: unexpected SMP command 0x08 from cd:10:ce:39:0c:8b
[ 8066.137459] Bluetooth: hci0: unexpected SMP command 0x09 from cd:10:ce:39:0c:8b
[ 8066.164455] Bluetooth: hci0: unexpected SMP command 0x0a from cd:10:ce:39:0c:8b
[ 8105.724030] Bluetooth: hci0: Opcode 0x2043 failed: -110
[ 8105.724036] Bluetooth: hci0: request failed to create LE connection: err -110
[ 8112.374436] Bluetooth: hci0: Opcode 0x 401 failed: -16
[ 8121.275937] Bluetooth: hci0: unexpected SMP command 0x06 from cd:10:ce:39:0c:8b
[ 8121.305090] Bluetooth: hci0: unexpected SMP command 0x07 from cd:10:ce:39:0c:8b
[ 8121.394973] Bluetooth: hci0: unexpected SMP command 0x08 from cd:10:ce:39:0c:8b
[ 8121.394978] Bluetooth: hci0: unexpected SMP command 0x09 from cd:10:ce:39:0c:8b
[ 8121.394979] Bluetooth: hci0: unexpected SMP command 0x0a from cd:10:ce:39:0c:8b
- `[pw-dump.log](/uploads/859f99dd79ce2fe368b063c1aaab196a/pw-dump.log)`:
- Bluetooth debug log, see [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#bluetooth):
I got an audio recording of the issue here:
https://recorder.google.com/1450fe8f-6b59-44b6-8ab0-08ef35a3f3d6https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3113Cannot change path for .pulse-cookie2023-03-23T21:14:17Z90Cannot change path for .pulse-cookieIt would be nice to be able to change the path of the `~/.pulse-cookie` under pipewire-pulse to better comply with the XDG basedir specification. Currently, this seems to be hard-coded without any acknowledgement of `$XDG_CONFIG_HOME/pul...It would be nice to be able to change the path of the `~/.pulse-cookie` under pipewire-pulse to better comply with the XDG basedir specification. Currently, this seems to be hard-coded without any acknowledgement of `$XDG_CONFIG_HOME/pulse/cookie`, which PulseAudio has natively supported since 4.0.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3111Can't seem to get DAC rate over 44100?2023-05-15T11:12:11ZJames LewisCan't seem to get DAC rate over 44100?Maybe not software bug? But I'm struggling to understand the distinction between RATE and FORMAT in "pw-top", as it pertains to the bitrate that pipewire is connecting to the audio hardware, and I think it's sticking at 44100... Can some...Maybe not software bug? But I'm struggling to understand the distinction between RATE and FORMAT in "pw-top", as it pertains to the bitrate that pipewire is connecting to the audio hardware, and I think it's sticking at 44100... Can someone clarify the meaning if the fields here:-
```
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR FORMAT NAME
I 28 0 0 0.0us 0.0us 0.00 0.00 0 Dummy-Driver
S 29 0 0 --- --- --- --- 0 Freewheel-Driver
S 41 0 0 --- --- --- --- 0 Midi-Bridge
S 47 0 0 --- --- --- --- 0 alsa_output.pci-0000_00_1f.3.iec958-stereo
S 38 0 0 --- --- --- --- 0 alsa_output.pci-0000_01_00.1.hdmi-stereo
R 128 512 44100 257.7us 273.0us 0.02 0.02 0 S32LE 2 96000 alsa_output.usb-BEHRINGER_UMC202HD_192k-00.iec958-stereo
R 64 2048 44100 77.1us 8.9us 0.01 0.00 0 S16LE 2 44100 + ALSA Playback
R 89 8192 96000 79.3us 93.4us 0.01 0.01 0 S24LE 2 96000 + Lollypop
S 98 0 0 --- --- --- --- 0 alsa_input.usb-BEHRINGER_UMC202HD_192k-00.iec958-stereo
```
If I'm reading this right, Pipewire is doing internal processing at 96khz, Lollypop (Audio player) is outputting 96Khz, but pipewire is still connecting to the audio hardware at 44.1Khz... I'm struggling to understand the documentation regarding what the FORMAT vs RATE means for source and sink, particularly when they are different.
I added the following to /etc/pipewire/media-session.d/alsa-monitor.conf, but I cannot get the "RATE" to go above 44100.
```
matches = [
{
node.name = "alsa_output.usb-BEHRINGER_UMC202HD_192k.*"
}
]
actions = {
update-props = {
audio.format = "S32_LE"
audio.rate = 96000
# Following value should be doubled until audio doesn't cut out or other issues stop occurring
api.alsa.period-size = 256
api.alsa.headroom = 1024
}
```
I'm hoping someone can point me in the right direction, or even just to a forum where every question isn't "how do I install pipewire on Ubuntu"...
But also, it would be really great to improve documentation in this area.... and, hell... it would be absolutely amazing to have a GUI like pavucontrol for pipewire which could do these things, and adjust the other settings.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3110Choppy sound via HDMI2023-11-07T03:02:42Zgraeme vetterleinChoppy sound via HDMI<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`):
pipewire
Compiled with libpipewire 0.3.65
Linked with libpipewire 0.3.65
- Distrib...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`):
pipewire
Compiled with libpipewire 0.3.65
Linked with libpipewire 0.3.65
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): (actually SID)
graeme@real:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
- Desktop Environment: XFCE
-
- Kernel version (`uname -r`):
graeme@real:~$ uname -r
6.1.0-6-amd64
## Description of Problem:
## How Reproducible:100%
### Steps to Reproduce:
1.Plug in HDMI (e.g. TV/display) with sound
2.play audio e.g. mpv (but happens with almost all/all sound generation)
3.
### Actual Results:
Sound is choppy, broken up
### Expected Results:
Smooth sound. The same hardware running Buster, Stretch and the default audio setup worked fine
# Additional Info (as attachments):
At the request of bob.dybian@gmail.com I tested with analogue headphones (not HDMI) and the sound was fine
[pw-dump.log](/uploads/86739a953335c61881b11935ec33c311/pw-dump.log)
- `pw-dump > pw-dump.log`:
see: https://bugs.debian.org/1025453#40https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3109bound_props event implementation might break compatibility?2023-03-30T09:43:23ZBarnabás Pőczebound_props event implementation might break compatibility?`resource.c:pw_resource_set_bound_id()` says:
```c
if (client->core_resource->version >= 4)
pw_core_resource_bound_props(client->core_resource, resource->id, global_id,
dict);
else
pw_core_resource_bound_id(client->core_re...`resource.c:pw_resource_set_bound_id()` says:
```c
if (client->core_resource->version >= 4)
pw_core_resource_bound_props(client->core_resource, resource->id, global_id,
dict);
else
pw_core_resource_bound_id(client->core_resource, resource->id, global_id);
```
If I interpret this correctly, then new libpipewire clients will only receive `bound_props` events. This already brings up a problem: when a client written against an old pipewire version is used with new libpipewire and daemon. Then it simply won't receive the `bound_id` event that it expects. `protocol-native.c:core_event_demarshal_bound_props()` does not seem to have any fallback either.
I am wondering if maybe both events should be emitted on the server when the core version >= 4. This is admittedly a bit wasteful, but that way no compatibility is lost as far as I can see. Another option would probably be to leave the server as is and emit the `bound_id` event from `core_event_demarshal_bound_props()` as well.
Or am I missing something?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3108A2DP Opus codec compatibility with Android2024-02-05T08:58:13ZTeoh Han HuiA2DP Opus codec compatibility with Android!1322 added a PipeWire-specific A2DP Opus codec. However, Android has added support for A2DP Opus codec as well after that, with their own vendor ID.
Would it be feasible to make them compatible? Would that mean PipeWire using Google's ...!1322 added a PipeWire-specific A2DP Opus codec. However, Android has added support for A2DP Opus codec as well after that, with their own vendor ID.
Would it be feasible to make them compatible? Would that mean PipeWire using Google's source codec format to support these (still hypothetical) audio sinks?
Reports:
* https://www.reddit.com/r/GooglePixel/comments/zeurji/two_new_audio_codecs_lc3_and_opus_pixel_6/
* https://twitter.com/mishaalrahman/status/1577362681576701957
See:
* https://developer.android.com/reference/android/bluetooth/BluetoothCodecConfig#SOURCE_CODEC_TYPE_OPUS
* https://cs.android.com/android/platform/superproject/+/ec01d72dcd240f1cda67b53855a09fd46104a7d6:packages/modules/Bluetooth/system/stack/include/a2dp_vendor_opus_constants.h;l=32-35https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3106Linux mint 21.1 cinnamon Bluetooth speaker cannot adjust volume using keyboar...2024-01-13T13:13:40ZSherlock XiaLinux mint 21.1 cinnamon Bluetooth speaker cannot adjust volume using keyboard (but can mute).- PipeWire version: (0.3.48)
- Pulseaudio version: (15.99.1)
- Distribution and distribution version: Linux Mint 21.1
- Desktop Environment: Cinnamon
- Kernel version: 5.19.0-35-generic
- BlueZ version: bluetoothctl: 5.64
- `lsusb`:
Bus ...- PipeWire version: (0.3.48)
- Pulseaudio version: (15.99.1)
- Distribution and distribution version: Linux Mint 21.1
- Desktop Environment: Cinnamon
- Kernel version: 5.19.0-35-generic
- BlueZ version: bluetoothctl: 5.64
- `lsusb`:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 1bcf:2c00 Sunplus Innovation Technology Inc. Integrated Webcam
Bus 001 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bluetooth devices:
Device 6C:96:CF:77:32:3F 6C-96-CF-77-32-3F
Device D8:1C:79:61:A3:EE D8-1C-79-61-A3-EE
Device A0:AF:BD:09:BD:92 LAPTOP-MK0EIP58
Device F4:4E:FD:49:D6:73 Sherlock Xia's Bluetooth speaker <---This is the one
Device FC:FC:48:9E:DB:04 FC-FC-48-9E-DB-04
## Description of Problem:
After upgrading to the new 21.1 Linux mint Cinnamon, I am unable to adjust the volume of my bluetooth speaker from my keyboard. I am using a dell inspiron 7560 laptop and it used to work. I heard that Linux mint switched to pipewire instead of pulseaudio so I suspect that there is an issue with pipewire and bluetooth speaker. I can still adjust the master volume of my bluetooth speaker using the its buttons but it always overwrite my volume change while using my keyboard. But I can mute it using my keyboard.
## How Reproducible: Always
### Steps to Reproduce:
1. Turn on bluetooth speaker
2. Connect
3. play audio and cannot change volume using keyboard
### Actual Results: Cannot adjust volume using keyboard, can mute.
### Expected Results: Can adjust volume using keyboard.
# Additional Info (as attachments):
- Bluetooth debug log, see [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#bluetooth):
- `pw-dump > pw-dump.log`:https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3100JACK Clients (Filters/Plugins in Carla) won't idle after upgrading to 0.3.672023-05-15T16:24:09ZAndrej Halvelandandrej.halv@gmail.comJACK Clients (Filters/Plugins in Carla) won't idle after upgrading to 0.3.67- PipeWire version (`pipewire --version`): 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Arch Linux
- Desktop Environment: KDE Plasma 5.27.3 Wayland
- Kernel version (`uname -r`): 6.2.6-arch1-1-sn...- PipeWire version (`pipewire --version`): 0.3.67
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Arch Linux
- Desktop Environment: KDE Plasma 5.27.3 Wayland
- Kernel version (`uname -r`): 6.2.6-arch1-1-snipex
## Description of Problem:
Audio effects/filters in Carla won't idle, and therefore wont make the sound-card on my laptop suspend after upgrading to PipeWire 0.3.67
PipeWire 0.3.66 works fine.
## How Reproducible:
Always.
### Steps to Reproduce:
1. Start carla with `PIPEWIRE_LINK_PASSIVE=true carla-jack-multi`
2. Add some kind of filter. (Parametric EQ form LSP Plugins, for example)
### Actual Results:
As seen in `pw-top`, the filter will always show its status as RUNNING, even without any audio playing, or anything connected to it.
### Expected Results:
The filter should enter the idle state if nothing is being played through it, or if nothing is connected to it.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`:[pw-dump.log](/uploads/5c764a3c23e3153967e2707f73eaa367/pw-dump.log)
I have also bisected this bug to this commit: 90b11e3c49c061bae26b020b7b8a492617627205
Everything works as expected before that commit.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3099pipewire-pulse sinks sometimes have no sound despite set-sink-mute 0, muting ...2023-09-27T07:24:08ZMartin Ryspipewire-pulse sinks sometimes have no sound despite set-sink-mute 0, muting and unmuting makes them work again```
# Arch Linux
% pipewire --version
pipewire
Compiled with libpipewire 0.3.67
Linked with libpipewire 0.3.67
```
When I switch between output of audio devices, sometimes the sink will seemingly work fine, appear not muted, even...```
# Arch Linux
% pipewire --version
pipewire
Compiled with libpipewire 0.3.67
Linked with libpipewire 0.3.67
```
When I switch between output of audio devices, sometimes the sink will seemingly work fine, appear not muted, even audio in pavucontrol seems to play.
However audio does not work, and what I need to do is mute and unmute the sink again to get it to work.
```console
# Audio does not work at this point
[0] % pactl list sinks short
379 alsa_output.pci-0000_15_00.6.analog-stereo PipeWire s32le 2ch 48000Hz RUNNING
[0] % pactl get-sink-mute 379
Mute: no
[0] % pactl set-sink-mute 379 0
[0] % pactl set-sink-mute 379 1
[0] % pactl set-sink-mute 379 0
# Audio begins working after above command
```
I cannot reliably reproduce this state, in fact I cannot reproduce it at will at all, when I try to spam the switch I can never trigger it on my own, but this is what the script I run to switch between devices should be executing.
```console
pactl --format json list cards
pactl --format json list sinks
pactl --format json list modules
pactl unload-module module-null-sink
pactl unload-module module-loopback
pactl unload-module module-echo-cancel
pactl set-card-profile 42 off
pactl set-card-profile 43 off
pactl set-card-profile 44 off
pactl set-card-profile 45 off
pactl set-card-profile 46 off
pactl set-card-profile 45 output:analog-stereo
pactl --format json list sinks
pactl set-sink-mute 3164 0
```
If there is more information I should get when I run into the bugged state again, please let me know.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3097Does Pipewire offers the possibility to register only a sink or only a source...2023-03-17T07:59:23ZsilviubarbulescuDoes Pipewire offers the possibility to register only a sink or only a source endpoint for LE audioHello all,
I'm testing the LE audio support in Bluez and PipeWire. I have a setup with two virtual machines(central and peripheral) configured with Ubuntu 22.04 (Kernel 6.2), BlueZ master, enabled BlueZ Experimental ISO socket, and Pipe...Hello all,
I'm testing the LE audio support in Bluez and PipeWire. I have a setup with two virtual machines(central and peripheral) configured with Ubuntu 22.04 (Kernel 6.2), BlueZ master, enabled BlueZ Experimental ISO socket, and Pipewire master with LC3 support enabled and LE controller.
When I enable the BlueZ experimental support automatically both PAC_SINK_UUID and PAC_SOURCE_UUID are advertised as supported UUIDs.
![image](/uploads/2f2bbb7f899edfa9b46648708d245ce0/image.png)
Pipewire automatically registers both endpoints.
Is there a way to configure Pipewire to register only the sink or only the source endpoint?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3096Is it possible to only use a select number of mics with the echo-cancel module?2023-03-16T20:26:06ZKodie ArtnerIs it possible to only use a select number of mics with the echo-cancel module?I have a device that has 7 mic's and a loopback device for the outgoing audio built in (so 8 mic's in total). I only want to select the first 7 mics when using the echo-cancel module but I haven't found any options that would allow this....I have a device that has 7 mic's and a loopback device for the outgoing audio built in (so 8 mic's in total). I only want to select the first 7 mics when using the echo-cancel module but I haven't found any options that would allow this. Is it possible to select a subset of inputs to be used in the echo-cancellation-capture stream?https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3095Echo Cancellation Capture modified when setting Echo Cancellation Source to d...2023-03-15T01:04:40ZKodie ArtnerEcho Cancellation Capture modified when setting Echo Cancellation Source to default<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.66
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.66
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Ubuntu 22.04.2 LTS
- Desktop Environment: Gnome
- Kernel version (`uname -r`): 5.15.0-67-lowlatency
## Description of Problem:
Using the configuration below, the echo-cancellation-capture is configured correctly.
```
─ Sinks:
│ 37. Echo Cancellation Sink [vol: 1.00]
│ * 84. xCORE USB Audio 2.0 Analog Stereo [vol: 1.08]
│ 86. Built-in Audio Analog Stereo [vol: 1.00]
│
├─ Sink endpoints:
│
├─ Sources:
│ 36. Echo Cancellation Source [vol: 5.00]
│ 83. Xbox NUI Sensor Analog Surround 4.0 [vol: 0.74]
│ * 85. xCORE USB Audio 2.0 Analog Surround 7.1 [vol: 5.00]
│ 87. Built-in Audio Analog Stereo [vol: 0.74]
│
├─ Source endpoints:
│
└─ Streams:
35. echo-cancellation-capture
112. input_FL < xCORE USB Audio 2.0:capture_FL
113. monitor_FL
114. input_FR < xCORE USB Audio 2.0:capture_FR
115. monitor_FR
116. input_RL < xCORE USB Audio 2.0:capture_RL
117. monitor_RL
118. input_RR < xCORE USB Audio 2.0:capture_RR
119. monitor_RR
120. input_FC < xCORE USB Audio 2.0:capture_FC
121. monitor_FC
122. input_LFE < xCORE USB Audio 2.0:capture_LFE
123. monitor_LFE
124. input_SL < xCORE USB Audio 2.0:capture_SL
125. monitor_SL
126. input_SR < xCORE USB Audio 2.0:capture_SR
127. monitor_SR
38. echo-cancellation-playback
110. output_FL > xCORE USB Audio 2.0:playback_FL
111. output_FR > xCORE USB Audio 2.0:playback_FR
```
But as soon as I set the Echo Cancellation Source as the default, the stream uses only two loopback channels.
```
─ Sinks:
│ 35. Echo Cancellation Sink [vol: 1.00]
│ * 84. xCORE USB Audio 2.0 Analog Stereo [vol: 1.08]
│ 86. Built-in Audio Analog Stereo [vol: 1.00]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 34. Echo Cancellation Source [vol: 5.00]
│ 83. Xbox NUI Sensor Analog Surround 4.0 [vol: 0.74]
│ 85. xCORE USB Audio 2.0 Analog Surround 7.1 [vol: 5.00]
│ 87. Built-in Audio Analog Stereo [vol: 0.74]
│
├─ Source endpoints:
│
└─ Streams:
33. echo-cancellation-capture
124. monitor_FR
125. input_FR < Loopback:capture_FR
126. monitor_FL
127. input_FL < Loopback:capture_FL
36. echo-cancellation-playback
110. output_FL > xCORE USB Audio 2.0:playback_FL
111. output_FR > xCORE USB Audio 2.0:playback_FR
```
The config for the echo-cancel is as follows:
```
context.modules = [
{ name = libpipewire-module-echo-cancel
args = {
library.name = aec/libspa-aec-webrtc
source.props = {
node.name = echo-cancellation-source
node.description = "Echo Cancellation Source"
}
capture.props = {
node.name = echo-cancellation-capture
node.description = "Echo Cancellation Capture"
audio.channels = 1
audio.position = "input_FL" # capture_RL, capture_RR,capture_FC,capture_SL,capture_SR]
target.object = "alsa_input.usb-XMOS_xCORE_USB_Audio_2.0_FW18-00.analog-surround-71"
}
sink.props = {
node.name = echo-cancellation-sink
node.description "Echo Cancellation Sink"
}
playback.props = {
node.name = echo-cancellation-playback
node.description "Echo Cancellation Playback"
node.passive = true
audio.channels = 2
audio.position = [ FR FL ]
target.object = "alsa_output.usb-XMOS_xCORE_USB_Audio_2.0_FW18-00.analog-stereo"
}
}
]
```
## How Reproducible:
Pipewire version 0.3.66
Get a device with 8 mics and set up audio cancellation with it.
### Steps to Reproduce:
1. Update config
2. Restart pipewire
3. Check status
4. Update default wpctl set-default
5. Check status
### Actual Results:
33. echo-cancellation-capture
124. monitor_FR
125. input_FR < Loopback:capture_FR
126. monitor_FL
127. input_FL < Loopback:capture_FL
### Expected Results:
35. echo-cancellation-capture
112. input_FL < xCORE USB Audio 2.0:capture_FL
113. monitor_FL
114. input_FR < xCORE USB Audio 2.0:capture_FR
115. monitor_FR
116. input_RL < xCORE USB Audio 2.0:capture_RL
117. monitor_RL
118. input_RR < xCORE USB Audio 2.0:capture_RR
119. monitor_RR
120. input_FC < xCORE USB Audio 2.0:capture_FC
121. monitor_FC
122. input_LFE < xCORE USB Audio 2.0:capture_LFE
123. monitor_LFE
124. input_SL < xCORE USB Audio 2.0:capture_SL
125. monitor_SL
126. input_SR < xCORE USB Audio 2.0:capture_SR
127. monitor_SR
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`:
[pw-dump.log](/uploads/9b6106b9b3e2b38a94f2daa22ebcca9b/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3093Pulseserver Audio Streaming - Voice Change2023-03-17T13:38:45ZFelix RichterPulseserver Audio Streaming - Voice ChangeHi,
so this is a weird one. I am using pipewire on my raspberry pi to be able to use my speakers and microphone from my docked Laptop as well as my workstation. For Audio Playback everything is working smoothly. But capturing my microph...Hi,
so this is a weird one. I am using pipewire on my raspberry pi to be able to use my speakers and microphone from my docked Laptop as well as my workstation. For Audio Playback everything is working smoothly. But capturing my microphone is broken. Not in the first moment, but when I am using my microphone for a while, for example talking with friends on teamspeak or in a call in jitsi something weird happens. After a while my voice gets pitched higher and higher until at some point i sound like a chipmunk and if ignore it even further i can not be understood at all.
This is my configuration of the pipewire-pulse instance running on the raspberry pi. I am using a VLAN that is shared between only the devices on my desk and therefore the latency is very low <1ms.
```
pulse.properties = {
# the addresses this server listens on
pulse.min.frag = 32/48000 #0.5ms
pulse.default.frag = 256/48000 #5ms
pulse.min.quantum = 32/48000 #0.5ms
server.address = [
"unix:native"
#"unix:/tmp/something" # absolute paths may be used
#"tcp:4713" # IPv4 and IPv6 on all addresses
#"tcp:[::]:9999" # IPv6 on all addresses
#"tcp:127.0.0.1:8888" # IPv4 on a single address
#
{ address = "tcp:172.16.128.1:4713" # address
max-clients = 64 # maximum number of clients
listen-backlog = 32 # backlog in the server listen queue
client.access = "allowed" # permissions for clients
}
]
}
```
I had to decrease the default.frag and min.frag significantly otherwise I would have had a 2second delay between speaking and the audio reaching the program that is using it. For talking with people online that is just way to long. This does not result in any noticeable increase in cpu usage on the raspberry pi.
Interestingly enough there is absolutely no issuer for audio playback. This leaves me just wondering what is going wrong? Any pointers as too how to debug this further would be welcome. I am proficient enough in c to be able to compile my own version of pipewire and try things. But without know where the best place to start is I am a bit lost.
As of now I am using pipewire version:
Compiled with libpipewire 0.3.67
Linked with libpipewire 0.3.67
On all my devices (raspberry pi, desktop and laptop). All of the are running ArchLinux with the newest kernel. And in case of the raspberry pi also using the official rpi kernel.
Anyway lots of props for the hard work on pipewire. I really like it and want to help make it better.
Kind regards
ju6gehttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3091Segfault when connecting to PCM stream twice2023-03-17T10:03:39ZMersadSegfault when connecting to PCM stream twice<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`):
pipewire
Compiled with libpipewire 0.3.65
Linked with libpipewire 0.3.65
- Distrib...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`):
pipewire
Compiled with libpipewire 0.3.65
Linked with libpipewire 0.3.65
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`):
Proprietary embedded version.
- Desktop Environment:
None.
- Kernel version (`uname -r`):
4.19.217
## Description of Problem:
Stream is set up with pw_stream_new_simple() and pw_stream_connect(), but segfaults if pw_stream_connect() is done twice.
## How Reproducible:
Create an application and set up stream with pw_stream_new_simple() and pw_stream_connect().
Run pw_stream_connect() again on the same stream.
### Steps to Reproduce:
1. Create a capture application.
2. Use pw_stream_new_simple() and pw_stream_connect() to stream.
3. Use pw_stream_connect() gain on the same stream.
### Actual Results:
Segfault.
### Expected Results:
No segfault.
# Additional Info (as attachments):
```
#0 0x00000000 in ?? ()
#1 0x76ef06d4 in node_result (data=0x499e68, seq=0, res=0, type=2, result=<optimized out>) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/impl-node.c:1522
#2 0x75bfccde in impl_node_enum_params (object=0x480c78, seq=0, id=3, start=0, num=1, filter=0x0) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/spa/plugins/audioconvert/audioadapter.c:231
#3 0x76cab2f6 in spa_node_enum_params_sync (filter=0x0, builder=0x7effe330, param=<synthetic pointer>, index=<synthetic pointer>, id=<optimized out>, node=0x480c84)
at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/spa/include/spa/node/utils.h:78
#4 add_node_update (data=0x49a8fc, change_mask=3, info_mask=5) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/modules/module-client-node/remote-node.c:317
#5 0x76eefc26 in emit_info_changed (node=node@entry=0x499e68, flags_changed=flags_changed@entry=false) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/impl-node.c:292
#6 0x76ef6f92 in node_info (data=0x499e68, info=0x480f78) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/impl-node.c:1465
#7 0x75bf3d34 in emit_node_info (this=this@entry=0x480c78, full=full@entry=false) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/spa/plugins/audioconvert/audioadapter.c:314
#8 0x75bfd6f6 in follower_port_info (data=0x480c78, direction=SPA_DIRECTION_INPUT, port_id=0, info=0x469d40)
at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/spa/plugins/audioconvert/audioadapter.c:1158
#9 0x76f0a638 in emit_port_info (d=d@entry=0x469c18, full=full@entry=false) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/stream.c:693
#10 0x76f0d3d2 in impl_port_set_param (object=0x469c18, direction=<optimized out>, port_id=<optimized out>, id=15, flags=<optimized out>, param=<optimized out>)
at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/stream.c:906
#11 0x76f0522c in pw_impl_port_set_param (port=port@entry=0x50ba38, id=id@entry=15, flags=flags@entry=0, param=param@entry=0x475f80)
at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/impl-port.c:1439
#12 0x76cacf72 in client_node_port_set_param (_data=0x4c3ad4, direction=SPA_DIRECTION_INPUT, port_id=0, id=15, flags=0, param=0x475f80)
at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/modules/module-client-node/remote-node.c:615
#13 0x76cb5722 in client_node_demarshal_port_set_param (data=<optimized out>, msg=<optimized out>) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/modules/module-client-node/protocol-native.c:510
#14 0x76ce31d4 in process_remote (impl=impl@entry=0x46bab0) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/modules/module-protocol-native.c:966
#15 0x76ce369e in on_remote_data (data=0x46bab0, fd=19, mask=1) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/modules/module-protocol-native.c:1000
#16 0x76d1b88a in loop_iterate (object=0x4206e8, timeout=<optimized out>) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/spa/plugins/support/loop.c:452
#17 0x76eed36a in pw_main_loop_run (loop=loop@entry=0x420630) at /usr/src/debug/pipewire/0.3.65+gitAUTOINC+ecf06935ba-r0/src/pipewire/main-loop.c:148
#18 0x00403908 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/application/src/main.c:370
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3089Two combined sinks with 3 Output devices - Second one fails sometimes with er...2023-03-15T16:52:00ZLozramATwo combined sinks with 3 Output devices - Second one fails sometimes with errors and slow playingHello,
I started using now two combined sinks with pipewire pulse.
Setup is raspberry pi 4 with SoundblasterPlay3 USB and IQAudio DigiAmp+.
combined sink: RaspiInternalOut + SBPlay3 + DigiAmp
2nd combined sink: SBPlay3 + DigiAmp
I a...Hello,
I started using now two combined sinks with pipewire pulse.
Setup is raspberry pi 4 with SoundblasterPlay3 USB and IQAudio DigiAmp+.
combined sink: RaspiInternalOut + SBPlay3 + DigiAmp
2nd combined sink: SBPlay3 + DigiAmp
I am switching in libVLC python the sinks depending if i need the third audio out or not.
The sinks are created this way:
pactl load-module module-combine-sink sink_name=combined sink_properties=device.description=combineddesc slaves=alsa_output.platform-bcm2835_audio.stereo-fallback,alsa_output.usb-Creative_Technology_Ltd_Sound_Blaster_Play__3_00285077-00.analog-stereo,alsa_output.platform-soc_sound.stereo-fallback
pactl load-module module-combine-sink sink_name=2ndcombined sink_properties=device.description=2ndcombineddesc slaves=alsa_output.usb-Creative_Technology_Ltd_Sound_Blaster_Play__3_00285077-00.analog-stereo,alsa_output.platform-soc_sound.stereo-fallback
After some time the second sink starts to play audio very slow.
Till now ( some days testing ) the first sink never made problems.
There are following errors in the log:
missed resync and mod.combine-stream: out of playback buffers: Broken pipe
[pipeerror.txt](/uploads/6eb8691b4ca7e56d9e68dfd82b0ff84a/pipeerror.txt)
Config files are unchanged defaults except resample quality changed to 15 and additional allowed-rates [ 16000 48000 ] ( default is 48k )
Any suggestions what could cause this ?
Is there a better way to create the sinks ?
Thankshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3088No MIDI traffic for MIDI over Bluetooth2023-03-15T17:42:18ZDaniel LundqvistNo MIDI traffic for MIDI over Bluetooth<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.67
- WirePlumber version: 0.4.14
- Distribution and distribution version (`PRETT...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.67
- WirePlumber version: 0.4.14
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Debian GNU/Linux bookworm/sid
- Desktop Environment: none (or rather JWM)
- Kernel version (`uname -r`): Linux neptune 6.1.0-6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.15-1 (2023-03-05) x86_64 GNU/Linux
## Description of Problem:
Can't get any MIDI notes over Bluetooth.
## How Reproducible:
Always.
### Steps to Reproduce:
1. Pair, and connect, digital piano (Roland FP-30X) with my desktop.
2. Start software instrument and connect it to the piano.
3. Play on piano.
### Actual Results:
No sounds in software instrument.
### Expected Results:
Sounds in software instrument.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`: [pw-dump.log](/uploads/cb78ed7e434b1c9689dc3d2d9fc2a5e4/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3084Bluetooth headset only has HSP/HFP available (no A2DP)2023-03-15T15:18:49ZmoednBluetooth headset only has HSP/HFP available (no A2DP)The issue:
- Bluetooth headset (Bose QuietComfort 35; device is called `Hall`) shows only HSP/HFP options in Gnome sound settings
- issue persists after reboot of machine, headset and Bluetooth service and after "forgetting" and resetti...The issue:
- Bluetooth headset (Bose QuietComfort 35; device is called `Hall`) shows only HSP/HFP options in Gnome sound settings
- issue persists after reboot of machine, headset and Bluetooth service and after "forgetting" and resetting the connection; I yet found no way to connect my headphones on A2DP
- I didn't create the file mentioned under https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2769#note_1592454 since I don't have the `wireplumber` dir under `~/-config/`, but `pipewire` and `pipewire-media-session` instead (which I find weird since `pipewire-media-session` won't show up, when calling `ps -e | grep pipewire`
- used to work on Fedora 36 (updated recently, but don't know which version of PipeWire was running there)
please find some logs attached; let me know if there's anything I can do to support your work :heart:
The setup:
- Dell Latitude 7490
- Fedora 37 (gnome), Kernel `6.1.14-200.fc37.x86_64`
- PulseAudio (on PipeWire 0.3.66)
- bluetoothctl: 5.66
logs:
- `pw-dump`: [log-pw-dump-230310](/uploads/4adfcd28a226dfa85136b6bf7f296448/log-pw-dump-230310)
- `pactl list cards`: [log-pactl-list-cards-230312](/uploads/87259c519b16b13219ed82400ef74030/log-pactl-list-cards-230312)