Configurando o PulseAudio corretamente no Hardy Heron

By Fabio Rafael Rosa

Bom, como comentei em um post anterior, o primeiro release do hardy foi problemático.
Tanto foi problemático, que a canonical lançara uma versão 8.04.1 em Julho, com diversas correções (imagino que, entre elas, a bagunça que fizeram com o sistema de audio).
Para quem nao quiser esperar até la, aqui seguem umas dicas rápidas de como acertar o som do seu Hardy para funcionar totalmente (na medida do possível) com o PulseAudio.
Primeiro de tudo, é necessário instalar o pacote dos plugins do alsa (esse pacote contem plugin do pulse para que aplicação alsa utilizem o mesmo de forma transparente).

sudo apt-get install libasound2-plugins

O próximo passo é configurar o alsa para usar o pulse como saída padrão. Para isso, criaremos um arquivo

.asoundrc

na Home do usuário, com o seguinte conteúdo:

pcm.pulse {
  type pulse
}

ctl.pulse {
  type pulse
}

pcm.!default {
  type pulse
}

ctl.!default {
  type pulse
}

Para melhorar mais as coisas, é interessante instalar algumas aplicações do pulse que permitem o uso de todos os recursos do servidor de som, como transferir audio entre máquina, entre dispositivos de som na mesma máquina, e controlar o som de cada aplicação de forma independente(não me perguntem por que decidiram usar o Pulse como padrão no Hardy, mas não incluiram essas ferramentas) .

sudo apt-get install pavucontrol pavumeter padevchooser paman paprefs

Após executar o programa pauvcontrol pela primeira vez, será criado um ícone na área de notificação que dará acesso à todas as funções do Pulse.
Essa configuracao é suficiente para que qualquer aplicação que use alsa consiga trabalhar com o pulse de forma transparente. Porém, existem algumas aplicação que nao trabalham muito bem com o driver do Pulse para o alsa, e , uma delas, é o Skype. Essa configuração fez com que eu conseguisse escolher o pulse na lista de dispositivos de som do skype, e até funcionou por algum tempo, até a primeira ligação. Porém, na primeira ligação , os ruídos são insuportáveis, ao ponto de realmente atrapalhar a conversa, e o Skype travou 2x até eu decidir que isso nao devia ser uma boa ideia.
Opção numero 2, existe um comando para o pulse chamado pasuspend. O que esse comando faz é suspender o pulse audio para que outra aplicação possa usar o dispositivo. Dessa forma, o Skype funcionara como se o Pulse nao estivesse la (na verdade , não esta, ele liberou o dispositivo de som para o Skype), porem, não é possivel usar nenhuma outra aplicação que esteja passando pelo Pulse. Isso pode ser um problema se voce precisa deixar o Skype ligado o tempo todo.
Outro problema que encontrei(esse foi mais facil) foi o wine. O suporte a Alsa do wine simplesmente não reconhece o pulse e, quando reconhece, não faz absolutamente nada. Nesse caso, a solução foi simples. Configure o wine para utilizar os drivers de som OSS (via comando winecfg), e utilize uma outra aplicação muito util (na verdade, essa aplicação foi o meu salva vidas) chamada padsp.
O padsp possibilita o uso de uma aplicação OSS via PulseAudio. O uso fica da seguinte forma:

padsp wine

Esse sim, funcionou perfeitamente, consegui jogar World of Warcraft, usar o Ventrilo(programa de chat em grupo que o pessoal do jogo costuma usar, para windows tambem), e , ao mesmo tempo, ouvir música no Rhythmbox utilizando o plugin do Last.fm :) .

Para terminar, depois de alguem tempo descobri mais algumas coisas sobre o Skype. O Hardy foi lançado com uma versão de scheduler(escalonador de processos, ele controla todos os programas que estão rodando na máquina) nova, e que esta causando diversos glitches de som. A correção para isso é recompilar o kernel (2.6.24) com o antigo escalonador(esse post ja está muito grande, se alguem tiver interesse ou precisar de ajuda nesse ponto, poste um comentário que , se houver necessidade, eu crio um novo post para isso).
De qualquer forma, uma outra solução para o Skype é usar a versao OSS disponivel no site para download(nao o pacote .deb, e sim a versão compilada estaticamente com suporte OSS, o link está na mesma página de downloads).
Não cheguei a testar pois, depois desse contra tempo, e algumas outras coisas que me irritaram no Hardy, eu voltei para o meu bom e velho Debian , e estou totalmente feliz novamente :) .
Espero que esse post seja de ajuda para quem estiver apanhando , ou um pouco fulo da vida com o hardy como eu estava. Qualquer duvida, comentário ou erro, por favor, comente :)

Tags: , ,

10 Respostas para “Configurando o PulseAudio corretamente no Hardy Heron”

  1. Configurando o PulseAudio no Ubuntu Hardy Disse:

    [...] por Fabio Rafael da Rosa (fabiorafael·rosaΘgmail·com) – referência [...]

  2. caetano Disse:

    na verdade, não há necessidade de configurar ‘tudo’ pra usar o pulseaudio, o problema que há com o pulseaudio é que quando ele tenta detectar seu hardware de som ele começa tentando por saída OSS, e como sabemos, a emulação OSS do ALSA é feita nas coxas,

    algumas soluções mais viáveis é:

    #1 instalar oss4 na máquina que é um sistema de som bem melhor que o alsa em tudo.

    #2 caso não se queira instalar o oss4, façamos o pulseaudio não usar mais oss como saida padrão, mas alsa no lugar, assim qualquer programa que use alsa não vai encontrar o dispositivo ocupado quando quiser soltar som, essas configurações podem ser feitas em /etc/pulse

    #3 baixar o source do kernel do ubuntu e desabilitar de uma vez por todas a emulação oss do alsa

  3. ThigU Disse:

    Olá, colega!

    Por curiosidade vim até seu blog para testar o PulseAudio mas encontrei problemas ao iniciá-lo. Encontrou este erro ao iniciar o servidor?

    $ pulseaudio
    W: alsa-util.c: Device dmix doesn’t support 44100 Hz, changed to 48000 Hz.
    ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL dmix
    W: alsa-util.c: Device dsnoop doesn’t support 44100 Hz, changed to 48000 Hz.
    ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL dsnoop
    E: source.c: Assertion ‘PA_SOURCE_OPENED(s->thread_info.state)’ failed at pulsecore/source.c:278, function pa_source_post(). Aborting.
    Aborted

    Se tiver alguma idéia, manda uma mensagem aí! :)

    Valeu!

  4. julianommartins Disse:

    Muito bom!!! Parabens pelo artigo!

  5. rafaelrosa Disse:

    Caetano
    Aonde voce viu isso ?
    O Pulse utiliza o alsa em primeiro lugar, porém ele acessa o dispositivo diretamente. Voce deve estar se referindo ao fato de ser possível fazer o Pulse acessar o dispositivo via dmix (software mixer do alsa) ao invés de acessar o dispositivo diretamente. Isso até funciona, mas voce vai perder a habilidade de redirecionar as aplicações para o dispositivo que voce deseja (no meu caso , o principal motivo para usar o Pulse). Além disso , os desenvolvedor do Pulse não recomendam (empilhar dois software mixers em cima do mesmo dispositivo não faz muito sentido) , e há problemas de instabilidade com o Pulse usado dessa forma.

  6. rafaelrosa Disse:

    ThigU
    Qual dispositivo de som voce está usando?

  7. hqxriven Disse:

    “O Hardy foi lançado com uma versão de scheduler(escalonador de processos, ele controla todos os programas que estão rodando na máquina) nova, e que esta causando diversos glitches de som.”

    O scheduler é o CFS (derivado do Staircase Deadline) e ele tem dois “plugins” na versão 24 o CONFIG_FAIR_USER_SCHED e o CONFIG_FAIR_CGROUP_SCHED

    O primeiro dá problemas e o segundo não… Mas o kernel do ubuntu usa o primeiro…

    http://episteme.arstechnica.com/eve/forums/a/tpc/f/96509133/m/115008902931

    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188226/+viewstatus

    “A correção para isso é recompilar o kernel (2.6.24) com o antigo escalonador(esse post ja está muito grande, se alguem tiver interesse ou precisar de ajuda nesse ponto, poste um comentário que , se houver necessidade, eu crio um novo post para isso).”

    Não dá para retirar o CFS do kernel 2.6.24, não existe uma opção CFS ON ou OFF (já penso se tivesse!! Seria interessante), ele é um kernel muito bom o problema conforme falei são esses “plugins” que modificam o comportamento do kernel e fazem o mesmo não funcionar direito.

    Não cheguei a testar pois, depois desse contra tempo, e algumas outras coisas que me irritaram no Hardy, eu voltei para o meu bom e velho Debian , e estou totalmente feliz novamente :) .

    Eu voltei para o Gutsy que foi instável e agora a maioria dos bugs já foram corrigidos pela Canonical.

    Valeu pelas dicas, vou passar para alguns colegas!

    Tenho um blog tb é mais sobre otimização onde algumas vezes falo de kernel e ensino a compilar um otimizado para o ubuntu.

    http://hqxriven.wordpress.com/

    E tem um tópico no Fórum do ubuntu tb que já tem umas 55 págs…

    http://ubuntuforum-br.org/index.php/topic,29799.0.html

  8. Experimentando novas opções de dualboot nas máquinas « LauraSte MetaRecicleira Disse:

    [...] Pesquisamos no google tentando solucionar o problema do som, mas desistimos temporariamente (Blog do Pilinha, entre [...]

  9. Bruno Trazzini » Blog Archive » Configurando o som corretamente no Hardy Heron Disse:

    [...] Fonte: http://pilinha.wordpress.com/2008/05/22/configurando-o-pulseaudio-corretamente-no-hardy-heron/ [...]

  10. eduengler Disse:

    Tua dica me salvou, tenho uma placa de som off e uma on board
    e não sei pq o Ubuntu e outros não depois de instalados se perdem na qual usar
    enfim
    só me toquei disso depois de instalados os aplicativos do pulse
    valeu

Deixe um comentário