|
Karta
dźwiękowa pod Linuksem
Istnieje kilka sposobów skonfigurowania karty dźwiękowej w systemie linux. To,
który z nich wybierzemy, zależy przede wszystkim od : typu naszego urządzenia,
wersji systemu (dystrybucji).
W najlepszej sytuacji znajdują się użytkownicy dystrybucji zawierających własne
narzędzia konfiguracyjne. Pozwalają one na automatyczne wykrycie naszej karty i
same ją za nas (lub z niewielką pomocą) skonfigurują. Dzięki temu możemy bardzo
szybko i przede wszystkim bezproblemowo zainstalować nasze urządzenie.
Przykładami takich aplikacji są: YAST2 działający pod SUSE 7.0 lub tekstowy
sndconfig z Red Hata.
Nie zapominajmy jednak, iż nie wszystkie dystrybucje pełne są takich dodatków.
Może także się zdarzyć, iż programy te nie potrafią ustawić poprawnie parametrów
naszej karty dźwiękowej. Jeśli znajdujemy się w takiej systuacji, nie pozostaje
nam nic innego, jak zainstalować sterowniki ALSA. Wystraczy nam alsa-driver.
Sterowniki te zastępują standardowe "OSS/Free drivers" dostarczane z jądrem.
Choć ten sposób instalacji nie jest trudny, może łatwo odstraszyć zwolenników
aplikacji typu sndconfig. W dalszej części artykułu przedstawię w kilku
punktach, jak dokonać tego szybko i bezboleśnie.
1) Zanim zaczniemy, sprawdźmy, czy posiadamy źródła jądra z serii co najmniej
2.2.x oraz czy mamy załączoną w nim obsługę dźwięku. Podczas konfiguracji
kernela powinniśmy zazanaczyć opcje:
Sound :
�<M> Sound
Card Support�
�<M> OSS
Modules�
�[ * ]
Verbose initialisation�
�[ * ]
Persistent DMA buffers�
Nie zaszkodzi także przejrzeć pozostałch możliwości. Może się bowiem okazać, że
znajdziemy wśród nich typ naszej karty. Należy wówczas zaznaczyć taką opcję. Po
zapisaniu ustawień i utworzeniu nowego jądra możemy przystąpić do właściwej
instalacji (jeżeli okazało się, że nasza karta jest obsługiwana przez jądro, to
po starcie systemu z nowego "kernela" dźwięk powinnien już działać. Możliwe, że
będzie trzeba załadować jeszcze odpowiedni moduł).
2) Po rozpakowaniu alsa-driver, sprawdzamy w pliku ~/doc/SOUNDCARDS (�~� oznacza
katalog,w którym rozpakowaliśmy źródła), czy nasza karta jest obsługiwana. Warto
także zanotować ścieżki:
a) źródeł naszego jądra, np. /usr/src/linux-2.4.5 (nazwijmy ją ścieżka)
b) biblioteki modułów, np. /lib/modules/2.4.5/misc (nazwijmy ją ścieżka2)
3) Uruchamiamy ~/configure z następującymi opcjami:
--with-kernel=ścieżka (np. zamiast ścieżka wpisujemy /usr/src/linux-2.4.5)
--with-moddir=ścieżka2 (np. zamiast ścieżka2 wpisujemy /lib/modules/2.4.5/misc)
--with-debug=full
--with-isapnp=auto
--with-sequencer=yes
--with-oss=yes
--with-cards=nazwa, (gdzie nazwa jest po prostu skrótem nazwy naszej karty, np.
Forte Media 801= fm801-> czyli nazwa=fm801. Jeżeli nie wiemy, jakiego skrótu
użyć, to sprawdźmy plik ~ /modules.config)
Pamiętajmy - jeżeli startujemy nasz system z jądra typu 2.2.x, to podajemy w
parametrach ścieżki dla tego jądra właśnie!
4) Po zakończeniu działania przez skrypt konfiguracyjny, wydajemy polecenie :
make install
Po zainstalowaniu sterowników powinniśmy jeszcze utworzyć odpowiednie pliki
urządzeń w katalogu /dev. W tym celu wystarczy uruchomić ~/snddevices.in .
5) Przed nami ostatnia, a zarazem najtrudniejsza czynność. Musimy dokonać edycji
pliku /etc/modules.conf (ewentualnie /etc/conf.modules. Jednocześnie nie mogą
istnieć oba. W starszych wersjach systemu spotykamy drugą wersję, dlatego warto
zwrócić uwagę na ten fakt ). Szczegółowy opis wszystkich opcji znajdziemy w
~/INSTALL. Poniżej podaję jakich wpisów należy dokonać. Oto one:
post-install snd-card-nazwa modprobe snd-pcm-oss (nazwa - patrz wcześniej)
alias char-major-116 snd
alias char-major-14 soundcore (wpiszmy tą linijkę, bowiem załączyliśmy wcześniej
emulację OSS/Free)
alias snd-card-0 snd-card-nazwa (0 jest numerem naszej karty, możemy
zainstalować aż osiem kart)
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
(ostatnie 5 linii wpisujemy, gdyż - jak już wspomniałem - włączyliśmy emulację
OSS/Free)
Dołączam własny plik �modules.conf� z ustawieniami dla karty FM801
6) Zbliżamy się do końca procesu instalacyjnego. Pozostaje nam jescze załadować
odpowiedni moduł. Wydajemy polecenia :
depmod -a
modprobe
snd-pcm-oss
modprobe snd-card-nazwa
Jeśli wszystkie poprzednie czynności wykonaliśmy dobrze, to nie pojawi się żaden
komunikat. Nasza karta już działa. Może sie zdarzyć, że po uruchomieniu np.
odtwarzacza mp3 nic nie słyszymy. Nie wpadajmy w panikę. Trzeba tylko zmienić
głośność poszczególnych kanałów mixera. Możemy użyć w tym celu Kmix z KDE lub
gmix z Gnome.
7) Uwagi końcowe - jeżeli nasza karta nie jest obsługiwana ani prze jądro, ani
też przez ALSĘ, to możemy tylko czekać, aż zostaną napisane dla niej odpowiednie
"dirvery". Warto zajrzeć na stronę projektu ALSA :
http://www.alsa-project.org
Może już się pojawiło coś nowego. Jeżeli natomiast dopiero planujemy zakup nowej
karty dźwiękowej, to najpierw sprawdźmy, czy będzie z niej pożytek pod linuksem.
Potrzebne wpisy z pliku �modules.conf� :
post-install
snd-card-fm801 modprobe snd-pcm-oss
alias
char-major-116 snd
alias
char-major-14 soundcore
alias
snd-card-0 snd-card-fm801
alias
sound-slot-0 snd-card-0
alias
sound-service-0-0 snd-mixer-oss
alias
sound-service-0-1 snd-seq-oss
alias
sound-service-0-3 snd-pcm-oss
alias
sound-service-0-8 snd-seq-oss
alias
sound-service-0-12 snd-pcm-oss
|