Cómo instalar el último Pipewire en Ubuntu 20.04 LTS, 21.04, y basadas, y ponerlo como server de audio por defecto

La fiebre del nuevo servidor de audio profesional para Linux está llegando a muchas distribuciones. La que ya no lo ofrece por defecto, su comunidad, se da a la tarea hacer lo posible para poner Pipewire en su distro en lugar de Pulseaudio.

Y es que son muchas las ventajas de Pipewire respecto a lo que ya teníamos, y esto no ha hecho más que empezar.

Sois muchos los que me habéis pedido un tutto de como tenerlo en Ubuntu o basadas al verme hablar tanto de Pipewire en Fedora 34, y aunque no tenía Ubuntu lo he instalado primero en una máquina virtual y luego en un PC para investigar y hacer las pruebas correspondientes, vía ensayo y error, y así poder ver si funciona y traerlo como tutorial a este blog.

Notas y avisos

  • 1- El tutto lo he realizado en una instalación nueva, en limpio, de Ubuntu 20.04 LTS (aka 20.04.2) aunque también debería ser compatible con Ubuntu 21.04 y basadas en estas cómo Linux Mint y KDE neon, por ejemplo. Nota: En KDE neon y distros KDE parece que hay algunos errores, Pipewire parece pensado únicamente para Gnome, de hecho está desarrollado por Red Hat, Fedora, Gnome. En este caso habrá que esperar que KDE Plasma le de mejor soporte a Pipewire.
  • 2- Si ya tenías una instalación completa de JACK, al cual lo tienes por defecto como servidor de audio, este no es tu tutorial pues primero deberías eliminar a JACK como predeterminado.

  • 3- No me hago responsable si en tu caso el tutto sale mal y te quedas sin audio, a mi me ha funcionado como verás. La decisión de llevar el tutto a cabo siempre corre a cargo del usuario final (es tu equipo y tu máquina)

  • 4- Si tienes dudas siempre es mejor probar esto en una máquina virtual y luego actual según los resultados.

  • 5- No he instalado nada más en Ubuntu que lo que verás en el tutto, como hardware de audio he usado una interfaz Focusrite Scarlett 2i2 segunda generación.

Al lío que se nos va el vino en catas

En una instalación limpia de esta versión de Ubuntu, por defecto no viene instalado ningún paquete de Pipewire, cómo bien podéis ver en la siguiente imagen.

Esta es una versión más vieja de Pipewire y no instalaremos nada de ahí. La actual versión a día de hoy es la 0.3.27, versión más actualizada con sus correspondientes mejoras y la cual nos ahorra algunos pasos.

PPA para Ubuntu PipeWire Upstream

Para estar al día usaremos el siguiente PPA para Ubuntu PipeWire Upstream by SOURAV DAS. Agregarlo es bien fácil, como ya sabemos.

En una terminal:

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y

Acto seguido refrescamos repositorios con:

sudo apt update

Instalamos Pipewire más los convenientes plugins y librerías para GStreamer 1.0, bluetooth, y clientes Jack.

sudo apt install pipewire gstreamer1.0-pipewire libspa-0.2-bluetooth libspa-0.2-jack pipewire-audio-client-libraries

Hablando de convenientes, también sería adecuado instalar lo siguiente.

sudo apt install pipewire-locales pipewire-tests

Durante este proceso de instalación y configuración se nos creará todo lo necesario.

Ya tenemos instalada la última versión con ademas todas sus dependencias.

La instalación de esta última versión nos ahorra tener que crear algunos archivos necesarios en /etc/pipewire/media-session.d/ pues ya los crea en el proceso para Pulseaudio, Alsa y Jack.

Deshabilitando Pulseaudio y habilitando Pipewire

Aquí es donde he probado muchas cosas de varios sitios, que suele variar entre ellas en pequeños detalles. No es necesario desinstalar Pulseaudio, basta con deshabilitar sus servicios y habilitar Pipewire que además nos proporcionará sus archivos de configuración.

Desde una terminal:

sudo systemctl disable --global pulseaudio
sudo systemctl enable --global pipewire-pulse

NOTA: Tras esto es necesario reiniciar.

Una vez reiniciado ya tendríamos que tener Pipeware activo y funcionando, podemos comprobarlo con.

systemctl --user status pipewire.service

Instalando Carla, herramienta imprescindible para crear nuestras conexiones virtuales de audio.

Una vez tengamos Pipewire instalado y activado ya podemos usar nuestra distro con total normalidad, simplemente tenemos que elegir nuestro hardware de audio en las preferencias o configuración del escritorio de nuestra distro.

Pero si queremos ir un paso más allá para trabajar con el audio de manera más profesional, si por ejemplo nos dedicamos a la música o al podcasting, podemos instalar Carla para crear nuestras conexiones virtuales y enrutar audio entre aplicaciones o entre hardware y aplicaciones.

Instalamos Carla con:

sudo apt install carla

IMPORTANTE: Para que Carla nos muestre la conexiones debemos configurarla de la siguiente manera.

En Engine elegir, Audio driver – JACK, y en Process mode – Single Client o Multiple Clients.

Tras esto, cerrar y abrir de nuevo Carla.

Ahora Carla nos debería reconocer por su nombre nuestro hardware de audio y aplicaciones compatibles. Algunas nos aparecerán activas según emitan sonido, entrante o saliente.

Y con esto ya estaría si todo ha ido bien, ya tendríamos Pipewire corriendo como predeterminado en nuestro Ubuntu y gracias al PPA siempre estaremos en la última versión. Para afinar más los archivos de configuración siempre podemos ir a la wiki de Pipewire y ver mi vídeo correspondiente.

Apuntes finales y posible variaciones (opcional solo si es necesario)

Según la wiki de Debian hay que crear un archivo llamado with-alsa en el directorio /etc/pipewire/media-session.d/, de hecho ese archivo lo tengo en mi Fedora 34, pero he visto que en Ubuntu funciona correctamente sin eso y si lo creo veo algún error de alsa en la terminal.

Si hiciera falta podemos crearlo con:

sudo touch /etc/pipewire/media-session.d/with-alsa

Otros archivos que hay que copiar a ciertos directorios ya estaban en su sitio y no he tenido que hacerlo. Hay que tener en cuenta que las wikis y tutoriales de webs y blogs no están actualizadas para las nuevas versiones de Pipewire.

Respecto a deshabilitar vía systemd los servicios de Pulseaudio y habilitar los de Pipewire, en otros sitios lo indican de otra manera. De no funcionarnos la forma que dejé arriba podemos probar la siguiente.

Desde la terminal como usuario normal, no root ni sudo.

systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user --now enable pipewire pipewire-pulse

Y para que esto funcione, seguir con lo siguiente.

systemctl --user mask pulseaudio
systemctl --user restart pipewire pipewire-pulse

NOTA: Vuelvo a repetir que esto puede variar según la versión de Pipewire y puede no se necesario sin funciona con lo de más arriba.

En mi caso he ido probando muchas variantes hasta que me ha funcionado una.

Muchos de los comandos expuestos igual sirven para Debian. En los créditos del cierre del post tenéis el tutto para Pipewire en Debian usando el PPA.

Créditos y referencias

Todo lo aquí expuesto es una mezcla de los siguientes sitios.

Espero les sea de utilidad.

Continuamos en línea…

ACTUALIZACIONES

Aquí iré dejando actualizaciones y reportes sobre el funcionamiento del tutorial.

Me comentan por Twitter que en Ubuntu sin problemas.

En KDE neon parece que hay algún contratiempo. Pipewire parece hecho solo para Gnome.

https://twitter.com/alejandro97rh/status/1391468699631210499?s=20

Una respuesta a “Cómo instalar el último Pipewire en Ubuntu 20.04 LTS, 21.04, y basadas, y ponerlo como server de audio por defecto

Los comentarios están cerrados.

Blog de WordPress.com.

Subir ↑