While PipeWire is starting to establish itself as the new default Linux sound server, that’s not to say that PulseAudio is dead, since its version 16 has recently appeared to extend the support and correct some things.
We start with the part of the extension of the support mentioning that PulseAudio 16 is now capable of reporting the battery status of Bluetooth devices. This addition opens the door to reporting battery status via an app in case the desktop environment isn’t capable of doing so.
Another aspect that has been modified is the latency tunnel, which is now configurable through the module argument
latency_msec, while the tunnel modules can reconnect to a remote server in case the connection fails. Secondly, it is possible to compress the audio sent through the Real Time Transport Protocol (RTP) module using the Opus codec. For this it is necessary to pass
enable_opus=true as a module argument and only works in case PulseAudio is compiled with GStreamer enabled.
The ‘module-loopback’ module has improved latency stability and a new argument has been added,
adjust_threshold_usec, to adjust the controller algorithm. Another built-in change is the ability to set a value less than one second in
adjust_time and the ability to set a logging interval via the module argument
Another important addition to PulseAudio 16 is the ability to disable the mixdown channel of the combined output module (module-combine-sink), which can be useful when combining multiple sound cards or chips for surround sound output. In this way, in the case of combining three stereo sound chips, it is possible to map so that one chip performs the function of front left output and front right output, another one for rear left output and rear right output, and the third for the function of rear left output. center front.
the new option
--format of ‘pactl’ accepts the values
jsonso as of this release it supports dumps in JSON format so that they can be read more easily by other software.
To finish with the general news of PulseAudio 16, the JACK module (module-jackdbus-detect) has two new arguments,
source_enabledwhich can be used to disable the output (sink) or the input (source) in case you don’t want to have both features loaded.
Diving into specific devices, wireless and USB headsets EPOS/Sennheiser GSP 670 and SteelSeries GameDAC are capable of supporting mono and stereo output through PulseAudio, when before they could only do it the first way. Interestingly ALSA bare was able to support both audio output formats.
Sound input on the Texas Instruments PCM2902 chip has been fixed and native Komplete Audio 6 MK2 instrument profiles have been introduced, which are similar to Komplete Audio 6.
And so far the most interesting news of PulseAudio 16, or at least those that are aimed at the end user. All details of this release are available in the release notes posted on the project wiki, while the server can be installed by compiling its source code or waiting for it to arrive on a distribution like Arch Linux.
PulseAudio has had a history of going from bad to better, but it clearly took too long for it to establish itself as a good alternative to using bare ALSA. For its part, PipeWire, although it is still a bit green, has started off on a much better footing and aims to be the default sound server for Ubuntu 24.04 LTS, so once Canonical finishes making the leap, PulseAudio will take over. can be considered sentenced, despite the fact that its development is possibly still active for those dates.
It’s important to put attention on ALSA is part of the Linux kernel and is the component in charge of supplying the firmware that allows the sound chips to work, so both PulseAudio and PipeWire are forced to rely on ALSA to be able to emit and capture sound.