ALSA (Advanced Linux Sound Architecture) to system zapewniający obsługę audio i MIDI (Musical Instrument Digital Interface) w systemach opartych na jądrze Linux. Począwszy od jąder z serii 2.6, ALSA stała się domyślnym systemem dźwiękowym, wypierając nieco już przestarzały OSS (Open Sound System) używany w jądrach 2.4.
Główne zalety systemu ALSA to: wydajna obsługa wszystkich typów kart dźwiękowych, poczynając od najtańszego sprzętu, a kończąc na w pełni profesjonalnych rozwiązaniach, modularna budowa sterowników, bezpieczeństwo wątków i współpraca z SMP oraz pełna wsteczna kompatybilność z OSS, a także biblioteki alsa-lib znacznie ułatwiające tworzenie nowego oprogramowania.
Dawniej w Gentoo były dwa sposoby instalacji sterowników ALSA. Można było użyć modułów wbudowanych w jądro lub zainstalować zewnętrzny pakiet o nazwie alsa-driver. Obie metody dostarczały tego samego sterownika, a zarządzanie zewnętrznym pakietem kosztowało mnóstwo czasu i pracy. W związku z tym opiekunowie sterowników ALSA w Gentoo zrezygnowali z pakietu alsa-driver koncentrując swoją uwagę i zasoby na pracy nad sterownikami dostarczanymi wraz z jądrem. To dlatego obecnie ten tekst zawiera jedynie informacje na temat konfiguracji sterowników dostarczanych wraz z jądrem.
Użytkownicy, którzy uważają, że muszą mieć dostęp do pakietu alsa-driver, gdyż sterowniki z jądra u nich nie działają, powinni przesłać dokładny opis problemu do zespołu Gentoo/ALSA.
2. Instalacja sterowników ALSA
Do przejścia przez cały proces konieczna będzie znajomość modelu używanej karty dźwiękowej, aby móc wybrać dla niej odpowiedni sterownik. W większości przypadków karty dźwiękowe (nieważne czy zintegrowane na płycie głównej czy nie) to urządzenia PCI, dzięki czemu można skorzystać z programu lspci do poznania ich nazwy. Jeśli nie ma takiego polecenia w systemie, należy wykonać emerge sys-apps/pciutils, aby stało się ono dostępne. W przypadku karty na złączu USB pomocne może być polecenie lsusb z pakietu sys-apps/usbutils. Dla kart ISA warto użyć pakietu sys-apps/isapnptools. Poniżej znajduje się lista stron, na których można znaleźć informacje o kartach ISA:
Uwaga: Dla uproszczenia tego tekstu zakładamy, że użytkownik posiada kartę PCI. |
Pora zatem dowiedzieć się jaką właściwie kartę dźwiękową posiadamy.
Listing 2.1: Szczegóły dotyczące karty dźwiękowej |
# lspci -v | grep -i audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
|
Teraz wiemy, że karta dźwiękowa w komputerze to Sound Blaster Live! i że jej producentem jest firma Creative Labs. Należy się zatem udać na stronę ALSA Soundcard Matrix i wybrać Creative Labs z listy na dole. Na podstronie poświęconej tej firmie, jest napisane, że tę kartę obsługuje sterownik emu10k1. To jest właśnie poszukiwana informacja. Aby poznać szczegóły, należy kliknąć na nazwę sterownika i poczytać o nim na jego podstronie.
Jeśli zamierza się korzystać z MIDI, należy dodać flagę USE midi w pliku /etc/make.conf przed instalacją jakichkolwiek pakietów związanych z ALSA. W dalszej części tekstu problem MIDI zostanie omówiony bardziej szczegółowo.
Uwaga: Od wydania 2005.0 Gentoo korzysta domyślnie z jądra serii 2.6. Należy upewnić się, że używane jądro to na pewno 2.6. Opisana poniżej metoda nie zadziała na jądrze z serii 2.4. |
Włączmy i skonfigurujmy sterowniki ALSA:
Ważne: Użytkownicy programu genkernel muszą wpisać polecenie genkernel --menuconfig all oraz postępować zgodnie ze wskazówkami z części Sterowniki ALSA w jądrze. |
Listing 2.2: Przechodzenie do konfiguracji kernela |
# cd /usr/src/linux # make menuconfig |
Uwaga: Dowiązanie /usr/src/linux musi prowadzić do źródeł kernela, którego użycie jest planowane. Warto sprawdzić czy to prawda przez rozpoczęciem jakichkolwiek operacji opisanych poniżej. |
Poniżej znajduje się przegląd dostępnych w jądrach serii 2.6 opcji konfiguracyjnych zapewniających obsługę określonej karty dźwiękowej.
Warto zwrócić uwagę, że dla uproszczenia we wszystkich przykładach budowane są sterowniki w postaci modułów. Sugeruje się, aby postąpić podobnie oraz nie zapominać o czynnościach opisanych w akapicie Konfiguracja tego tekstu. Dla sterowników wbudowanych na stałe w jądro trzeba dokonać odpowiedniej korekty w pewnych punktach konfiguracji.
Listing 2.3: Sterowniki ALSA w jądrze |
Device Drivers ---> Sound ---> (To trzeba włączyć) <M> Sound card support (Tej opcji nie należy włączać) Open Sound System ---> < > Open Sound System (DEPRECATED) (Menu wyżej znajdują się opcje ALSA) Advanced Linux Sound Architecture ---> <M> Advanced Linux Sound Architecture (Włącza obsługę MIDI) <M> Sequencer support (Obsługa /dev/mixer* i /dev/dsp* w starym stylu) <M> OSS Mixer API <M> OSS PCM (digital audio) API (Teraz należy wybrać urządzenia, dla których zostanie zbudowany sterownik. W większości przypadków jest to tylko jedna karta. Jeśli jednak jest ich więcej należy zaznaczyć sterowniki dla każdej z posiadanej) (Nie jest to konieczne dla zwykłych użytkowników, a przeznaczone głównie dla doświadczonych osób do różnego rodzaju testów) Generic devices ---> (Dla kart dźwiękowych na slocie ISA) ISA devices ---> (Dla posiadaczy karty Gravis) <M> Gravis UltraSound Extreme (Należy przejść poziom wyżej, do urządzeń PCI. Większość kart dźwiękowych obecnie to właśnie karty PCI) PCI devices ---> (Należy wybrać sterownik emu10k1 dla przykładowej karty) <M> Emu10k1 (SB Live!, Audigy, E-mu APS) (Dla karty Intela) <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller (Dla karty VIA) <M> VIA 82C686A/B, 8233/8235 AC97 Controller (Poziom wyżej znajduje się podobne menu do wyboru kart USB USB Devices ---> |
Po skonfigurowaniu wszystkich opcji należy ponownie zbudować jądro i uruchomić z niego system tak, aby obsługa ALSA stała się dostępna. Po wszystkim należy zaktualizować konfigurację GRUB-a. Kolejny etap konfiguracji to Narzędzia do pracy z systemem ALSA.
3. Konfigurowanie i testowanie ALSA
Narzędzia do pracy z systemem ALSA
alsa-utils to pakiet zawierający wiele bardzo użytecznych programów oraz skrypty startowe dla ALSA. Jest on integralną częścią tego systemu i dlatego bardzo mocno sugeruje się zainstalowanie go.
Listing 3.1: Instalowanie alsa-utils |
# emerge alsa-utils
|
Uwaga: Jeśli sterowniki ALSA nie zostały dodane do jądra jako moduły lecz wbudowane na stałe, w tym momencie można przejść wprost do konfiguracji skryptu startowego ALSA. Jeśli natomiast sterowniki te są modułami, trzeba dokonać paru drobnych zmian w konfiguracji systemu. Będzie to seria prostych czynności przy użyciu programu alsaconf z pakietu alsa-utils. |
Nowsze wersje udev (>=udev-103) pozwalają na pewien stopień konfiguracji karty poprzez jądro. Jeśli to możliwe, należy pozwolić kernelowi na konfigurację karty. Jeśli to nie zadziała, należy skorzystać z alsaconf tak jak opisujemy to poniżej.
Uwaga: Przed uruchomieniem alsaconf należy zamknąć wszystkie programy, które mogą korzystać z karty dźwiękowej w trakcie jej konfiguracji. |
Jednym z programów służących do konfiguracji karty jest alsaconf. Wpisujemy zatem to polecenie z konta roota.
Listing 3.2: Uruchamianie alsaconf |
# alsaconf
|
Pojawi się menu, które automatycznie sprawdzi wszystkie urządzenia w komputerze, spróbuje uzyskać informację o karcie dźwiękowej i poprosi o wybranie modelu z listy. Potem zapyta o pozwolenie na automatyczną zmianę pliku /etc/modules.d/alsa, a później przystąpi do dostosowywania poziomów głośności w celu wybrania optymalnych do danej sytuacji. Na koniec uruchomi polecenie update-modules i wystartuje skrypt /etc/init.d/alsasound. Kiedy alsaconf zakończy pracę będzie można przystąpić do konfiguracji skryptu startowego.
To już niemal wszystko. Niezależnie od tego, którą metodę instalowania sterowników wybrano, będzie potrzebne coś co je załaduje oraz odtworzy poziom głośności przy każdym uruchomieniu komputera. Zajmuje się tym skrypt startowy o nazwie alsasound. Należy go dodać do poziomu uruchomieniowego o nazwie "boot".
Listing 3.3: Dodawanie ALSA do poziomu boot |
# rc-update add alsasound boot
* alsasound added to runlevel boot
* rc-update complete.
|
Następnie należy sprawdzić plik /etc/conf.d/alsasound i upewnić się, że zmienna SAVE_ON_STOP ma wartość "yes". Dzięki temu ustawienia głośności będą zapisywane przed wyłączeniem komputera.
Przed przystąpieniem do testowania nowej konfiguracji należy ustawić jeszcze jedną, ważną rzecz. Do głównych reguł w systemach UNIX-owych należy ta, aby nigdy nie uruchamiać programu z prawami roota jeśli nie jest to absolutnie konieczne. Tę regułę można zastosować również w tym przypadku. Dlaczego? Przez większość czasu spędzanego przy komputerze użytkownik jest zalogowany na własne konto, a jeśli chce posłuchać muzyki, musi mieć dostęp do odpowiednich urządzeń. Aby taki dostęp uzyskać, użytkownik musi być członkiem grupy "audio". Należy więc dodać użytkownika do tej grupy, dzięki czemu nie będzie miał problemów z korzystaniem z urządzeń dźwiękowych. Do zmiany przynależności użytkownika do grup używamy programu gpasswd. Do dokonania zmiany potrzebne są przywileje roota.
Listing 3.4: Dodawanie użytkownika do grupy audio |
(Należy zastąpić słowo <username> odpowiednią nazwą użytkownika) # gpasswd -a <username> audio Adding user <username> to group audio |
Gdy wszystkie przygotowania zostały zakończone, można przystąpić do uruchomienia ALSA. Użytkownicy alsaconf mogą pominąć ten krok, program uruchomił dźwięk za nich.
Listing 3.5: Uruchamianie usługi |
# /etc/init.d/alsasound start
|
Po zakończeniu etapu przygotowań można sprawdzić czy przypadkiem dźwięk nie jest całkowicie wyciszony. Do tego celu można użyć programu alsamixer.
Listing 3.6: Uruchamianie alsamixer |
(Otwiera konsolowy program, który pokazuje tylko wymagane ustawienia # alsamixer |
Oto jak mixer ALSA może wyglądać przy pierwszym uruchomieniu. Należy zwrócić uwagę, że pod kanałami Master i PCM znajdują się literki MM. Oznacza to, że są one wyciszone. To właśnie przez to z głośników nie wydobywa się dźwięk.
Ilustracja 3.1: Główne okno Alsa Mixer, sytuacja przy wyciszonym dźwięku |
![]() |
Trzeba zatem włączyć dźwięk w obu kanałach i ustawić odpowiednio jego głośność.
Ostrzeżenie: Aby usłyszeć jakikolwiek dźwięk, należy włączyć oba kanały - PCM i Master i odpowiednio ustawić głośność. |
Uwaga: Należy uważać przy zmianie wartości Bass i Treble. 50 to w większości przypadków odpowiednie rozwiązanie. Zbyt wysokie ustawienia mogą skutkować irytującymi zniekształceniami dźwięku. |
Po ustawieniu ALSA Mixer powinien wyglądać mniej więcej tak jak ten poniżej. Warto zwrócić uwagę na wartość 00 w miejscu MM ze zdjęcia wyżej oraz na dobrane odpowiednie ustawienia głośności.
Ilustracja 3.2: Alsa Mixer po dokonaniu zmian |
![]() |
Jeśli wszystko poszło dobrze, można wreszcie posłuchać muzyki. Nada się do tego zarówno jakiś mały i prosty program konsolowy, jak na przykład media-sound/madplay lub coś znacznie popularniejszego i bardziej skomplikowanego jak mpg123. Fani formatu ogg mogą użyć programu ogg123 z pakietu media-sound/vorbis-tools. Można użyć do tego dowolnego programu, do jego instalacji jak zwykle używamy polecenia emerge.
Listing 3.7: Instalowanie programów |
(Instalowanie programu do odtwarzania plików .mp3) # emerge madplay mpg123 (Instalowanie programu do odtwarzania plików .ogg) # emerge vorbis-tools |
Później można odtworzyć ulubioną piosenkę:
Listing 3.8: Odtwarzanie muzyki |
# madplay -v ~/mp3/Boys\ -\ Jesteś\ Szalona.mp3 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. Title: Jesteś Szalona Artist: Boys Album: Year: Genre: Disco Polo 00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC # ogg123 ~/mp3/Boys\ -\ Jesteś\ Szalona.ogg Audio Device: Advanced Linux Sound Architecture (ALSA) output Playing: Boys - Jesteś Szalona.ogg Ogg Vorbis stream: 2 channel, 44100 Hz Genre: Disco Polo Transcoded: mp3;160 Title: Jesteś Szalona Artist: Boys Date: Album: Time: 00:11.31 [04:28.75] of 04:40.06 (200.6 kbps) Output Buffer 96.9% |
Warto dodać flagę alsa do listy flag USE w pliku /etc/make.conf, aby upewnić się, że wszystkie programy mogące współpracować z ALSA zostaną zbudowane z jej obsługą. Niektóre architektury jak x86 czy amd64 mają tę flagę włączoną domyślnie.
Jeśli z jakichś powodów nie słychać dźwięku, po pierwsze należy sprawdzić ustawienia alsamixer. Większość problemów z dźwiękiem jest spowodowana jego wyciszeniem lub niedostatecznym zwiększeniem głośności. Warto również sprawdzić pod kątem tych samych niepożądanych ustawień aplikację zarządzającą poziomem głośności w używanym menedżerze okien.
System plików /proc również może okazać się tu przydatny, zwłaszcza jego podkatalog - /proc/asound. Poniżej znajdują się pokrótce omówione zawarte tam pozycje.
Listing 3.9: Informacje z /proc/asound |
(Jeśli w pliku /proc/asound/cards znajduje się właściwa nazwa karty to ALSA sobie z nią doskonale radzi) # cat /proc/asound/cards 0 [Live ]: EMU10K1 - Sound Blaster Live! Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11 (To polecenie wyświetli używaną wersję ALSA) # cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC). (Szczegóły emulacji OSS przez ALSA) # cat /proc/asound/oss/sndstat Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code) Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686 Config options: 0 Installed drivers: Type 10: ALSA emulation Card config: Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11 Audio devices: 0: EMU10K1 (DUPLEX) Synth devices: NOT ENABLED IN CONFIG Midi devices: 0: EMU10K1 MPU-401 (UART) Timers: 7: system timer Mixers: 0: SigmaTel STAC9721/23 |
Kolejnym bardzo częstym problemem jest pojawiająca się informacja o nieznanym symbolu w module - "Unknown symbol in module".
Listing 3.10: Nieznany symbol w module |
# /etc/init.d/alsasound start
* Loading ALSA modules ...
* Loading: snd-card-0 ... [ ok ]
* Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-seq ... [ ok ]
* Loading: snd-emu10k1-synth ... [ ok ]
* Loading: snd-seq-midi ... [ ok ]
* Restoring Mixer Levels ... [ ok ]
|
Po uważnym przyjrzeniu się dmesg, da się znaleźć takie wpisy:
Listing 3.11: Wyjście dmesg |
(Zbędne fragmenty wyniku poniższego polecenia zostały wycięte) # dmesg | less ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209 snd_mixer_oss: Unknown symbol snd_unregister_oss_device snd_mixer_oss: Unknown symbol snd_register_oss_device snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback snd_mixer_oss: Unknown symbol snd_oss_info_register snd_pcm_oss: Unknown symbol snd_unregister_oss_device snd_pcm_oss: Unknown symbol snd_register_oss_device snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card snd_pcm_oss: Unknown symbol snd_oss_info_register snd_mixer_oss: Unknown symbol snd_unregister_oss_device snd_mixer_oss: Unknown symbol snd_register_oss_device snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback snd_mixer_oss: Unknown symbol snd_oss_info_register |
Taki problem pojawia się po przejściu ze sterowników z pakietu alsa-driver na te wbudowane w jądro, ponieważ mimo usunięcia alsa-driver, moduły wciąż pozostają w systemie dzięki ochronie plików konfiguracyjnych. Zatem mimo przejścia na moduły wbudowane w jądro polecenie modprobe wciąż będzie ładowało mieszankę modułów z pakietu i z jądra.
Rozwiązanie jest proste, należy usunąć cały katalog z modułami tuż po odinstalowaniu pakietu alsa-driver. Warto się upewnić, że wersja jądra z poniższego wpisu jest prawidłowa.
Listing 3.12: Usuwanie modułów alsa-driver |
# rm -rf /lib/modules/$(uname -r)/alsa-driver
|
Jednym z częstych powodów pojawiania się komunikatów błędu podobnych do tych podanych powyżej może być definiowanie parametru device_mode w plikach z katalogu /etc/modules.d, gdy nie jest to konieczne. Należy przeszukać wszystkie pliki w tym katalogu i znaleźć ten, który jest winowajcą.
Listing 3.13: Poszukiwania device_mode |
(Sprawdzenie w dmesg # dmesg | grep device_mode snd: Unknown parameter `device_mode' (Poszukiwanie źródła błędu) # grep device_mode /etc/modules.d/* |
Zwykle wynikiem tego poszukiwania będzie plik o nazwie alsa wewnątrz którego znajdować będzie się linia options snd device_mode=0666. Należy ją usunąć i ponownie uruchomić skrypt startowy alsasound.
Przede wszystkim należy sprawdzić czy flaga USE midi jest włączona w pliku /etc/make.conf. Jeśli nie jest, należy ją włączyć. Konieczne będzie przeinstalowanie wszystkich pakietów, które jej używają, takich jak alsa-lib i alsa-utils.
Jeśli karta dźwiękowa posiada syntezator MIDI i jeśli chce się korzystać z dźwięków zapisanych w formacie .mid, konieczne będzie wykorzystanie zestawu programów o nazwie awesfx kontrolującego sterowniki AWE32. Po pierwsze należy go zainstalować. Jeśli karta nie posiada sprzętowego syntezatora można użyć wirtualnego. Więcej informacji o nim znajduje się w akapicie wirtualne syntezatory.
Listing 4.1: Instalowanie awesfx |
# emerge awesfx
|
Uwaga: Potrzebne będzie też skopiowanie plików SoundFont (SF2) z płyty ze sterownikami do karty dźwiękowej do katalogu /usr/share/sounds/sf2/. Przykładowa nazwa pliku SoundFont dla karty Creative SBLive! to 8MBGMSFX.SF2. |
Po przekopiowaniu plików SoundFont można odtwarzać pliki tak jak w poniższym przykładzie. Warto dodać polecenie asfxload do skryptu /etc/conf.d/local.start tak, aby pliki te były wczytywane przy każdym uruchomieniu komputera.
Uwaga: Ścieżki do katalogów w /mnt niemal na pewno będą inne, podajemy tu tylko przykład, wszystkie polecenia należy odpowiednio skorygować. |
Listing 4.2: Przegrywanie plików soundfont |
(Kopiowanie pliku) # cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/ (Jest też na płycie SoundBlastera) # cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/ (A następnie należy go wczytać) # asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2 |
Od tej pory można odtwarzać midi za pomocą programów takich jak na przykład aplaymidi. Polecenie aplaymidi -l wyświetli listę dostępnych portów, należy wybrać jeden do odtworzenia określonego pliku.
Listing 4.3: Odtwarzanie MIDI |
(Sprawdzanie otwartych portów) # aplaymidi -l Port Client name Port name 64:0 EMU10K1 MPU-401 (UART) EMU10K1 MPU-401 (UART) 65:0 Emu10k1 WaveTable Emu10k1 Port 0 65:1 Emu10k1 WaveTable Emu10k1 Port 1 65:2 Emu10k1 WaveTable Emu10k1 Port 2 65:3 Emu10k1 WaveTable Emu10k1 Port 3 (Wybieranie portu i odtwarzanie pliku) # aplaymidi --port=65:0 ~/mid/jestes_szalona.mid |
Jeśli karta nie posiada sprzętowego syntezatora, potrzebny będzie wirtualny, na przykład timidity++. Jego instalacja to prosta sprawa.
Listing 4.4: Instalowanie timidity++ |
# emerge timidity++
|
Aby timidity odgrywało dźwięki również potrzebny jest soundfont. Na szczęście kilka zostaje zainstalowanych przez ebuild. W Portage znajduje się też kilka innych pakietów, takich jak timidity-freepats czy timidity-eawpatches, które to zawierają odpowiednie pliki. Można posiadać kilka wersji soundfontów, a własną konfigurację umieszcza się w pliku /usr/share/timidity/. Zmiany pomiędzy jednym, a drugim ustawieniem dla timidity dokonuje się za pomocą polecenia eselect.
Listing 4.5: Zmiana konfiguracji |
# eselect timidity list # eselect timidity set eawpatches |
Warto dodać skrypt timidity do domyślnego poziomu uruchomieniowego.
Listing 4.6: Dodawanie timidity do domyślnego poziomu uruchomieniowego |
# rc-update add timidity default # /etc/init.d/timidity start |
Od tej pory można już odtwarzać pliki MIDI.
Dodatkowe narzędzia i firmware
Niektóre karty mogą skorzystać dzięki instalacji narzędzi z pakietów alsa-tools i alsa-firmware. Instaluje się je tradycyjnie, za pomocą programu emerge.
Listing 4.7: Instalowanie narzędzi ALSA |
# emerge alsa-tools
|
W systemie może znajdować się kilka kart dźwiękowych, pod warunkiem że ich sterowniki ALSA zostały dodane do jądra jako moduły. Wyboru tego, która z nich będzie uruchamiana jako pierwsza dokonuje się w pliku /etc/modules.d/alsa. Karty są tam wymienione jako nazwy sterowników. 0 to pierwsza karta, 1 to druga i tak dalej. Oto przykład dla systemu z dwiema kartami:
Listing 4.8: Dwie karty dźwiękowe w pliku /etc/modules.d/alsa |
options snd-emu10k1 index=0 options snd-via82xx index=1 |
Jeśli posiada się dwie identyczne karty, podaje się je w jednej linii, oddzielając wpisy przecinkami. Poniżej przykład dla systemu z trzema kartami, z których dwie to karty Intel High Definition Audio.
Listing 4.9: Trzy karty dźwiękowe w pliku /etc/modules.d/alsa |
options snd-ymfpci index=0 options snd-hda-intel index=1,2 |
Istnieje zestaw dodatków do ALSA, które zwiększają możliwości tego pakietu. Pakiet alsa-plugins zawiera dodatki takie jak wyjście Pulse Audio, konwerter częstotliwości, jack (serwer audio) oraz encoder pozwalający na przesyłanie dźwięku sześciokanałowego poprzez cyfrowy kanał S/PDIF. Wybrane dodatki instaluje się za pomocą odpowiednich flag USE.
Listing 4.10: Instalacja alsa-plugins |
# emerge -avt alsa-plugins
|
Dziękujemy wszystkim, którzy tworzyli poprzednią wersję tego tekstu, osoby te to kolejno: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft and Erwin.
Adresy stron związanych z tematem
Materiał udostępniany na podstawie licencji Creative Commons - Attribution / Share Alike.