[LAD] Re: Pipewire

Robin Gareus <[email protected]> Tue, 13 Aug 2024 17:36:08 +0200
Newsgroups gmane.linux.audio.devel
Message-ID <[email protected]>
Hi Fons,

As far as I know pipewire can not currently meet all 8 of your 
requirements, but I best leave this to Wim to answer.

On 2024-08-13 15:39, Fons Adriaensen wrote:

 > 1. Jack2 and some clients are started manually after I login,

So you finally made the switch to jack2?

 >     and will be running all the time.

just a sidenote. doing that killed the battery on my old laptop.

> 3. PW will be started manually when required, and I don't expect
>     that will happen very often. It may remain running when no longer
>     needed but shouldn't interfere. It will be used to connect apps
>     to Jack as in (2), or those that even don't support ALSA, or
>     maybe to route audio from Jack to Bluetooth etc.
> 

I do occasionally run pipewire, and do so from its source tree by just 
calling `make run`.

Then I use the following script to launch applications that i want to 
test with pipewire:

```
#!/bin/bash
PW_SRC=$HOME/src/pipewire/
export SPA_PLUGIN_DIR=$PW_SRC/builddir/spa/plugins
export SPA_DATA_DIR=$PW_SRC/spa/plugins
export PIPEWIRE_MODULE_DIR=$PW_SRC/builddir/src/modules
export PIPEWIRE_CONFIG_DIR=$PW_SRC/builddir/src/daemon
export ACP_PATHS_DIR=$PW_SRC/spa/plugins/alsa/mixer/paths
export ACP_PROFILES_DIR=$PW_SRC/spa/plugins/alsa/mixer/profile-sets
export LD_LIBRARY_PATH=$PW_SRC/builddir/pipewire-jack/src/
export 
PATH=$PW_SRC/builddir/pipewire-jack/src/:$PW_SRC/builddir/src/tools:$PATH
exec "$@"
```

e.g pw-src-env pw-jack Ardour8

The downside compared to using the JACK/ALSA bridge is that a already 
running applications will not connect to pipewire after the fact.

Maybe you already knew this, if not I'll take 1/8th of your eternal 
admiration and gratitude :)


 > 4. All Jack ports created by PW should be permanent and exist
 >     as soon as PW is started, so they can be manually connected
 >     and remain connected even when not in active use.
 >
[...]
 > 7. I do not expect anything 'automatic' to happen when things
 >     are plugged in or out.


This is something where macOS' Coreaudio/MIDI shines. Unlike macOS 
Linux/ALSA has no persistent unique IDs for soundcards or MIDI devices. 
ALSA supports hotplug, and first come first server sequential numeric 
IDs. The best you^Wpipewire can do is keep track of cards by name.

So this is not something pipewire can reliably address, until ALSA get 
support to identify cards by vendor and serial-number, and provide a UUID.

Cheers!
robin

_______________________________________________
Linux-audio-dev mailing list -- linux-audio-dev-cunTk1MwBs/[email protected]
To unsubscribe send an email to linux-audio-dev-leave-cunTk1MwBs/[email protected]
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEwak9kdzQUxfAUWyqoJC84Cz1fwQFAma7fWkFAwAAAAAACgkQoJC84Cz1fwSl
6RAAjfG5RZ9+n3+ElSJg06Z32Wv1UQwNQhT6HJXVYpKXafg4jUs0sQ49TYPaA/PCVxz9w/Nit59c
aVmGSzMnqk/yK32Us9TjbOcpLFc8ZjLk1pcLQ6nihSA9rVKhts785V/RWLSGkaICQyQ1kreY3wCF
TwaN9IZKenhbWkEE5kFvnie3I9IgkGOmI9lYVeOYoCiISZjTLff6p97nWlfkq4tbBUu1YQ40NpzZ
GoPZbm8QpPVaDY+ie/F2zYztPvN803uO6QlsoTZyz4RxDwPLk1/NVFVqpkGhyiBt4lcjGeJALm15
SILZUuXFMi+i3ikN81CBo4hEecgIK2Tpi0KKe7f1Pn2Gb0dKyVrwWVgLHdyrz5YbmMXLOFWtSial
KFRqfmSB+d4KMRlii/Z6a5w4s2BVE/8syLrckeyNRij63w7ezXmQU00h9quhF2tZ6fHHY8TeAApH
dm0nNHaKSbE9f9ip8Uj4QCl9/oAsOmfQTZaANlyiTUYGTpWO56/6GTjTghzJQ6k6MIrSZ/hPRrWi
diCCGcWsPcoKEk/cz92KIoKQrx8dv7omLYLqejLO7WnBmXa4vg5dB3zn30IPNxTc99up1Sk2Uv8A
u9wzERSRr6daKk8Uo/G3numhZ+O1v48QcdtZyUCgKHK7Q+MkGmTC6egcJPh2VJQifqGEVoQ92WSF
V8A=
=pB/x
-----END PGP SIGNATURE-----