From aa63077eea9079418b12e35b98215ae31134da85 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 27 Nov 2020 17:16:57 +0100 Subject: [PATCH] docs: update README and INSTALL --- INSTALL.md | 53 ++++++++++++++++------------------------------------- README.md | 25 ++++++++++++++++++------- 2 files changed, 34 insertions(+), 44 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 7e9c5cf8a..628f6efa5 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -135,19 +135,12 @@ The provides pw-jack script uses LD_LIBRARY_PATH to set the library search path to these replacement libraries. This allows you to run jack apps on both the real JACK server or on PipeWire with the script. -It is also possible to completely replace the JACK libraries by making -a symlink in /usr/lib64/ as follows: +It is also possible to completely replace the JACK libraries by adding +a file `pipewire-jack-x86_64.conf` to `/etc/ld.so.conf.d/` with +contents like: ``` -/usr/lib64/libjacknet.so -> libjacknet.so.0.1.0 -/usr/lib64/libjacknet.so.0 -> libjacknet.so.0.1.0 -/usr/lib64/libjacknet.so.0.1.0 -> pipewire-0.3/jack/libjacknet.so.0 -/usr/lib64/libjackserver.so -> libjackserver.so.0.1.0 -/usr/lib64/libjackserver.so.0 -> libjackserver.so.0.1.0 -/usr/lib64/libjackserver.so.0.1.0 -> pipewire-0.3/jack/libjackserver.so.0 -/usr/lib64/libjack.so -> libjack.so.0.1.0 -/usr/lib64/libjack.so.0 -> libjack.so.0.1.0 -/usr/lib64/libjack.so.0.1.0 -> pipewire-0.3/jack/libjack.so.0 +/usr/lib64/pipewire-0.3/jack/ ``` Note that when JACK is replaced by PipeWire, the SPA JACK plugin (installed @@ -155,38 +148,24 @@ in /usr/lib64/spa-0.2/jack/libspa-jack.so) is not useful anymore and distributions should make them conflict. -### PulseAudio emulation +### PulseAudio replacement -PipeWire reimplements the 3 libraries that PulseAudio applications use to make -them run on top of PipeWire. +PipeWire reimplements the PulseAudio server protocol as a small service +that runs on top of PipeWire. -These libraries are found here: +The binary is normally placed here: ``` -/usr/lib64/pipewire-0.3/pulse/libpulse-mainloop-glib.so -> libpulse-mainloop-glib.so.0 -/usr/lib64/pipewire-0.3/pulse/libpulse-mainloop-glib.so.0 -> libpulse-mainloop-glib.so.0.304.0 -/usr/lib64/pipewire-0.3/pulse/libpulse-mainloop-glib.so.0.304.0 -/usr/lib64/pipewire-0.3/pulse/libpulse-simple.so -> libpulse-simple.so.0 -/usr/lib64/pipewire-0.3/pulse/libpulse-simple.so.0 -> libpulse-simple.so.0.304.0 -/usr/lib64/pipewire-0.3/pulse/libpulse-simple.so.0.304.0 -/usr/lib64/pipewire-0.3/pulse/libpulse.so -> libpulse.so.0 -/usr/lib64/pipewire-0.3/pulse/libpulse.so.0 -> libpulse.so.0.304.0 -/usr/lib64/pipewire-0.3/pulse/libpulse.so.0.304.0 +/usr/bin/pipewire-pulse ``` -The provides pw-pulse script uses LD_LIBRARY_PATH to set the library -search path to these replacement libraries. This allows you to run -PulseAudio apps on both the real PulseAudio server or on PipeWire -with the script. - -To replace the pulseaudio libraries completely symlinks need to be -made in /usr/lib64 like this: +The server can be started with provided systemd activation files or +from PipeWire itself. (See `/etc/pipewire/pipewire.conf`) ``` -/usr/lib64/libpulse-mainloop-glib.so -> libpulse-mainloop-glib.so.0 -/usr/lib64/libpulse-mainloop-glib.so.0 -> pipewire-0.3/pulse/libpulse-mainloop-glib.so.0.304.0 -/usr/lib64/libpulse-simple.so -> libpulse-simple.so.0 -/usr/lib64/libpulse-simple.so.0 -> pipewire-0.3/pulse/libpulse-simple.so.0.304.0 -/usr/lib64/libpulse.so -> libpulse.so.0 -/usr/lib64/libpulse.so.0 -> pipewire-0.3/pulse/libpulse.so.0.304.0 +systemctl --user stop pipewire-pulse.service +systemctl --user stop pipewire-pulse.socket ``` + +You can also start additional PulseAudio servers listening on other +sockets with the -a option. See `pipewire-pulse -h` for more info. diff --git a/README.md b/README.md index c07f9b035..ce9bd186b 100644 --- a/README.md +++ b/README.md @@ -75,15 +75,26 @@ effect and can be omitted. ### Running PulseAudio applications -Depending on how the system was configured, your can either run PipeWire and -PulseAudio side-by-side or have PipeWire take over the functionality of -PulseAudio completely. We don't recommend to completely replace PulseAudio -at this point. +PipeWire can run a PulseAudio compatible replacement server. You can't +use both servers at the same time. Usually you package manager will +make the server conflict so that you can only install one or the +other. -Use the `pw-pulse` script to launch a PulseAudio application on PipeWire, like: +PulseAudio application still use the regular PulseAudio client +libraries and you don't need to to anything else than change the +server implementation. + +A successful swap of the server can be verified by checking the +output of ``` -$ pw-pulse +pactl info +``` +It should include the string: +``` +... +Server Name: PulseAudio (on PipeWire 0.3.x) +... ``` ### Running ALSA applications @@ -145,7 +156,7 @@ $ pw-cli info 0 Find tutorials and design documentation [here](doc/index.md). -The autogenerated API docs are [here](https://docs.pipewire.org). +The (incomplete) autogenerated API docs are [here](https://docs.pipewire.org). ## Contributing