Ten dokument próbuje pomóc Ci w instalacji i użytkowaniu karty Sound Blaster AWE 32 lub Sound Blaster AWE 64 firmy Creative Labs w Twoim Linuxie. Odnośnym systemem jest Debian GNU Linux na platformie Intel i586, ale metoda tu przedstawiona powinna działać z każdą inną dystrybucją Linuxa, jak i na każdej innej platformie sprzętowej obsługiwanej prze Linuxowy sterownik dźwięku (różnice będą opisane).
Pamiętaj, żeby dokładnie przeczytać "Linux Sound HOWTO" (zobacz sekcję Dodatkowe informacje. Traktuję swój dokument jako dodatek do Sound HOWTO, często możesz tam znaleźć informacje o rzeczach, których tu nie opisałem.
SB AWE 32 zawiera urządzenie dźwięku RAW, standardową syntezę OPL-2/OPL-3, port MIDI MPU-401 i syntezę Wave Table EMU 8000 o 32-głosowej polifonii (przestudiuj Sound HOWTO dla wyjaśnienia tych terminów).
SB AWE 64 ma wszystkie możliwości AWE 32 i dodatkowo syntezę Wave Guide, z której Creative Labs jest szczególnie dumny. Problemem dla użytkowników Linuxa jest fakt, że dodatkowe 32 głosy są generowane programowo i wysyłane przez urządzenia dźwięku RAW. Ponieważ Creative Labs nie widzi rynku dla sterowników pod Linuxa, sterownik syntezy Wave Guide jest dostępny tylko pod Windows 3.1 i Windows 95.
Znaczy to, że z punktu widzenia użytkownika Linuxa SB AWE 32 i AWE 64 są prawie identyczne. [AWE 64 ma troszeczkę lepsze przetworniki A/C i C/A -- przyp. tłum.] Od tej chwili będę się odnosił do SB AWE wogóle i wsponę o różnicach, jeżeli wystąpią.
Większość nowoczesnych kart na platformę Intela są kartami ISA PnP, co jest skrótem dla ,,Plug and Play''. Znaczy to, że karta musi być skonfigurowana przez system operacyjny, a to musi być wykonane przez skrypt inicjaliacyjny (initialization routine) w czasie ładowania systemu. Są co najmniej trzy możliwe sposoby na wykonanie tego, jeżeli:
Najczęściej używanym oprogramowaniem dla inicjalizacji kart PnP pod Linuxem jest ,,isapnptools'' (zobacz sekcję Źródła i sekcję Zaczynamy). Opisują one właściwie jak skonfigurować wszystkie karty ISA PnP, nie tylko kartę dzwiękową.
Niektóre sterowniki urządzeń mogą być budowane jako moduły zamiast wkompilowywania ich w jądro. Możesz znaleźć więcej informacji o modułach w ,,Kernel-HOWTO'' i ,,Module HOWTO'' (zobacz sekcję Dodatkowe informacje).
Jeżeli posiadasz kartę PnP, musisz zainstalować obsługę dźwięku jako ładowalny moduł jądra. Znaczy to, że nie możesz wbudować sterownika dźwięku w jądro, będziesz musiał zbudować go jako moduł, który może być władowany w jądro w czasie rzeczywistym. Jest to potrzebne dlatego, że jądro będzie zainstalowane przed skonfigurowaniem karty ISA PnP, a sterownik dźwięku musi być załadowany po skonfigurowaniu karty ISA PnP.
Moduł dźwięku jądra może być załadowany ręcznie - insmod sound albo modprobe -a sound albo w poprawnej linii skryptu ładującego twojego Linuxa (w Debianie jest wymagane aby dodać linię zawierającą sound do /etc/modules). Inne podejście, to odpalenie kerneld, demona instalującego i deinstalującego moduły.
Zauważ, że kerneld może nie być najlepszym rozwiązaniem dla sterownika AWE, ponieważ zabiera to dużo czasu, aby załadować moduł do jądra, szczególnie jeżeli chcesz używać syntezy Wave Table i ładować duże banki Sound Font, co musisz zrobić za każdym razem po załadowaniu modułu. Ponieważ kerneld usuwa nieużywane moduły po jednej minucie (standardowo), lepiej jest ładować moduł dźwięku ręcznie lub w czasie ładowania systemu. Zauważ, że samodzielne ładowanie modułu zapobiega usuwaniu go przez kerneld. Przy okazji: Możesz ręcznie ładować moduł i używać kerneld w tym samym czasie. Te dwie metody nie kolidują ze sobą, ale kerneld nie zajmuje się już modułem dźwięku.
Jest to użyteczne, gdy Twoje ustawienia miksera zostają skasowane po usunięciu i ponownym załadowaniu modułu. Rozwiązanie tego problemu zostanie podane w sekcji Mikser (jest tam opis jak można uruchomić mikser automatycznie kiedy moduł dźwięku zostaje załadowany). Jednakże zajmuje to trochę czasu dla kerneld do zainstalowania modułu, załadowania banku dźwięków i uruchomienia miksera. Z tego powodu lepiej jest instalować moduł dźwięku w czasie ładowania systemu i nie pozwalać kerneld go deinstalować.
Możesz zainstalować obsługę dźwieku bezpośrednio w jądrze lub jako ładowalny moduł. Jeżeli masz kartę PnP, musisz zainstalować obsługę dźwięku jako moduł, ponieważ karta PnP musi być zainicjalizowana przez isapnptools zanim moduł zostanie zainstalowany.
Jak możesz sobie wyobrazić, będziesz musiał zrekompilować jądro. Podam ci poniżej kilka podpowiedzi. Na razie pomówmy o obsłudze dźwięku w źródłach jądra. Jądro jest dystrybuowane z darmową (Lite) wersją OSS (USS) - sterownika dźwięku. Obecna wersja tego sterownika (3.5.4) nie obsługuje SB AWE w całości, a tylko jego część podobną do SB 16. Tak więc możesz odgrywać dźwięki RAW i używać syntezy OPL-2/OPL-3, ale nie będziesz mógł odgrywać muzyki MIDI z syntezą Wave Table.
Jeżeli chcesz używać syntezy Wave Table możesz kupić komercyjny sterownik firmy 4Front Technologies (proszę, niech mnie ktoś poinformuje, jeżeli to wystarczy) albo używać [darmowej] łaty na jądro "AWE 32 Sound Driver Extension" autorstwa Takashiego Iwai. Ten pierwszy nie jest opisany przez ten dokument, przyjmuję, że chcesz używać tego ostatniego.
Sterownik ten (zobacz sekcję Źródła ) jest publikowany na licencji GNU i jest dystrybuowany z kilkoma programami użytkowymi do syntezy EMU 8000 kart SB AWE.
Awedrv jest już dołączony do testowych wersji jądra (2.1.x), ale prawdopodobnie chcesz rozszerzać stabline wersje.