Placa de som Realtek ALC889 no Linux

Se você possui um notebook com 5.1 canais, que utiliza a placa de som Realtek ALC889, e instalou Linux nele, então provavelmente você está tendo problemas com o áudio. Os problemas apresentados são vários, desde o sistema não emitir som algum a até somente 2 canais funcionarem.
Depois de muito pesquisar finalmente consegui fazer o notebook emitir som em todos os canais, no meu caso estou usando um Acer 6935 com Fedora 11 instalado nele, mas esta dica funciona na maioria das distribuições e na maioria dos Acers das séries 69* e 89*.
O primeiro passo a ser feito é baixar os drivers ALSA ( Advanced Linux Sound Architecture ) mais novos. Para isto acesse http://www.alsa-project.org/main/index.php/Download e baixe os arquivos:

alsa-driver-1.0.20

alsa-lib-1.0.20

alsa-tools-1.0.20

alsa-utils-1.0.20

Após baixar os arquivos extraia o conteúdo de cada um deles, entre no diretório e compile. Exemplo:

$ tar -xvjf alsa-driver-1.0.20.tar.bz2

$ cd alsa-driver-1.0.20

# ./configure –with-cards=hda-intel –with-kernel=/usr/src/linux-headers-$(uname -r)

# make

# make install

$ tar -xvjf alsa-lib-1.0.20.tar.bz2

$ cd alsa-lib-1.0.20

# ./configure

# make

# make install

$ tar -xvjf alsa-tools-1.0.20.tar.bz2

$ cd alsa-tools-1.0.20

# ./configure

# make

# make install

$ tar -xvjf alsa-utils-1.0.20.tar.bz2

$ cd alsa-utils-1.0.20

# ./configure

# make

# make install

Caso ocorra algum problema ao tentar compilar leia atentamente o erro gerado, pois pode ser por falta de alguma biblioteca, as famosas dependências do Linux. Após visualizar o nome da biblioteca que está faltando procure por ela no gerenciador de pacotes e instale.

Com os drivers mais novos do ALSA instalado utilize o alsaconf para levantar o módulo correto para a placa. Para isto rode o comando abaixo no terminal.

# alsaconf

Para garantir reinicie o sistema, provavelmente não haverá som nenhum ainda. Para que o som funcione corretamente precisaremos baixar o hda-verb. Ele pode ser encontrado no endereço ftp://ftp.suse.com/pub/people/tiwai/misc/hda-verb-0.3.tar.gz

Salve-o no diretório de sua preferência, descompacte-o, entre no diretório e compile:

$ tar -xvzf hda-verb-0.3.tar.gz

$ cd hda-verb-0.3

# make

Feito isto precisaremos adicionar o binário gerado após a compilação no diretório ‘/usr/local/bin’, onde ficam os binários da máquina local, para isto dentro do diretório ‘hda-verb-0.3’ execute o seguinte comando:

# cp hda-verb /usr/local/bin

Copiado o binário do hda-verb agora iremos adicionar um script para utilizar o hda-verb na inicialização do sistema.

Edite o arquivo /etc/rc.local com o seu editor de texto preferido:

# gedit /etc/rc.local

e adicione a seguinte linha no final do arquivo:

/usr/local/bin/hda-verb /dev/snd/hwC0D0 0x15 SET_EAPD_BTLENABLE 2

Finalmente seguiremos para o último passo. Edite o arquivo /etc/modprobe.d/alsa-base.conf

# gedit /etc/modprobe.d/alsa-base.conf

E adicione as seguintes linhas no arquivo:

alias snd-card-0 snd-hda-intel

options snd-hda-intel enable_msi=1

options snd-hda-intel model=acer-aspire-8930g

options snd-hda-intel single_cmd=1

Reinicie o sistema e vá em configurações avançadas de som ou digite o comando

$ alsamixer -c0

no terminal, e desmute todos os canais: master, PCM, front, LFE, rear e surround. Pronto o som finalmente estará funcionando.