docs: update README and INSTALL

This commit is contained in:
Wim Taymans 2020-11-27 17:16:57 +01:00
parent 6e0fed37b4
commit aa63077eea
2 changed files with 34 additions and 44 deletions

View file

@ -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.

View file

@ -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 <appname>
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