Con el lanzamiento de Ubuntu 24.04 LTS, PipeWire ya se ha asentado definitivamente como el principal servidor de audio de Linux, sin embargo, es importante tener en cuenta que esta tecnología no es solo un servidor de audio, sino que más bien es un servidor de multimedia capaz de transmitir tanto audio como vídeo.
Dicho de otra forma un poco más llana, PipeWire no solo aspira a suceder a PulseAudio y JACK, sino que también quiere sustituir a Video4Linux (V4L2) como backend para soportar dispositivos de cámara como webcams y capturadoras, además de ser la tecnología que se encarga de proporcionar el soporte de screencasting en las sesiones de Wayland. Con el audio y el soporte de screencasting consolidados, ahora el principal frente en el que PipeWire quiere ganar terreno es el soporte de dispositivos de cámara, y es aquí donde Fedora 41 puede dar un paso importante.
Jan Grulich, empleado de Red Hat, ha anunciado a través de su blog personal que Fedora 41 soportará las cámaras a través de PipeWire en Firefox, sustituyendo a V4L para esa tarea. No es la primera vez que la distribución hace algo semejante, ya que en el año 2019 se adelantó al resto al hacer que Firefox funcionara de forma nativa en Wayland por defecto, cosa que no llegó a la rama oficial del navegador hasta el año 2023.
Grulich cuenta que ha estado trabajando duro para solucionar las brechas que todavía hay entre los backends de PipeWire y V4L2 y que en los últimos tiempos ha habido bastantes avances para que el procesador de señal de imagen (ISP) de libcamera funcione con PipeWire en WebRTC. El desarrollador cree que el soporte ya está lo suficientemente maduro como para implementarlo en la rama estable de Fedora y se trata de un esfuerzo, entre otras cosas, para integrar el soporte de las cámaras IPU6 de Intel, esas que se mostraron como incompatibles con Linux hace dos años.
Si se quiere habilitar el soporte de PipeWire para las cámaras en Firefox, cosa que posiblemente también tengan que hacer los usuarios que actualicen desde una versión anterior de Fedora a la 41, en primer lugar hay que establecer el valor true
en la opción media.webrtc.camera.allow-pipewire
dentro de la sección about:config
. Después hay que instalar el soporte en el sistema, cosa que se hace instalando los paquetes de libcamera y el plugin que tiene este para PipeWire en caso de no estar presentes.
En Fedora la instalación se hace de la siguiente manera:
sudo dnf install libcamera pipewire-plugin-libcamera
En el siguiente paso hay que introducir lo siguiente en el fichero ~/.config/wireplumber/wireplumber.conf.d/disable-v4l2.conf
, cosa que puede requerir previamente de la creación de los subdirectorios wireplumber
y wireplumber.conf.d
, con el segundo dentro del primero, en el interior de ~/.config/
:
wireplumber.profiles = { main = { monitor.v4l2 = disabled } }
El último paso consiste en reiniciar PipeWire y Wireplumber a nivel del usuario:
systemctl --user stop wireplumber
systemctl --user stop pipewire
systemctl --user start wireplumber
Tras realizar todo lo expuesto, el usuario ya solo debería ver los nodos de libcamera, cosa que puede ser comprobada con el comando wpctl status
. Obviamente, se supone que todo esto funcionará out of the box en Fedora 41.
Chromium también dispone de soporte a través de la flag “PipeWire Camera support” que se encuentra dentro de la sección chrome://flags
, pero este se encuentra roto en la versión 127 del navegador y se espera que esté corregido para la versión 128. Esto se extiende al extenso catálogo de navegadores que se basan en la tecnología originaria de Google.
Veremos qué recibimiento tiene el soporte de cámara a través de PipeWire en Firefox cuando Fedora 41 vea oficialmente la luz, si es que llega al final. Viendo el enfoque de la distribución, lo lógico es pensar que el funcionamiento no será perfecto del todo, pero alguien tiene que dar el primer paso si se quiere consolidar a PipeWire como el marco predeterminado para gestionar los dispositivos de cámara en Linux.