Cómo instalar y configurar PipeWire en Linux

Pipewire Studio

Desde que apareció en 2017, PipeWire se vio a sí mismo como un competidor poderoso para reemplazar a PulseAudio, pero todavía tenía muchos problemas que resolver con su estabilidad. Ahora que ha ganado una fuerte reputación como un servicio de audio más establecido para Linux, muchos años después, los usuarios están empezando a preguntarse si la actualización a PipeWire realmente vale la pena. En este artículo, te daremos la información más actualizada sobre los méritos de PipeWire frente a PulseAudio y te mostraremos cómo instalarlo correctamente en tu sistema si decides hacerlo.

Tabla de Contenidos

  • ¿Qué es PipeWire?
  • Cómo instalar PipeWire
  • Preguntas frecuentes

¿Qué es PipeWire?

El audio en Linux siempre ha seguido una estructura en capas: instalas un controlador, hace que el dispositivo funcione, pero las aplicaciones aún quieren comunicarse con él a su manera. Para esto, un servidor actúa como intermediario en el espacio del usuario para “hablar” con el kernel, que luego se comunica con el hardware de la computadora.

Pipewire Control

La Arquitectura de Sonido Avanzado de Linux (ALSA) sirve como un buen y simple intermediario entre tus aplicaciones y tu kernel, pero si deseas más sofisticación, necesitas algo llamado un servidor de audio.

Pipewire Alsamixer

Tanto PulseAudio como PipeWire añaden una capa encima de lo que hace tu kernel para introducir una serie de características. Permiten que múltiples aplicaciones transmitan audio, proporcionan capacidades de control de mezclador detalladas e incluso permiten el post-procesamiento de flujos de audio sobre la marcha de maneras que rivalizan o incluso superan las capacidades de la suite de aplicaciones que los sistemas operativos comerciales proporcionarán.

La diferencia entre los dos es que la capa de PipeWire agrega otras características como la gestión de transmisión de video mientras también soluciona algunos de los problemas que hacían que PulseAudio fuera desagradable para los usuarios más nuevos.

Desde su introducción en 2017, los problemas de estabilidad de PipeWire han desaparecido progresivamente. Ahora es un servidor de sonido predeterminado para varias distribuciones, incluyendo Fedora, Manjaro basado en Arch, EndeavourOS, Garuda e incluso se introdujo en Ubuntu 22.10.

Pipewire Eq

Para la mayoría de las personas, el cambio fue tan fluido que solo lo han sentido como su capacidad de usar audio se expandió en sus sistemas, lo que es un testimonio de su reputación establecida como un servicio poderoso que sirve como una actualización directa al envejecido marco de PulseAudio.

Aunque es fácil pensar que actualizar a PipeWire es una decisión evidente, debemos dar un paso atrás por un segundo y explorar la sutileza detrás de la decisión para que puedas tener una imagen más clara de lo que estás firmando si das ese paso:

Pros

  • PipeWire contiene un enorme rango de soporte para varios dispositivos de audio Bluetooth que anteriormente no funcionaban completamente bajo PulseAudio. Si tu hardware Bluetooth no está funcionando correctamente con tu distribución, hacer el cambio podría ayudar.
  • Un buen número de distribuciones ya han comenzado a incluir PipeWire como un servicio de audio predeterminado, disfrutando de un gran apoyo en los repositorios oficiales de prácticamente cualquier cosa que encuentres.
  • PipeWire maneja la latencia de manera mucho más eficiente al transmitir audio a múltiples dispositivos al mismo tiempo.
  • Los post-procesadores como EasyEffects (anteriormente PulseEffects) han dejado de dar soporte a PulseAudio en sus lanzamientos o planean hacerlo pronto, haciendo necesario mudarse a PipeWire para mantener la flexibilidad que esas aplicaciones te ofrecen.
  • Las características son más amigables para las personas que quieren entrar en configuraciones y aplicaciones de audio más profesionales.
  • Soporta la tubería para flujos de video, permitiendo que aplicaciones de compartir pantalla disfruten de un entorno más robusto y seguro.
  • La suite de servicios de PipeWire viene con pipewire-pulse, extendiendo el soporte para aplicaciones que usan la API de PulseAudio y la gestión de audio.
  • Es menos propenso a crujidos bajo una alta carga de CPU.

Contras

  • Las configuraciones no siempre se traducen directamente desde PulseAudio. Tendrás que aprender un esquema de configuración completamente nuevo.
  • PipeWire no tiene ninguna lógica de conexión intuitiva, lo que significa que requiere otro servicio que escuche la salida de audio y la dirija adecuadamente. Esto no es necesariamente una desventaja, pero podría ser molesto porque requiere que también aprendas a configurar el gestor de sesiones para realizar ajustes avanzados.
  • Aunque esto está cambiando mientras se escribe este artículo, la documentación y el apoyo de las comunidades todavía no son tan amplios para PipeWire como lo son para PulseAudio.

Consejo: Descubre cómo puedes transmitir audio a otro dispositivo con PulseAudio.

Cómo instalar PipeWire

Si deseas dar el salto e instalar PipeWire en tu sistema, primero debes asegurarte de que no estás ejecutándolo ya.

Escribe pactl info en una terminal y ve qué te muestra bajo “Nombre del servidor”. Si te da “on PipeWire” entre paréntesis, ya estás ejecutando PipeWire.

Pipewire Servercheck

Si la terminal solo te muestra “PulseAudio” sin nada que lo siga, tu sistema no está ejecutando PipeWire.

1. Haz una copia de seguridad de tu sistema

Pipewire Backup

¡Asegúrate de tener una forma de regresar si algo sale mal! Si no has creado una copia de seguridad de tu sistema, hazlo ahora antes de continuar. La forma más fácil de hacer esto es usar Timeshift, pero puedes usar cualquier otra utilidad con la que estés familiarizado que cree una copia de seguridad completa de los archivos de tu sistema.

2. Instalando el servicio

Cada instalación de PipeWire comienza con el servicio base. Hay una posibilidad de que esto ya se haya instalado con tu distribución, pero por si acaso no lo está, puedes instalarlo con los siguientes comandos.

En sistemas basados en Arch:

sudo pacman -S pipewire pipewire-alsa

En sistemas basados en Ubuntu/Debian:

sudo apt install pipewire

Bueno saber: Aprende todo lo que necesitas saber sobre los comandos APT.

3. Instalando el gestor de sesiones

PipeWire no tiene su propia lógica de conexión, así que debes instalar un gestor de sesiones. WirePlumber es uno que ofrece una configuración más granular así como plugins extra que pueden mejorar tu experiencia:

En sistemas basados en Arch:

sudo pacman -S wireplumber

En sistemas basados en Ubuntu/Debian:

sudo apt install wireplumber

Si prefieres una versión más simple o los repositorios oficiales de tu distribución no tienen WirePlumber, puedes simplemente instalar PipeWire Media Session:

En sistemas basados en Arch:

sudo pacman -S pipewire-media-session

En sistemas basados en Ubuntu/Debian:

sudo apt install pipewire-media-session

4. Instalando el daemon de PulseAudio

Dado que una gran proporción de las aplicaciones de tu sistema aún envían llamadas a PulseAudio, si deseas que tu audio funcione correctamente, tendrás que instalar el daemon de PipeWire que escucha las cosas de PulseAudio.

En sistemas basados en Arch:

sudo pacman -S pipewire-pulse

En sistemas basados en Ubuntu/Debian:

sudo apt install pipewire-pulse

5. Eliminando rastros de PulseAudio

Si tuviste que confirmar la eliminación de PulseAudio debido a un conflicto con algo más que estabas instalando durante este proceso (por lo general pipewire-pulse), entonces puedes omitir este paso.

De lo contrario, es importante ahora eliminar PulseAudio de tu sistema para que no intente consultarlo.

En sistemas basados en Arch:

sudo pacman -Rns pulseaudio

En sistemas basados en Ubuntu/Debian:

sudo apt remove pulseaudio

6. Preparando los servicios

Con todos los paquetes que has instalado y desinstalado, es hora de poner PipeWire en marcha.

Primero, elimina los restos de los servicios de pulseaudio:

systemctl --user --now disable pulseaudio.service pulseaudio.socket  
systemctl --user mask pulseaudio

Habilita los servicios de PipeWire. Si instalaste WirePlumber:

systemctl --user --now enable pipewire pipewire-pulse wireplumber

Si instalaste PipeWire Media Session, usa:

systemctl --user --now enable pipewire pipewire-pulse pipewire-media-session

¡PipeWire debería funcionar perfectamente después de reiniciar tu sistema!

Consejo: Si tienes un problema sin sonido en tu sistema Linux, aquí te mostramos cómo solucionarlo.

Preguntas frecuentes

¿Puedo usar solo ALSA?

Puedes definitivamente hacer funcionar solo ALSA en tu sistema (especialmente si usas un gestor de ventanas en lugar de un entorno de escritorio), pero probablemente no lo disfrutarás. ALSA solo puede reproducir un flujo de audio a la vez. Aunque esto no suena mal, significa que tu sistema podría comportarse de manera impredecible cuando un sonido de notificación intente reproducirse mientras estás viendo un video. Usar un servidor de sonido encima de ALSA es más conveniente, pero definitivamente implica un pequeño sobrecarga de memoria.

¿Se puede instalar PipeWire en Linux Mint Cinnamon?

¡Absolutamente! Cinnamon tiene un momento un poco aterrador en el que no te muestra el widget de audio cuando completas una instalación adecuada de PipeWire, pero reaparecerá en el momento en que reinicies si seguiste estas instrucciones al pie de la letra. Solo asegúrate de eliminar los restos de PulseAudio como se describe en las instrucciones y estarás bien.

¿Cómo resuelvo problemas de audio después de dormir?

Si el audio de tu computadora deja de funcionar cuando la despiertas del sueño, es probable que ALSA no se haya inicializado correctamente, lo cual ocurrirá ocasionalmente. Para situaciones como estas, simplemente dale manualmente un empujón a ALSA con: alsactl init

Una vez hecho esto, ¡todos tus problemas de audio deberían desaparecer!