Multilib, Skype e Microfone…
Já faz algum tempo que venho tentando usar o Skype no Slackware64, o que se passa por transformar o sistema em multlib, uma vez que o Skype somente é compilado para 32bits, e depois da aquisição pela MS acho pouco provável que tenhamos uma versão 64bits tão logo.
Nunca tive muita simpatia por isto, mas depois de muita espera, resolvi fazer alguns teste e ainda estou em fase de testes. Transformar Slackware64 em multilib é uma tarefa fácil após a disponibilização dos pacotes de compatibilidade do Eric Hameleers (ou AlienBOB). Até onde sei, o AlienBOB é o responsável pelo glorioso Slamd64, que depois se fundiu ao Slackware criando a versão 64bits deste sistema.
A documentação do projeto Multilib para Slackware64 está documentada no link Slackware Multilib, embora esteja um pouco desatualizada.
Instalação dos pacotes Multilib
A instalação é bem simples e tudo que vou descrever aqui está tudo documentado no README.
Os pacotes podem ser baixados da página Multilib, com o comando lftp abaixo (para o Slackware64-current leia as linhas a seguir):
SVERSION=`awk '{ print $2}' /etc/slackware-version` [prompt]lftp -c "open http://slackware.com/~alien/multilib/ ; mirror $SVERSION" ...
Atenção: Se estiver usando o Slackware64-current o arquivo a primeira linha vai retornar a versão 14.1 e não current. Neste caso repita os comandos acima com a pequena alteração na primeira linha:
SVERSION='current' [prompt]lftp -c "open http://slackware.com/~alien/multilib/ ; mirror $SVERSION" ...
Isto deve demorar um pouco, dependendo do seu link com a internet. Serão baixados aproximadamente 216MB da Multilib da versão do Slackware64 declarada no arquivo /etc/slackware-version ou current, conforme a seleção acima.
Antes de prosseguir é uma boa ideia é fazer o checksum dos pacotes baixados. O comando a seguir faz isto:
tail +13 CHECKSUMS.md5 | md5sum --check ... ./slackware64-compat32/xap-compat32/xsane-compat32-0.999-x86_64-1compat32.txz.md5: OK [prompt]
Se tiver tudo certo, o comando retorna ao prompt sem mensagens de erro, como acima.
Em seguida atualize o gcc e o glibc 64bits com a versão Multilib baixada, com o comando a seguir:
upgradepkg --reinstall --install-new $SVERSION/*.t?z
Por fim, instale os pacotes de compatibilidade para suportar os aplicativos 32bits. Estes pacotes estão em pastas dentro do diretório “slackware64-compat32” baixados pelo comando “lftp” acima. Execute a linha a seguir:
upgradepkg --reinstall --install-new $SVERSION/slackware64-compat32/*/*.t?z
Observe que o reinstall é necessário apenas no caso de estar atualizando a Multilib. Após isto a Multilib estará 100% funcional, podendo instalar qualquer pacote 32bits.
Instalando o Skype
Com os pacotes Multilib instalados, o Skype pode ser executado diretamente dos binários distribuídos na página oficial. Para o Slackware64 o pacote static é o mais aconselhável, pois já possui todas as bibliotecas embutidas.
Pessoalmente prefiro instalar o aplicativo através de um pacote, pois fica mais fácil administrar o sistema. Para isto recomendo o SBoPkg. Se não o conhecer, aconselho fortemente a leitura do texto Construindo/Instalando Pacotes com o SBoPkg. Com o SBoPkg instalado, basta dar o comando abaixo para criar e instalar o pacote:
sbopkg -i skype
O pacote instalado será para o Slackware 32bits, já que não existe as fontes ou port para 64bit deste aplicativo. Neste caso o aplicativo deve reclamar por seu sistema não suportar pacotes 32bits. Basta ignorar e prosseguir. O SBoPkg irá baixar o pacote binário do Skype e utilizará um SlackBuild apropriado para montar o pacote. Ao final ele irá executar o installpkg para instalar o pacote.
Configurando o microfone
Até este ponto não tinha dúvidas quanto aos procedimentos necessários para ter o Skype rodando em meu sistema. A menos de minha resistência em usar os pacotes Multilib, por conta dos transtornos passado ainda na época do Slamd64, geralmente preferi usar o Skype em uma VM.
O uso do Skype ainda sofria de um segundo problema: o volume do microfone. Já havia testado toda a diversidade de entrada e o volume sempre foi muito baixo, me obrigando a falar muito próximo ao microfone, o que inabilitava o uso da câmera, visto que ambos ficam lado a lado no meu note.
Neste último fim de semana resolvi fazer uma busca mais intensa na rede e tentar mais uma vez resolver este problema. Encontrei a solução em uma discussão no Hardware.com. A solução consistiu em configurar os controle com a opção view mode capture, que por algum motivo não aparacem nos configuradores gerais do alsamixer ou do Kmix do KDE.
alsamixer -V capture
Em minha placa de som HDA Intel PCH, o controle Capture é normalmente 0, deixando a captura de som do microfone muito baixa, mesmo com o Mic Boost no máximo. Pessoalmente não entendo o porquê de tanto controle para um microfone.
Neste ponto um comando “alsactl store” deveria gravar as configurações e resolver este problema, no entanto não é bem o que acontece. Até compreendo os motivos disto. Em geral o som do microfone é desligado a cada reboot, para evitar retorno indesejado das caixas de som, que podem gerar microfonia com bastante ruído.
No entanto, caso tenha certeza de sua configuração, você pode adicionar um segundo alsactl restore ao final do arquivo /etc/rc.d/rc.local, para recarregar as configurações do som.
Em meu caso deixei as configurações dos controle acima conforme a figura abaixo:
alsamixer -V all
Observe o [MM] no controle Mic, desabilitando-o. Para isto basta pressionar a tecla M com o Mic selecionado. Após isto dê o comando “alsactl store” como usuário root, para gravar as informações no arquivo /var/lib/alsa/asound.state.
Em princípio esta configuração deveria ser recarregada a cada reinicialização do sistema. No entanto um outro obstáculo derruba estes controles, na carga do KDE (acho). Tentei colocar uma chamada ao comando “alsactl restore” em um script alsastart e coloquei uma chamada a este script na inicialização de seção do KDE, em System Settings -> Startup and Shutdown -> Add Script…
mas não restaurou as configurações de som como esperava.
No momento coloquei uma chamada em meu ~/.bash_profile. Uma vez que quase sempre abro um terminal em minhas seções, isto pode ao menos reduzir o problema.
echo -e "\n/usr/sbin/alsactl restore\n" >> ~/.bash_profile
Se encontrar uma forma mais elegante de contornar isto, posto aqui uma correção.
6 Comentários