PipeWire: Difference between revisions

imported>Tobias.bora
m forgot to remove ==
imported>Fufexan
Reword + correct grammar + remove verbal redundancies + relocate Troubleshooting section
Line 80: Line 80:
==Graphical tools==
==Graphical tools==


At the end, all protocols (pulseaudio/jack) are turned into pipewire protocol and are managed via the pipewire daemon (so some applications can be managed by both pulseaudio and jack applications). For that reason, all graphical tools used for the pulseaudio or jack protocol can be used:
All protocols (Pulseaudio/JACK) are now talking to the PipeWire protocol and are managed by the PipeWire daemon (therefore, applications can be managed by both Pulseaudio and JACK tools). For that reason, all graphical tools used for these protocols can be used:


* pavucontrol: very complete, can control the volume (also possible to do in on a per-app basis), the default outputs/inputs, the different profiles (for HDMI outputs/bluetooth devices), route each application to a different input/output...
* pavucontrol: controls the volume (per-sink and per-app basis), the default outputs/inputs, the different profiles (for HDMI outputs/bluetooth devices), routes each application to a different input/output, etc.
* plasma-pa: a plasma applet to change volume directly from the systray. Also deals with volume keys.
* plasma-pa: a Plasma applet to change volume directly from the systray. Also deals with volume keys.
* qjackctl: with jack emulation, patchbay (to connect applications together). Note that Jack does not provide any way to change the volume of a single application. In pipewire, use pulseaudio tools to change volume.
* qjackctl: with JACK emulation, provides a patchbay (to connect applications together). Note that JACK does not provide any way to change the volume of a single application; use Pulseaudio tools for that purpose.
* carla: with jack emulation, patchbay (make sure to go to "Patchbay" tab and check "Canvas > Show External")  
* carla: with JACK emulation, provides a patchbay (make sure to go to "Patchbay" tab and check "Canvas > Show External").
* catia/patchage: with jack emulation, patchbay (similar to qjackctl and carla)
* catia/patchage: similar to qjackctl and carla.
* [https://gitlab.freedesktop.org/ryuukyu/helvum/ Helvum] GTK-based patchbay for pipewire (do not use jack or pulseaudio). Volume control is planned for later
* [https://gitlab.freedesktop.org/ryuukyu/helvum/ Helvum]: GTK-based patchbay for PipeWire (uses the PipeWire protocol). Volume control is planned for later.
 
==Troubleshot==
 
See also [https://github.com/NixOS/nixpkgs/issues/102547 this thread].
 
===Volume keys does not work in KDE, and sound applet is gone===
 
If volume keys does not work in KDE and/or if you don't have the sound applet, make sure to install `plasma-pa` (you may need to restart the session for it to apply). It is now added automatically since [https://github.com/NixOS/nixpkgs/pull/123211 this PR (22/05/2021)].
 
===pactl does not work===
 
I you want to use some pulseaudio commands like <code>pactl</code>, you can safely install (either systemwide or in a nix-shell) the `pavucontrol` package (do not configure it as a service: the package alone will not start it automatically, which avoids conflicts with pipewire). You may also be interested by the pipewire command line <code>pw-cli</code>.


==Advanced Configuration==
==Advanced Configuration==
Line 282: Line 270:
$ pw-dump | grep node.name | grep alsa
$ pw-dump | grep node.name | grep alsa
</syntaxHighlight>
</syntaxHighlight>
==Troubleshooting==
===Volume keys do not work in KDE, and sound applet is gone===
If volume keys do not work in KDE and/or you don't have the sound applet, make sure to install `plasma-pa` (you may need to restart the session for it to apply). Now added automatically thanks to [https://github.com/NixOS/nixpkgs/pull/123211 this PR (22/05/2021)].
===pactl not found===
I you want to use some Pulseaudio commands like <code>pactl</code>, you can safely install (either systemwide or in a nix-shell) the `pulseaudio` package (do not enable it in the system configuration). The <code>pactl</code> functionality is superseded in PipeWire with the native <code>pw-cli</code>, <code>pw-mon</code> and <code>pw-top</code> CLI tools.


==See also==
==See also==