O Fedora 34 planeja usar o PipeWire para som em vez do PulseAudio, segundo um anúncio dos desenvolvedores desse sistema operacional Linux.
O PulseAudio é um servidor (ou sistema) de som usado por vários sistemas operacionais baseados em Linux por padrão. Ele é um software livre lançado sobre os termos da GNU Lesser General Public License.
Agora, os desenvolvedores do Fedora anunciaram recentemente que para a próxima versão do Fedora 34, uma grande mudança está agendada para todos os fluxos de áudio dos servidores de som PulseAudio e JACK para o PipeWire.
Fedora 34 planeja usar o PipeWire para som em vez do PulseAudio
O uso do PipeWire permite que você forneça recursos de processamento de áudio profissional em uma edição de desktop típica, elimine a fragmentação e unifique sua infraestrutura de áudio para diferentes aplicativos.
Atualmente, a estação de trabalho Fedora usa o processo de background PulseAudio para processamento de áudio, e os aplicativos usam a biblioteca cliente para interagir com este processo, mixar e gerenciar fluxos de áudio.
O processamento de áudio profissional usa o servidor de som JACK e a biblioteca cliente associada.
Em vez de PulseAudio e JACK, propõe-se usar o servidor de mídia PipeWire de próxima geração com uma camada de interoperabilidade que manterá todos os clientes e aplicativos PulseAudio e JACK existentes entregues em Flatpak em funcionamento.
Para clientes mais antigos que usam a API de baixo nível ALSA, um plugin ALSA será instalado que roteia fluxos de áudio diretamente para o PipeWire.
Todos os aplicativos baseados em PulseAudio e JACK poderão ser executados no PipeWire, sem a necessidade de instalar o PulseAudio e o JACK.
Esta proposta é substituir o daemon PulseAudio por uma implementação baseada em PipeWire funcional compatível.
Isso significa que todos os clientes existentes que usam a Biblioteca do Cliente PulseAudio continuarão a funcionar como antes, assim como os aplicativos enviados como Flatpak.
Todo o áudio PRO é controlado pela biblioteca cliente JACK, que se comunica com o servidor JACK.
Esta proposta irá instalar uma substituição de biblioteca cliente JACK que se comunica diretamente com o PipeWire. Todos os aplicativos de áudio PRO existentes funcionarão com o PipeWire.
Como um lembrete, o PipeWire estende os recursos do PulseAudio com streaming de vídeo, processamento de áudio de baixa latência e um novo modelo de segurança para streaming e controle de acesso ao dispositivo.
O PipeWire também oferece recursos para controlar fontes de vídeo, como dispositivos de captura de vídeo, webcams ou conteúdo de tela de saída de aplicativo.
O projeto é compatível com GNOME e já é amplamente usado no Fedora Linux para screencasting e compartilhamento de tela em ambientes baseados no Wayland.
O PipeWire também pode atuar como um servidor de som de baixa latência com funcionalidade que combina os recursos do PulseAudio e JACK, até mesmo para as necessidades de sistemas de processamento de som profissionais que o PulseAudio não poderia reivindicar.
Além disso, o PipeWire oferece um modelo de segurança aprimorado que permite o controle de acesso específico do dispositivo e do fluxo e facilita o roteamento de áudio e vídeo de e para contêineres isolados.
Características principais:
- Capture e reproduza áudio e vídeo com atraso mínimo.
- Ferramentas de processamento de áudio e vídeo em tempo real.
- Uma arquitetura multithread que permite que o conteúdo seja compartilhado entre vários aplicativos. A gestão e processamento de gráficos multimédia são efectuados em diferentes processos.
- Um modelo de processamento baseado em gráficos de nós de multimídia com suporte para loops de feedback e atualizações de gráficos atômicos.
- É permitido conectar drivers dentro do servidor e plug-ins externos.
- Interface eficiente para acessar streams de vídeo transferindo descritores de arquivo e acessando som por meio de buffers compartilhados.
- A capacidade de processar dados multimídia de qualquer processo.
- A presença de um plugin para GStreamer para simplificar a integração com aplicativos existentes.
- Suporte para ambientes sandbox e Flatpak.
- Suporte para plugins no formato SPA (Simple Plugin API) e possibilidade de criação de plugins que funcionam em tempo real.
- Sistema flexível para coordenar os formatos multimídia utilizados e alocar buffers.
- Usando um único processo em segundo plano para rotear áudio e vídeo. Capacidade de funcionar como um servidor de som, um hub para fornecer vídeo para aplicativos (por exemplo, para a API de screencast do gnome-shell) e um servidor para controlar o acesso a dispositivos de captura de vídeo de hardware.
Finalmente a mudança ainda não foi revisada pelo Comitê de Direção de Engenharia do Fedora (Fedora Engineering Steering Committee, ou FESCo), que é responsável pelo desenvolvimento técnico da distribuição Fedora.