Usando o som nas estações

Existem duas formas de permitir que os clientes nas estações utilizem aplicativos com som. A primeira solução é simplesmente permitir que utilizem a placa de som do servidor, o que pode ser útil em ambientes pequenos e com poucas estações. Nesse caso, apenas o servidor tem caixas de som e os sons são reproduzidos de forma “pública”. Todo mundo ouve.

Para isso, você não precisa mudar a configuração do LTSP, nem dos aplicativos, apenas verificar as permissões de acesso dos dispositivos de som. O default na maioria das distribuições é que apenas o root tem permissão de utilizar a placa de som através de uma sessão remota. Os usuários normais por default podem usar apenas localmente. Isso é compreensível, imagine a bagunça que seria os 40 usuários remotos de um certo servidor querendo usar a placa de som ao mesmo tempo?

No entanto, nada impede que você dê permissão para alguns usuários utilizarem a placa de som, ou mesmo dar permissão para todos os usuários (recomendável apenas para servidores com poucas estações). Para isso, basta editar as permissões de acesso dos arquivos “/dev/dsp” (a placa de som propriamente dita) e “/dev/mixer” (para ajustar o volume).

Você pode, por exemplo, criar um grupo “som”, incluir o root, junto com os demais usuários autorizados no grupo e dar permissão de acesso de leitura e escrita no arquivo para o grupo.

Se você preferir que todo mundo tenha acesso, então basta usar os comandos:

# chmod 666 /dev/dsp
#
chmod 666 /dev/mixer

A segunda opção é ativar o compartilhamento do som no LTSP, o que permite usar a placa de som e as caixinhas instaladas localmente em cada estação. O LTSP 4.2 traz um conjunto completo de drivers de som, dentro da pasta “/opt/ltsp/i386/lib/modules/2.6.17.3-ltsp-1/kernel/sound/oss”. Você pode experimentar também os drivers alsa, mas, dentro da minha experiência, os drivers OSS oferecem melhores resultados em conjunto com o LTSP.

Em seguida vem o servidor de som, que permite que o servidor da rede envie o fluxo de áudio que será reproduzido pela placa instalada na estação. Aqui temos duas opções, usar o ESD (eSound) ou o NAS. Infelizmente, o LTSP ainda não suporta o Arts, que é usado por padrão pelos programas do KDE e pode ser utilizado pela maioria dos demais aplicativos via configuração.

Como nem todos os aplicativos funcionam corretamente em conjunto com o ESD ou o NAS, dois servidores bem mais antigos e limitados, muitos aplicativos realmente não vão conseguir reproduzir som nas estações, mesmo que tudo esteja corretamente configurado. Comece com o XMMS, que suporta bem ambos os servidores e, depois de verificar que o som está funcionando, comece a testar os demais programas.

Para ativar o compartilhamento do som, adicione as linhas abaixo na configuração de cada estação, dentro do arquivo “/opt/ltsp/i386/etc/lts.conf“:

[ws001] SOUND = Y
SOUND_DAEMON = esd
VOLUME = 80
SMODULE_01 = sound
SMODULE_02 = auto

A opção “SMODULE_01 = auto” faz com que o LTSP tente detectar a placa de som na estação durante o boot. A detecção funciona em boa parte das placas de som PCI, mas em muitos casos é necessário especificar os módulos necessários manualmente.

Este é um exemplo que ativa uma placa Sound Blaster ISA na estação:

SMODULE_01 = sound
SMODULE_02 = uart401
SMODULE_03 = sb io=0x220 irq=5 dma=1

Este ativa uma placa de som ISA com chip Cristal cs423x, outro modelo comum em micros antigos:

SMODULE_01 = sound
SMODULE_02 = cs4232

Este exemplo ativa o som onboard das placas baseadas no chipset nForce, um exemplo de placa mais atual que não é detectada automaticamente. A mesma configuração pode ser usada também em placas e notebooks com chipset Intel, que também utilizam o módulo “i810_audio”:

SMODULE_01 = sound
SMODULE_02 = i810_audio

Para uma placa Sound Blaster Live PCI:

SMODULE_01 = sound
SMODULE_02 = emu10k1

A maioria das placas de som onboard usam os módulos “ac97”, “sis7019” ou “via82cxxx_audio”, de acordo com o chipset usado. As placas Creative Ensoniq (off-board) usam o módulo “es1371”.

Veja que a configuração é simples. Você precisa apenas indicar o módulo “sound”, que habilita o subsistema de som do Kernel, seguido pelo módulo que ativa a placa de som instalada, dentro da configuração de cada estação no arquivo lts.conf.

Um script executado pelo cliente LTSP durante o boot, o “rc.sound” configura as variáveis de ambiente, de forma que os aplicativos dentro da sessão gráfica enviem o fluxo de áudio para a estação correta, mesmo ao utilizar o som em várias estações simultaneamente.

A opção “SOUND_DAEMON = esd” determina qual dos dois servidores de som será usado. O ESD é o que funciona melhor na maioria dos casos, pois ele é o servidor de som padrão do Gnome e por isso muitos programas oferecem suporte a ele. Note que o simples fato de um programa oferecer a opção de usar o ESD não significa que ele realmente vá funcionar no LTSP. Muitos programas utilizam um conjunto limitado de funções do ESD, que permitem apenas o uso local e, em outros, podem simplesmente existir bugs diversos que impeçam seu uso ou façam o som ficar falhado. É preciso testar e configurar manualmente cada programa.

Três exemplos de programas que funcionam bem em conjunto com o ESD são o XMMS, o Kaffeine e o Gaim, enquanto outros não funcionam nem com reza brava, insistindo em tentar usar a placa de som do servidor (como muitos dos programas do KDE, que utilizam o Arts) ou travando ao tentar usar o som (como o Mplayer).

Procure nas configurações do programa uma opção relacionada ao servidor de som. No XMMS, por exemplo, vá em “Opções > Preferências > Plugins de E/S de Áudio > Plugin de saída > Plugin de Saída eSound”.

O Kaffeine pode ser configurado para usar o ESD em “Configurações > Parâmetros do Motor Xine > Audio”; troque a opção “Auto” por ESD. No caso do Gaim, a opção está em “Ferramentas > Preferências > Sons > Método > ESD”.

A segunda opção é usar o NAS, que é suportado por menos programas que o ESD, mas ainda assim uma opção. Na verdade, o único programa que encontrei que funciona perfeitamente com ele foi o Mplayer, depois de configurado para usá-lo como servidor de som. Para usá-lo, mude a opção “SOUND_DAEMON = esd” para “SOUND_DAEMON = nasd” na configuração das estações.

Para que ele funcione, você ainda precisará instalar os pacotes “nas”, “nas-bin” e “audiooss” no servidor. Eles podem ser instalados via apt-get:

# apt-get install nas
# apt-get install nas-bin
# apt-get install audiooss

Na verdade, precisamos do pacote “nas” apenas para copiar o executável para dentro da árvore do LTSP, já que ele não foi incluído no pacote ltsp_nas:

# cp -a /usr/bin/nasd /opt/ltsp/i386/usr/X11R6/bin/

O Arts, o servidor de som do KDE, oferece a opção de trabalhar em conjunto com o NAS ou com o ESD em sua aba de configuração, dentro do Painel de Controle do KDE, seção Som & Multimídia > Sistema de som > Hardware > Dispositivo de áudio”. Porém, o suporte deve ser ativado durante a compilação, o que é incomum entre as distribuições.

Ao invés de perder tempo com isso, o melhor é que você simplesmente desabilite o Arts, desmarcando a opção “Habilitar o sistema de som” na aba “Geral”. Isso evita que ele fique travando ao tentar ativar o ESD ou NAS, bloqueando a placa de som nas estações.

O grande problema em utilizar a placa de som dos terminais é a utilização da banda da rede. Ao ouvir um mp3, por exemplo, o fluxo de áudio é processado no servidor e enviado de forma já decodificada para a estação. Isso significa que o MP3 é transmitido pela rede na forma de um fluxo de som descomprimido, similar a um arquivo .wav.

Cada estação tocando um MP3 consome cerca de 150 KB/s (ou 1.2 megabits) da banda da rede. Em uma rede de 100 megabits, a banda consumida não chega a ser um grande problema, mas faz com que exista um tráfego constante na rede, que aumenta a latência, fazendo com que a atualização de vídeo nos terminais (que é a aplicação prioritária) torne-se cada vez mais lenta. Se o som for usado simultaneamente em 10 estações, isso começa a tornar-se um problema.

Se algum dos usuários baixar um filme em boa resolução e resolver assisti-lo no terminal, as coisas começam a ficar realmente feias, pois novamente o vídeo é decodificado no servidor e transmitido de forma descomprimida através da rede. Em um vídeo de 640×480, com 16 bits de cor e 24 quadros por segundo, temos um fluxo de dados de 14 MB/s (ou 112 megabits), mais do que uma rede de 100 megabits pode fornecer. Isso significa que um único cliente que resolver assistir vídeos, pode consumir sozinho toda a banda disponível na rede.

Ao ativar o som nos terminais, escolha cuidadosamente alguns aplicativos que sejam realmente necessários e que funcionem em conjunto com o NAS ou o ESD, deixe-os pré-configurados e remova os demais aplicativos que não funcionem corretamente, ou que possam utilizar muita banda da rede, com destaque para os players de vídeo, como o Kaffeine, Totem e Gmplayer.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X