quarta-feira, 28 de outubro de 2009

OpenSound


Introdução


O projeto Open Sound System (OSS) provê drivers de áudio para usuários e um API para desenvolvedores. Por padrão, o Ubuntu utiliza o ALSA para prover os drivers de áudio. Esse documento irá guiá-lo para trocar o ALSA pelo última versão do OSS. Ele foi escrito com o Ubuntu 9.04 em mente, mais dicas para versões antigas serão dadas onde for possível. Para começar, abra o terminal (Aplicativos > Acessórios > Terminal). Você pode colar os comandos encontrados nesse tutorial no terminal com o comando Ctrl+Shift+v. Nota: Você pode escutar algumas pessoas (os desenvolvedores do Kernel Linux, por exemplo) se referindo ao OSS como "precário" ou "substítuido pelo ALSA". Isso se refere ao OSS 3.x. O desenvolvimento do OSS 4.x está ativo e muito bem. Muitos aplicativos utilizam o API do OSS para o som porque ele é bem documentado e portável entre muitas plataformas (Linux, Solaris, BSD, etc.).


O OSS suporta o meu hardware?

Cheque a lista aqui (http://mercurial.opensound.com/?file/6bf18b4a87d6/devlists/Linux). Alguns hardwares podem não ter a função completa (por exemplo, o módulo X-fi é limitado a saída de aúdio estéreo no momento em que este tutorial está sendo escrito, e jack pode não funcionar na Azalia-compliant "Alta Definição", que é muito utilizado em placas mãe e laptops hoje). Se você está em dúvida, consulte o "Suporte Adicional" encontrado no fim desse documento.

Preparação

Essa preparação remove o PulseAudio e previne os drivers ALSA do Kernel de serem carregados, mas mantém o pacote ALSA instalado.
Tecnicamente, é possível rodar o PulseAudio com o OSS4, mas não é recomendado e está fora do foco desse documento. Além disso, você pode remover o pacote do ALSA se você está certo que deseja o OSS4.

Removendo Completamente o PulseAudio

O comando cp faz o backup dos arquivos da sessão.
sudo killall pulseaudio

cp /etc/X11/Xsession.d/70pulseaudio ~/

sudo apt-get purge pulseaudio


Módulos ALSA para a "Lista Negra"

sudo dpkg-reconfigure linux-sound-base


Você será agraciado com uma mensagem bem explicatória. Pressione [Enter]. Você irá para o terminal para selecionar a saída de áudio padrão do Ubuntu. Use as setas do teclado para selecionar o OSS, e pressione o [Tab] para marcar 'OK'. Pressione [Enter]. Isso irá colocar os módulos dos drivers ALSA na "lista negra" do Ubuntu 9.04. Nas versões antigas do Ubuntu, pode ser necessário adicionar manualmente para a lista negra ao menos os módulos snd e soundcore.


Instalando os prérequesitos

O segundo comando é apenas necessário se você irá compilar o OSS4. O terceiro comando contém os pacotes recomendados.
sudo apt-get install -y binutils libgtk2.0-0 sed gcc libc6

sudo apt-get install -y build-essential linux-headers-`uname -r` gawk libtool libgtk2.0-dev

sudo apt-get install -y libesd0 libsdl1.2debian-oss

Ubuntu Hardy/Gnome 2.22 (e anteriores)

Se você deseja ouvir os sons do sistemas (como os sons de login/logout) com o OSS, você precisará instalar o ESD :
sudo apt-get install -y esound esound-clients esound-common libesd0


Ubuntu Intrepid/Gnome 2.24 (e mais novos)


Apartir da versão 2.24, o Gnome utiliza libcanberra para os sons do sistema. O Ubuntu compila o libcanberra para utilizar o ALSA como saída padrão. A forma de compilar libcanberra utilizando o OSS4 (ou qualquer backend do gstreamer) pode ser encontrado aqui (http://www.4front-tech.com/forum/viewtopic.php?t=3225&start=26). Isso não foi muito testado até o momento (especialmente no Ubuntu 8.10), então por favor, deixe sugestões.

Sons do Sistema no KDE 3.x

Tenha certeza que você tem o sistema aRts instalado:
sudo apt-get install -y arts


Sons do sistema no KDE 4.x


Entre no painel de controle de som e selecione a saída padrão como OSS. O backend Xine do Phonon (provavelmente o que você tem instalado por padrão) pode funcionar com versão recentes do KDE4. Se você tem problemas com os sons do sistema ou outros programas do Xine, tente instalar o pacote phonon-backend-gstreamer e selecionar o gstreamer como backend preferencial do Phonon no painel de controle do KDE. Se você está utilizando o gstreamer, você poderá também precisar de pacotes adicionais para suportar todos os formatos de media.

Instalando o OSS

Instalando de um arquivo DEB

Baixe o arquivo deb do OSS do site 4front (http://www.opensound.com/download.cgi). Selecione o pacote DEB, com a arquitetura (32bits, 64bits, etc) que você tem em parentêses. Clique em "submit" e baixe o pacote. Antes de instalar o OSS, REINICIE seu sistema para que tenha certeza que os módulos do ALSA não irão carregar ou interferir no processo. Quando você voltar, use o terminal para instalar o arquivo deb (GDebi falha para instalar esse arquivo por alguma razão).
sudo dpkg -i oss-linux*.deb


Compilando


Além de utilizar o arquivo DEB, você pode também tentar compilar uma nova, porém experimental, versão do OSS e instalar. Nós iremos utilizar os comandos abaixo para obter a versão mais recente do OSS 4.2 RC. Antes de compilar o OSS, REINICIE seu sistema para que tenha certeza que os Módulos ALSA não serão carregados ou irão interferir no processo. Quando você voltar, utilize o terminal e faça o seguinte:

Obtendo o código fonte do OSS

Você pode obter a versão mais recente do OSS por testes ou com o repositório do Mercurial. Esse repositório é mais atualizado, porém pode ficar fora do ar como resultado.

Obtendo o código fonte com teste de arquivo
wget -A '*.bz2' -nd -r -l 1 http://www.4front-tech.com/developer/sources/testing/gpl/

sudo tar xf oss-v4.2*.tar.bz2 -C /usr/src

sudo mv /usr/src/oss-v4.2* /usr/src/oss-devel


Obtendo o código fonte utilizando o Mercurial

sudo apt-get install -y mercurial

cd /usr/src

sudo hg clone http://mercurial.opensound.com/ oss-devel


Criando o diretório para a compilação


O OSS precisa de um diretório vazio para ser comp
ilado. Utilizando o exemplo abaixo, criaremos um diretório na sua pasta /home (~)
cd ~/

sudo rm -rf oss42build

mkdir oss42build

cd oss42build/


Compilando e Instalando

NO_WARNING_CHECKS=yes /usr/src/oss-devel/configure

make

sudo make deb

sudo dpkg -i oss*.deb


Atualizando sua compilação


Isso funciona apenas se você pegou o código fonte utilizando o mercurial. Cheque para ver se qualquer mudança adicionada pode afetar você. Nesse ponto, você deve desinstalar qualquer oss-linux debs que você já tenha instalado.
cd /usr/src/oss-devel

sudo hg pull

sudo hg update

cd ~/

sudo rm -rf oss42build

mkdir oss42build


Configurando Aplicativos para usar o OSS


ossxmix

Adicione um novo atalho ao desktop que rode o comando ossxmix (é ossXmix, não ossmix), coloque o nome que você quiser, selecione um ícone. Eu coloquei o nome de Mixer e escolhi /usr/share/icons/gnome/32x32/status/stock_volume-med.png como meu ícone. Se você é novo no Ubuntu, isso (http://library.gnome.org/users/user-guide/stable/gospanel-34.html.en) irá ajudá-lo nessa tarefa. Você pode adicionar um ícone do ossxmix ao painel do KDE e do Xfce também.

Nenhum comentário:

Postar um comentário