Como Instalar e Configurar o PipeWire no Linux

Pipewire Studio

Desde que surgiu em 2017, o PipeWire se apresentou como um forte concorrente para substituir o PulseAudio, mas ainda tinha muitos problemas de estabilidade a resolver. Agora que ganhou uma forte reputação como um serviço de áudio mais estabelecido para Linux muitos anos depois, os usuários estão curiosos se a atualização para o PipeWire realmente vale a pena. Neste artigo, forneceremos as informações mais atualizadas sobre os méritos do PipeWire em comparação com o PulseAudio e mostraremos como instalá-lo corretamente em seu sistema, caso decida fazê-lo.

Tabela de Conteúdos

  • O que é PipeWire?
  • Como instalar o PipeWire
  • Perguntas Frequentes

O que é PipeWire?

O áudio no Linux sempre seguiu uma estrutura em camadas: você instala um driver, ele faz o dispositivo funcionar, mas os aplicativos ainda querem se comunicar com ele de suas próprias maneiras. Para isso, um servidor atua como um intermediário no espaço do usuário para “conversar” com o kernel, que então se comunica com o hardware do computador.

Pipewire Control

A Advanced Linux Sound Architecture (ALSA) serve como um bom e simples intermediário entre suas aplicações e seu kernel, mas se você deseja mais sofisticação, precisa de algo chamado servidor de áudio.

Pipewire Alsamixer

Tanto o PulseAudio quanto o PipeWire adicionam uma camada sobre o que o seu kernel faz para introduzir uma série de recursos. Eles permitem que vários aplicativos transmitam áudio, fornecem capacidades detalhadas de controle de mixer e até permitem o pós-processamento de streams de áudio em tempo real de maneiras que rivalizam ou mesmo superam as capacidades do conjunto de aplicativos que sistemas operacionais comerciais oferecem.

A diferença entre os dois é que a camada do PipeWire adiciona outros recursos, como o gerenciamento de streaming de vídeo, enquanto elimina alguns dos problemas que tornavam o PulseAudio desagradável para usuários mais novos.

Desde sua introdução em 2017, os problemas de estabilidade do PipeWire desapareceram gradualmente. Ele agora é um servidor de som padrão para várias distribuições, incluindo Fedora, Manjaro baseado em Arch, EndeavourOS, Garuda, e até foi introduzido no Ubuntu 22.10.

Pipewire Eq

Para a maioria das pessoas, a mudança foi tão suave que elas só sentiram isso como uma expansão de sua capacidade de usar áudio em seus sistemas, o que é um testemunho da sua reputação consolidada como um serviço poderoso que serve como uma atualização direta para a estrutura de PulseAudio em envelhecimento.

Embora seja fácil pensar que a atualização para o PipeWire é uma decisão óbvia, devemos dar um passo atrás e explorar as nuances por trás da decisão para que você possa ter uma visão mais clara do que está assinando caso decida fazer esse passo:

Prós

  • O PipeWire contém uma enorme variedade de suporte para vários dispositivos de áudio Bluetooth que anteriormente não funcionavam plenamente sob o PulseAudio. Se seu hardware Bluetooth não estiver funcionando corretamente com sua distribuição, fazer a mudança pode ajudar.
  • Um bom número de distribuições já começou a incluir o PipeWire como um serviço de áudio padrão, desfrutando de um grande apoio nos repositórios oficiais de basicamente qualquer coisa que você encontre.
  • O PipeWire lida com a latência de forma muito mais eficiente ao transmitir áudio para múltiplos dispositivos ao mesmo tempo.
  • Pós-processadores como EasyEffects (anteriormente PulseEffects) removeram o suporte para PulseAudio em suas versões ou planejam fazê-lo em breve, tornando necessário mudar para o PipeWire para manter a flexibilidade que esses aplicativos oferecem.
  • Os recursos são mais amigáveis para pessoas que querem entrar em configurações e aplicações de áudio mais profissionais.
  • Suporta o piping para streams de vídeo, permitindo que aplicativos de compartilhamento de tela desfrutem de um ambiente mais robusto e seguro.
  • O conjunto de serviços do PipeWire vem com pipewire-pulse, estendendo suporte para aplicativos que utilizam a API e gerenciamento de áudio do PulseAudio.
  • É menos propenso a estalos sob alta carga da CPU.

Contras

  • As configurações nem sempre se traduzem diretamente do PulseAudio. Você terá que aprender um esquema de configuração completamente novo.
  • O PipeWire não possui uma lógica de conexão intuitiva, o que significa que requer outro serviço que escute a saída de áudio e a roteie corretamente. Isso não é necessariamente uma desvantagem, mas pode ser irritante, pois requer que você também aprenda a configurar o gerenciador de sessão para fazer ajustes avançados.
  • Embora isso esteja mudando enquanto este artigo é escrito, a documentação e o suporte das comunidades ainda não são tão difundidos para o PipeWire quanto são para o PulseAudio.

Dica: Descubra como transmitir áudio para outro dispositivo com o PulseAudio.

Como instalar o PipeWire

Se você deseja se arriscar e instalar o PipeWire em seu sistema, primeiro precisa ter certeza de que não está rodando ele!

Digite pactl info em um terminal e veja o que ele te dá em “Nome do Servidor”. Se ele mostrar “on PipeWire” entre parênteses, você já está rodando o PipeWire.

Pipewire Servercheck

Se o terminal mostrar apenas “PulseAudio” sem nada a seguir, seu sistema não está rodando o PipeWire.

1. Faça um backup do seu sistema

Pipewire Backup

Certifique-se de ter uma forma de voltar caso algo dê errado! Se você não criou um backup do seu sistema, faça isso agora antes de prosseguir. A maneira mais fácil de fazer isso é usar o Timeshift, mas fique à vontade para usar qualquer outra ferramenta que você conheça que crie um backup completo dos arquivos do seu sistema.

2. Instalando o Serviço

Toda instalação do PipeWire começa com o serviço base. Há uma chance de que isso já tenha sido instalado com sua distribuição, mas só para garantir que não esteja, você pode instalá-lo com os seguintes comandos.

Em sistemas baseados em Arch:

sudo pacman -S pipewire pipewire-alsa

Em sistemas baseados em Ubuntu/Debian:

sudo apt install pipewire

Bom saber: Aprenda tudo que você precisa sobre os comandos APT.

3. Instalando o Gerenciador de Sessões

O PipeWire não possui sua própria lógica de conexão, então você precisa instalar um gerenciador de sessão. O WirePlumber é um que oferece configuração mais granular, além de plugins extras que podem melhorar sua experiência:

Em sistemas baseados em Arch:

sudo pacman -S wireplumber

Em sistemas baseados em Ubuntu/Debian:

sudo apt install wireplumber

Se você preferir uma versão mais simples ou os repositórios oficiais da sua distribuição não tiverem o WirePlumber, você pode simplesmente instalar o PipeWire Media Session:

Em sistemas baseados em Arch:

sudo pacman -S pipewire-media-session

Em sistemas baseados em Ubuntu/Debian:

sudo apt install pipewire-media-session

4. Instalando o Daemon do PulseAudio

Como uma grande parte dos aplicativos do seu sistema ainda envia chamadas para o PulseAudio, se você deseja que seu áudio funcione corretamente, terá que instalar o daemon do PipeWire que escuta as solicitações do PulseAudio.

Em sistemas baseados em Arch:

sudo pacman -S pipewire-pulse

Em sistemas baseados em Ubuntu/Debian:

sudo apt install pipewire-pulse

5. Removendo vestígios do PulseAudio

Se você teve que confirmar a remoção do PulseAudio devido a um conflito com algo mais que estava instalando durante esse processo (normalmente pipewire-pulse), você pode pular esta etapa.

Caso contrário, é importante agora remover o PulseAudio do seu sistema para que ele não tente consultá-lo.

Em sistemas baseados em Arch:

sudo pacman -Rns pulseaudio

Em sistemas baseados em Ubuntu/Debian:

sudo apt remove pulseaudio

6. Preparando os Serviços

Com todos os pacotes que você instalou e desinstalou, é hora de colocar o PipeWire em funcionamento.

Primeiro, remova os vestígios dos serviços do pulseaudio:

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

Habilite os serviços do PipeWire. Se você instalou o WirePlumber:

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

Se você instalou o PipeWire Media Session, use:

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

O PipeWire agora deve funcionar perfeitamente após você reiniciar seu sistema!

Dica: Se você estiver tendo problemas de áudio no seu sistema Linux, aqui está como você pode corrigi-lo.

Perguntas Frequentes

Posso apenas usar o ALSA?

Você pode definitivamente conseguir apenas rodando o ALSA em seu sistema (especialmente se você usar um gerenciador de janelas em vez de um ambiente de desktop), mas provavelmente não vai aproveitar. O ALSA só pode tocar um stream de áudio por vez. Embora isso não soe ruim, significa que seu sistema pode se comportar de maneira imprevisível quando um som de notificação tenta tocar enquanto você está assistindo a um vídeo. Usar um servidor de som em cima do ALSA é mais conveniente, mas definitivamente envolve um pequeno overhead de memória.

O PipeWire pode ser instalado no Linux Mint Cinnamon?

Absolutamente! O Cinnamon tem um momento um pouco assustador em que não mostra o widget de áudio quando você completa uma instalação adequada do PipeWire, mas ele reaparecerá no momento em que você reiniciar, se você seguiu estas instruções à risca. Apenas certifique-se de remover os vestígios do PulseAudio como delineado nas instruções e você estará feito!

Como resolvo problemas de áudio após o modo de espera?

Se o áudio do seu computador parar de funcionar quando você o acorda do modo de espera, é provável que o ALSA não tenha inicializado corretamente, o que pode acontecer ocasionalmente. Para situações como essas, basta dar um “empurrão” no ALSA com: alsactl init

Uma vez feito isso, todos os seus problemas de áudio devem desaparecer!