ALSA Sound System (rc.audio)
Carregando drivers de som ALSA
Categoria: Miscelânea
Software: ALSA Sound System
[ Hits: 20.162 ]
Por: Igor Garcia
Este .conf mostra como gerenciar os drivers de som ALSA (Advanced Linux Sound Architeture, mais informaçõesl em http://www.alsa-project.org/).
De fato geralmente quem usa placas de som onboard com chipset VIA (entre outros) precisa usar os drivers ALSA para poder fazer o som funcionar. Entretanto, carregar e descarregar esses modulos de som é extremamente chato, pois para carregar precisa de uns 4 ou 5 modprobes e pra descarregar uns 10 ou 15 rmmod, isso sem contar que quando carregamos o modulos de som, o mixer está com o volume minimo e todas as saidas estão completamente mudas.
Pensando num jeito mais conveniente de carregar e desgarregar os modulos de som ALSA, eu crei esse .conf. Espero que ajude.
#!/bin/bash
# /etc/rc.d/rc.audio
# Copyright © 2003 Igor Garcia
# Este script serve para carregar/descarregar os módulos de som ALSA.
# Para que este script funcione você deve ter os modulos ALSA adicionados aos seu
# kernel e deve possuir uma placa de som VIA (VT8233 AC97 Audio Controller).
# Para maiores informações sobre estes módulos e quais as placas de som que eles
# suportam, de uma olhada em http://www.alsa-project.org/alsa-doc/
# Se você possui outra placa, porém utiliza os módulos ALSA, poucas modificações
# nestes script serão necessárias para que ele rode corretamente.
MODPROBE=`which modprobe`
RMMOD=`which rmmod`
AMIXER=`which amixer`
ALSAMIXER=`which alsamixer`
audio_start()
{
echo -n "Ativando os módulos de som..."
ERR=0
# ATENCAO:
# Se voce nao usa placa com chipset VIA, mude a linha abaixo !
#------------------------------------------------------------------------------
$MODPROBE snd-via82xx dxs_support=4 1> /dev/null 2> /dev/null
#------------------------------------------------------------------------------
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$MODPROBE snd-pcm-oss 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$MODPROBE snd-mixer-oss 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$MODPROBE snd-seq-oss 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$AMIXER -c 0 sset "Master" 100%,100% unmute 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$AMIXER -c 0 sset "Master Mono" 100%,100% unmute 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$AMIXER -c 0 sset "Headphone" 100%,100% unmute 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$AMIXER -c 0 sset "PCM" 100%,100% unmute 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
$AMIXER -c 0 sset "CD" 100%,100% unmute 1> /dev/null 2> /dev/null
if [ $? != 0 ]; then
ERR=`expr $ERR + 1`
fi
if [ $ERR = 0 ]; then
echo "OK"
else
echo "FALHOU"
fi
}
audio_stop()
{
echo -n "Desativando os módulos de som..."
$RMMOD snd-via82xx snd-pcm-oss snd-seq-oss \
snd-seq-midi-event snd-seq snd-mixer-oss \
snd-pcm snd-timer snd-mpu401-uart snd-rawmidi \
snd-seq-device snd-ac97-codec snd-page-alloc snd \
1> /dev/null 2> /dev/null
if [ $? = 0 ]; then
echo "OK"
else
echo "FALHOU"
fi
}
audio_usage()
{
echo
echo "$0 (start | stop | restart | clear)"
echo
echo "start - Ativa o som"
echo "stop - Desativa o som"
echo "restart - Reativa o som"
echo "status - Usa o alsamixer para mostrar o status do som"
}
case $1 in
start)
audio_start;
;;
stop)
audio_stop;
;;
restart)
audio_stop;
audio_start;
;;
status)
$ALSAMIXER;
;;
*)
audio_usage;
exit;
;;
esac
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









