diff --git a/INSTALL.md b/INSTALL.md index 0ce80ecde..357742b8f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -113,7 +113,75 @@ a regular alsa device for playback and record. ### JACK emulation +PipeWire reimplements the 3 libraries that JACK applications use to make +them run on top of PipeWire. + +These libraries are found here: + +``` +/usr/lib64/pipewire-0.3/jack/libjacknet.so -> libjacknet.so.0 +/usr/lib64/pipewire-0.3/jack/libjacknet.so.0 -> libjacknet.so.0.304.0 +/usr/lib64/pipewire-0.3/jack/libjacknet.so.0.304.0 +/usr/lib64/pipewire-0.3/jack/libjackserver.so -> libjackserver.so.0 +/usr/lib64/pipewire-0.3/jack/libjackserver.so.0 -> libjackserver.so.0.304.0 +/usr/lib64/pipewire-0.3/jack/libjackserver.so.0.304.0 +/usr/lib64/pipewire-0.3/jack/libjack.so -> libjack.so.0 +/usr/lib64/pipewire-0.3/jack/libjack.so.0 -> libjack.so.0.304.0 +/usr/lib64/pipewire-0.3/jack/libjack.so.0.304.0 + +``` + +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: + +``` +/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 +``` ### PulseAudio emulation +PipeWire reimplements the 3 libraries that PulseAudio applications use to make +them run on top of PipeWire. +These libraries are found 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 +``` + +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: + +``` +/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 +```