Aktualizacja Alsy dzięki jednej komendzie

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Często Alsa nie działa tak jak „trzeba” dźwięk trzeszczy, przerywa albo… w ogóle go nie ma:/ Czy czekać w takim wypadku do nowszej wersji systemu (która może nie rozwiązać problemu) czy może samemu zaktualizować Alsę do najnowszej wersji w bardzo prosty sposób?

Otwieramy terminal i wpisujemy (GNOME):

sudo gedit /usr/bin/update-alsa

Dla KDE:

sudo kate /usr/bin/update-alsa

Wklejamy poniższy kod:

#!/bin/bash
function quest
{
echo " "
echo " "
echo "Jakiego środowiska graficznego?"
echo "Jeśli GNOME kliknij 1"
echo "Jeśli KDE kliknij 2"
echo "Jeśli KDE4 kliknij 3"
echo "Inne kliknij 4"
read -n 1 graf

case "$graf" in
"1") echo "" ; echo "Czyli używasz GNOME. Instaluję mixer..." ; sudo apt-get install gnome-alsamixer ;;
"2") echo "" ; echo "Czyli używasz KDE. Instaluję mixer..." ; sudo apt-get install kmix ;;
"3") echo "" ; echo "Czyli używasz KDE4. Instaluję mixer..." ; sudo apt-get install kmix-kde4 ;;
"4") echo "" ; echo "Przechodzę do dalszych zadań..." ;;
*) echo "" ; echo "Podałeś złą cyfrę!" ; quest
esac
}

function instalacja
{
sudo apt-get install tar wget build-essential linux-headers-`uname -r` libncurses5-dev gettext gcc libgcc1
sudo /etc/init.d/alsasound stop
cd ~/alsa
# driver
if [ -e $d ]; then
rm -Rf $d
sudo rm -Rf alsa-driver-$w
wget -c ftp://ftp.alsa-project.org/pub/driver/$d
$r $d
else
wget -c ftp://ftp.alsa-project.org/pub/driver/$d
$r $d
fi
# lib
if [ -e $l ]; then
rm -Rf $l
sudo rm -Rf alsa-lib-$w
wget -c ftp://ftp.alsa-project.org/pub/lib/$l
$r $l
else
wget -c ftp://ftp.alsa-project.org/pub/lib/$l
$r $l
fi
# utils
if [ -e $u ]; then
rm -Rf $u
sudo rm -Rf alsa-utils-$w
wget -c ftp://ftp.alsa-project.org/pub/utils/$u
$r $u
else
wget -c ftp://ftp.alsa-project.org/pub/utils/$u
$r $u
fi

if [ -d ~/alsa/alsa-driver-$w ]; then
cd ~/alsa/alsa-driver-$w
./configure
make
sudo make install
sudo ./snddevices
else
echo $k
echo "$e2 alsa-driver-$w. $e"
echo $k
sleep 10
fi

if [ -d ~/alsa/alsa-lib-$w ]; then
cd ~/alsa/alsa-lib-$w
./configure
make
sudo make install
else
echo $k
echo "$e2 alsa-lib-$w. $e"
echo $k
sleep 10
fi

if [ -d ~/alsa/alsa-utils-$w ]; then
cd ~/alsa/alsa-utils-$w
./configure
make
sudo make install
else
echo $k
echo "$e2 alsa-lib-$w. $e"
echo $k
sleep 10
fi

sudo cp -v /lib/modules/`uname -r`/kernel/sound/pci/hda/snd-hda-intel.ko /lib/modules/`uname -r`/ubuntu/media/snd-hda-intel/snd-hda-intel.ko
sudo cp -v ~/alsa/alsa-driver-$w/modules/* /lib/modules/`uname -r`/kernel/sound/
sudo alsaconf
sudo depmod -a
sudo /etc/init.d/alsasound start
quest
echo " "
echo " "
echo "Gratulacje! Alsa została zaaktualizowana do wersji $w. Proszę nie usuwać katalogu $HOME/alsa !!! Jeśli nie będziesz miał dźwięku lub będzie zbyt cicho to pobaw się suwakami w jakimś mixerze systemowym."
echo " "
echo " "
}

echo "Update Alsa by Ari"
sleep 2
s="http://alsa-project.org w tabeli Current Version"
r="tar -xjf"
k="..................."
e="Być może wystąpił błąd przy pobieraniu lub źle podałeś wersję! Sprawdź dokładnie na stronie $s. Jeśli jest to wersja stabilna np. 1.0.16 to wpisz 1.0.16, a jeżeli jest to wersja rc np. 1.0.16rc3 to wpisz 1.0.16rc3"
e2="Nie odnalazłem któregoś z plików!"
i="Instaluję źródla Alsy do $HOME/alsa"
echo "Witaj $USER. Podaj najnowszą wersję Alsy przykładowo 1.0.16. Możesz ją sprawdzić na stronie $s"
read w
d="alsa-driver-$w.tar.bz2"
l="alsa-lib-$w.tar.bz2"
u="alsa-utils-$w.tar.bz2"
echo "Aktualizuję Alsę do wersji $w."
echo "Gdy pojawi się niebieskie okno konfiguracji, kliknij [ENTER] < OK >,  następnie wybierz swoją kartę dźwiękową i wciśnij [ENTER] < OK >, potem znowu [ENTER] < TAK > , [ENTER] < OK >, [ENTER] < TAK >."
sleep 15
if [ -d ~/alsa ]; then
echo $i
sleep 2
instalacja
else
mkdir ~/alsa
echo $i
sleep 2
instalacja
fi

Po wklejeniu i zapisaniu dokumentu otwieramy terminal i wpisujemy:

sudo chmod +x /usr/bin/update-alsa

Aby wywołać skrypt i zaktualizować Alsę otwieramy terminal po czym wpisujemy:

update-alsa

Zostaniemy poproszeni o wpisanie wersji Alsy (do której chcemy zaktualizować) najlepiej zobaczyć na stronie głównej Alsy jaka wersja jest dostępna i to wszystko :) Szybko, łatwo i przyjemnie bez konieczności instalacji paczek itp.

Źródło: forum.ubuntu.pl
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Pingback: Ubuntu – pomoc » Nowy redaktor ubuntu-pomoc.org()

  • Ari

    Autorze, podaj w artykule źródło skryptu i autora.

  • http://NewInUbuntu.blogspot.com raven17a

    Ostatnia komenda powinna brzmieć:
    sudo update-alsa

  • San
    checking form.h presence... yes
    checking for form.h... yes
    checking for new_panel in -lpanelw... no
    configure: error: panelw library not found
    make: *** Nie podano obiektów i nie znaleziono makefile. Stop.
    make: *** Brak reguł do wykonania obiektu `install'. Stop.
    (...)
    
    `/home/san/alsa/alsa-driver-1.0.23/modules/snd-wss-lib.ko' -> `/lib/modules/2.6.32-21-generic/kernel/sound/snd-wss-lib.ko'
    `/home/san/alsa/alsa-driver-1.0.23/modules/snd-ymfpci.ko' -> `/lib/modules/2.6.32-21-generic/kernel/sound/snd-ymfpci.ko'
    sudo: alsaconf: command not found
    ALSA driver is already running.
    (...)
    
    san@serwer:~$ alsamixer
    cannot open mixer: Permission denied
    
    san@serwer:~$ sudo alsamixer
    cannot open mixer: No such device
  • San
    sudo apt-get install libncursesw5 libncursesw5-dev
    • Lukasz

      Uważajcie!!! W rękach laika ten skrypt może całkiem zepsuć dźwięk w kompie i będzie trzeba przeinstalować system. Ja tak miałem. Po wykonaniu skryptu wyskoczyły mi bugi i potem już za Chiny Ludowe nie moglem przywrócić dźwięków. Nie działały żadne miksery (nie miały w ogóle suwaków lub wyskakiwały okienka z errorami). Co więcej kompilacja alsy ręcznie nic nie dała. Przeinstalowałem system od nowa i trzymam się z daleka od tego. NA pewno trzeba coś jeszcze zrobić, co nie jest tu napisane. Zalecam więc ogromną ostrożność w realizacji powyższego skryptu.

  • edyta

    @Lukasz: mam wlasnie to samo i niewiem co mam zrobic, ten skrypt jest przestarzaly :///

  • edyta

    hej hej autorzy dajcie jakis solution zeby przywrocic system do poprzedniego stanu :DD

  • styk444

    W odzyskaniu dźwięku pomogły mi te komendy:
    sudo ./AlsaUpgrade-1.0.24-2.sh -d
    sudo ./AlsaUpgrade-1.0.24-2.sh -c
    sudo ./AlsaUpgrade-1.0.24-2.sh -i
    ze strony http://www.ubuntu-es.org/node/155101 ;)