PipeWire como reemplazo de PulseAudio

PipeWire es un servidor que gestiona transmisiones de audio y vídeo. Es un sustituto útil de PulseAudio y Jack. PipeWire proporciona un motor de baja latencia para dispositivos de audio y vídeo y mejora la gestión de dichas transmisiones mediante el uso del kernel estándar de Linux-libre, por lo que la mayoría de los usuarios ya no necesitarán un kernel en tiempo real. PipeWire está disponible en el Archivo de paquetes de Trisquel y se puede instalar opcionalmente.

Características principales

  • Captura y reproducción de audio y video con mínima latencia
  • Procesamiento multimedia en tiempo real de audio y video
  • Arquitectura multiproceso que permite a las aplicaciones compartir contenido multimedia
  • Compatibilidad fluida con aplicaciones PulseAudio, JACK, ALSA y GStreamer
  • Compatibilidad con aplicaciones en entorno aislado. Consulta Flatpak para más información.

Para ver el estado del servicio PipeWire, abre una terminal y ejecuta:

systemctl --user status pipewire pipewire-session-manager

Instalación de PipeWire

Primero, instala las bibliotecas cliente ejecutando:

sudo apt install pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack
Se recomienda instalar WirePlumber al usar PipeWire como servidor de sonido del sistema. WirePlumber es un gestor de sesiones/políticas modular más avanzado para PipeWire. El paquete 'wireplumber' contiene el demonio WirePlumber y las utilidades de línea de comandos.
sudo apt install wireplumber pipewire-media-session-
Ten en cuenta que hay un '-' al final de la línea, que indica a apt que elimine el paquete 'pipewire-media-session'.

Configuración de clientes ALSA y JACK

Si solo desea reemplazar PulseAudio con Pipewire, habilite el servicio WirePlumber y reinicie, como se describe a continuación.

Si desea configurar el cliente ALSA con PipeWire, ejecute:

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
Para configurar el cliente JACK con PipeWire, ejecute:
sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/
Actualice la caché de la biblioteca compartida con el siguiente comando:
sudo ldconfig
Elimine 'pulseaudio-module-bluetooth' para habilitar la compatibilidad con Bluetooth para PipeWire.
sudo apt remove pulseaudio-module-bluetooth

Habilitar la sesión multimedia de WirePlumb

Finalmente, habilite WirePlumb ejecutando:

systemctl --user --now enable wireplumber.service
¡Y reinicia!

Tras reiniciar, comprueba la salida de

pactl info
Debería contener una línea con 'PulseAudio (en PipeWire x.x.x)'

Problemas conocidos

El paquete pulseaudio-module-bluetooth forma parte de trisquel-recommended, que se eliminará si usas Pipewire como se describe en esta wiki. Si reinstalas trisquel-recommended, se instalará de nuevo pulseaudio-module-bluetooth. Esto está causando problemas de reproducción. Elimina pulseaudio-module-bluetooth de nuevo ejecutando:

sudo apt remove pulseaudio-module-bluetooth
¡Y reinicia!

Deshacer cambios

Para restaurar los cambios y usar PulseAudio como antes, primero elimine las bibliotecas cliente ejecutando:

sudo apt remove pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack
Elimine wireplumber y vuelva a instalar el paquete de sesión multimedia anterior.
sudo apt install pipewire-media-session wireplumber-
Observe el símbolo "-", como se describió anteriormente.

Finalmente, vuelva a habilitar el servicio pipewire-media-session ejecutando estos comandos:
rm -f ~/.config/systemd/user/pipewire-session-manager.service
systemctl --user --now enable pipewire-media-session
Y deshabilite el servicio pipewire-pulse ejecutando:
systemctl --user --now disabled pipewire-pulse.service pipewire-pulse.socket
Reinstale 'pulseaudio-module-bluetooth' ejecutando:
sudo apt install pulseaudio-module-bluetooth
Y vuelva a habilitar el servicio pulseaudio original ejecutando:
systemctl --user --now enable pulseaudio.service pulseaudio.socket
Puede comprobar el resultado ejecutando:
pactl info

Revisiones

04/01/2025 - 13:49
Carlos segura