ALSA Setup (Polski)

From ArchWiki

Jump to: navigation, search


i18n
English
Deutsch
Nederlands
Русский
Slovensky
中文(简体)
עברית
Polski
Português do Brasil

Ten dokument pomoże Ci uruchomić i poprawnie skonfigurować system dźwiękowy ALSA zarówno z kernelem 2.4 jak i 2.6. Zobacz również zezwól kilku programom na jednoczesne odtwarzanie dźwięku.

Contents

Instalacja

Sterowniki Kernela

Kernel 2.4.x

Aby uzyskać dźwięk korzystając z kernela z serii 2.4, musisz zaistalować odpowiednie sterowniki ALSA. W przypadku, kiedy używasz dostarczonego przez dystrybucję kernela, kernel24 lub kernel24-scsi, wystarczy zaistalować pakiet alsa-driver za pomocą pacmana:

# pacman -Sy alsa-driver
# depmod -a

W przypadku kiedy skompilowałeś własną wersję kernela 2.4, będziesz musiał samemu utworzyć pakiet 'alsa-driver' za pomocą ABS, pamiętając przy tym, aby kompilacji dokonywać na uruchomionym już własnym kernelu. Następnie utworzony pakiet instalujemy za pomocą komendy:

# pacman -A /ścieżka/do/alsa-driver
# depmod -a

Kernel 2.6.x

Kernele z serii 2.6 posiadają już wbudowane sterowniki Alsa, które znajdują się również we wszystkich paczkach kernel26*. Jeżeli postanowisz utworzyć kernel z własną konfiguracją, nie zapomij zaznaczyć odpowiednich opcji sterownika alsa.

Wszystkie wymagane moduły powinny zostać wykryte i załadowane automatycznie. NIGDY nie używaj alsaconf jeżeli masz kartę dźwiękową na PCI lub ISAPNP, ponieważ wpisy, które dodaje alsaconf do pliku modprobe.conf mogą spowodować niepoprawne działanie daemona udev.

Warto Zaistalować

  • Wymagane przez programy korzystające z Alsy i do konfiguracji.
# pacman -Sy alsa-lib alsa-utils
  • Zalecane jeżeli chcesz używać aplikacji ze wsparciem dla OSS włącznie z dmix.
# pacman -S alsa-oss

Większość programów korzystających z alsy posiada w zależnościach alsa-lib.

Konfiguracja

Upewnianie się że moduły dźwiękowe są załadowane poprawnie

Możesz upewnić się czy udev (lub hotplug dla kerneli 2.4) prawidłowo wykrył i załadował moduły dźwięku wydając komendę

$ lsmod|grep ^snd
snd_usb_audio          69696  0 
snd_usb_lib            13504  1 snd_usb_audio
snd_rawmidi            20064  1 snd_usb_lib
snd_hwdep               7044  1 snd_usb_audio
snd_seq_oss            29412  0 
snd_seq_midi_event      6080  1 snd_seq_oss
snd_seq                46220  4 snd_seq_oss,snd_seq_midi_event
snd_seq_device          6796  3 snd_rawmidi,snd_seq_oss,snd_seq
snd_pcm_oss            45216  0 
snd_mixer_oss          15232  1 snd_pcm_oss
snd_intel8x0           27932  0 
snd_ac97_codec         87648  1 snd_intel8x0
snd_ac97_bus            1792  1 snd_ac97_codec
snd_pcm                76296  4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              19780  2 snd_seq,snd_pcm
snd                    43776  12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc          7944  2 snd_intel8x0,snd_pcm

Jeżeli wynik tego polecenia wygląda u ciebie podobnie, oznacza to, że sterowniki zostały wykryte prawidłowo i są uruchomione (w tym przypadku moduły, snd_intel8x0 oraz snd_usb_audio są sterownikami do urządzeń sprzętowych). Możesz również sprawdzić katalog /dev/snd aby upewnić się, czy istnieją odpowienie pliki urządzenia (tylko kernel 2.6 i udev):

$ ls -l /dev/snd/
total 0
crw-rw----  1 root audio 116,  0 Apr  8 14:17 controlC0
crw-rw----  1 root audio 116, 32 Apr  8 14:17 controlC1
crw-rw----  1 root audio 116, 24 Apr  8 14:17 pcmC0D0c
crw-rw----  1 root audio 116, 16 Apr  8 14:17 pcmC0D0p
crw-rw----  1 root audio 116, 25 Apr  8 14:17 pcmC0D1c
crw-rw----  1 root audio 116, 56 Apr  8 14:17 pcmC1D0c
crw-rw----  1 root audio 116, 48 Apr  8 14:17 pcmC1D0p
crw-rw----  1 root audio 116,  1 Apr  8 14:17 seq
crw-rw----  1 root audio 116, 33 Apr  8 14:17 timer

Jeżeli znajdują się na liście urządzenia controlC0 oraz pcmC0D0p lub podobne to moduły dźwiękowe zostały wykryte i załadowane poprawnie.


Kiedy brak tych urządzeń na liście, musisz załadować moduły ręcznie:

 # modprobe snd-NAZWA-MODUŁU
 # modprobe snd-pcm-oss
  • Sprawdź pliki urządzenia /dev/snd (zobacz powyżej) i/lub czy alsamixer lub amixer nie zawierają błędów.
  • Dodaj snd-pcm-oss oraz snd-NAZWA-MODUŁU do listy MODUŁÓW w /etc/rc.conf aby upewnić się, że następnym razem zostaną załadowane automatycznie .

Zmiana głośności i testowanie karty

  • Zwiększanie głośności
 # amixer set Master 75 unmute
 # amixer set PCM 75 unmute

Możesz do tego użyć również interfejsu graficznego 'alsamixer'
UWAGA: Kiedy używasz alsamixer, upewnij się, że nie dźwięk nie jes wyciszony wciskając M.

  • Spróbuj uruchomić plik wav
aplay mywav.wav

Ustawianie Uprawnień

Aby umożliwić zwykłemu uzytkownikowi korzystanie z karty dźwiękowej, wykonaj następujące kroki:

  • Dodaj użytkownika do grupy audio:
# gpasswd -a UŻYTKOWNIK audio
  • Wyloguj i zaloguj ponownie użytkownika, aby wczytać nowe ustawienia grup.

Wczytywanie ustawień Alsa Mixer przy starcie

  • Uruchom 'alsactl', aby stworzyć '/etc/asound.state'
alsactl store
  • Edytuj '/etc/rc.conf' oraz dodaj wpis 'alsa' do listy daemonów uruchamianych przy starcie systemu. Spowoduje do zapisywanie ustawień przy każdym wyłączaniu sytemu i odtwarznie ich podczas uruchaminia.

Ustawienia Wyjścia SPDIF

(zaczerpnięte z foum gentoo)

  • W Gnome Volume Control (regulacja głośności), upewnij się, że w preferencjach jest zaznaczone PCM.
  • Jeżeli nie masz zaistalowanego Gnome Volume Control,
    • Edytuj /etc/asound.state. Jest to plik gdzie alsa przechowuje ustawienia miksera.
    • Znajdź linię  : 'IEC958 Playback Switch'. W pobliżu znajduje się linia z value:false. Zamień to na value:true
    • Teraz znajdź linię: 'IEC958 Playback AC97-SPSA' i zmień value (wartość) na 0.
    • Restart alsa.

Innym sposobem na włączenie wyjścia SPDIF automatycznie przy logowaniu (przetestowane na SoundBlaster Audigy):

  • dodaj następujace linie do /etc/rc.local:
 # Use COAX-digital output
 amixer set 'IEC958 Optical' 100 unmute
 amixer set 'Audigy Analog/Digital Output Jack' on

Nazwę cyfrowego wyjścia na twojej karcie dźwiekowej możesz znaleźć wpisując:

 amixer scontrols

Dźwięk Wciąż Nie Działa?

Nawet kiedy zainstalowałeś poprawnie sterowniki i odpowiednio ustawiłeś poziom głośności oraz nic nie jest wyciszone, niczego nie słyszysz, dodanie następującej linii do /etc/modprobe.conf powinno rozwiązać problem (przynajmniej dla sterownika via82xx).

options snd-NAME-OF-MODULE ac97_quirk=0


Ustawienia KDE

  • Uruchom KDE:
# startx
  • Ustaw poziom głośności dla zalogowanego użytkownika (każdy użytkownik ma swoje własne ustawienia):
# alsamixer
  • KDE 3.3 Otwórz K Menu > Multimedia > KMix
    • Wybierz ustawienia > konfiguracja KMix...
    • Odznacz opcję "Przywróć głośność przy logowaniu"
    • Wciśnij OK. Od teraz głośność będzie taka sama zarówno w KDE jak i z wyłączonym środowiskiem graficznym.
Personal tools