Ubuntu 22.10 will move to audio processing with PipeWire instead of PulseAudio

The Ubuntu 22.10 release development repository has moved to use the default PipeWire media server for audio processing. PulseAudio-related packages have been removed from the desktop and desktop-minimal packages, and for compatibility, instead of libraries for interacting with PulseAudio, a pipewire-pulse layer running on top of PipeWire has been added, which allows you to keep all existing PulseAudio clients working.

Heather Ellsworth of Canonical has confirmed the decision to fully migrate to PipeWire in Ubuntu 22.10. It is noted that in Ubuntu 22.02, both servers were used in the distribution - PipeWire was used to process video when recording screencasts and providing access to the screen, but the sound continued to be processed using PulseAudio. In Ubuntu 22.10, only PipeWire will remain. Two years ago, a similar change was already implemented in the Fedora 34 distribution, which allowed us to provide professional audio processing capabilities, get rid of fragmentation and unify the audio infrastructure for different applications.

PipeWire offers an advanced security model that allows you to manage access on a per-device and per-stream basis, making it easy to stream audio and video from and to isolated containers. PipeWire can process any media streams and is able to mix and redirect not only audio streams, but also video streams, as well as control video sources (video capture devices, web cameras, or screen content displayed by applications). PipeWire can also act as a low-latency audio server and provide functionality that combines the power of PulseAudio and JACK, including taking into account the needs of professional audio processing systems, which PulseAudio could not claim.

Key features:

  • Capture and playback audio and video with minimal delays;
  • Tools for processing video and sound in real time;
  • Multi-process architecture that allows sharing content of several applications;
  • Processing model based on a graph of multimedia nodes with support for feedback loops and atomic updates of the graph. It is allowed to connect handlers both inside the server and external plugins;
  • Efficient interface for accessing video streams via file descriptors and accessing audio via shared ringbuffer;
  • Ability to process multimedia data from any processes;
  • The presence of a plugin for GStreamer to simplify integration with existing applications;
  • Support for isolated environments and Flatpak;
  • Support for plugins in the SPA format (Simple Plugin API) and the ability to create plugins that work in hard real time;
  • Flexible system for negotiating used multimedia formats and buffer allocation;
  • Using a single background process to route audio and video. Ability to work as a sound server, a hub for providing video to applications (for example, for the gnome-shell screencast API) and a server for controlling access to video capture hardware devices.
  • Source: opennet.ru

Add a comment