ALSA Setup (Polski)
From ArchWiki
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:
- Znajdź odpowiedni moduł dla twojej karty dźwiękowej: http://www.alsa-project.org/alsa-doc/ Nazwa modułów zaczyna się od 'snd-' (na przykład: 'snd-via82xx').
- Załaduj moduły:
# 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.