Czas na powrót w wielkim stylu po długiej, blisko dwumiesięcznej nieobecności :)
Post będzie z cyklu: "wracamy do tematu". ;)
Jak zapewne pamiętacie, kilka miesięcy temu, w poście pt: "Sound Blaster X-Fi Linux Driver vs. Draken 2:0" opisałem dwie nieudane próby uruchomienia ww. karty pod linuxem SUSE 10.3. Próby te dotyczyły drivera w wersji beta (tja, widziałem już bardziej "dorobione" wersje alfa, ale jak zwał tak zwał :)) autorstwa Creative. Driver ten, dla przypomnienia, został wypuszczony pod koniec września zeszłego roku i zebrał ok 99,9% negatywnych opinii od użytkowników. Od tego czasu Creative nabrał wody w usta.
No ale, na całe szczęście, środowisko nie próżnowało i pierwszego lutego br. OSS wypuścił wersję 4.0 b. 1013 swoich driverów, zamieszczając tam wersję "early BETA" drivera SB X-Fi. Nawet Creative Open Source, zamieścił o tym krótką notkę na swojej stronie.
Proces instalacji
Jak zazwyczaj, są dwa sposoby na instalację: paczka RPM (należy pamiętać o ściągnięciu właściwej) oraz kompilacja ze źródeł. Po wykonaniu instalacji trzeba jeszcze przeprowadzić niezbędną konfigurację
Instalacja paczki RPM
Instalujemy klasycznie za pomocą komendy:
rpm -i [nazwa_paczki].rpmi tyle na ten temat.
Instalacja ze źródeł
Najpierw musimy ściągnąć paczkę ze źródłami, najlepiej stąd.
Później należy postępować zgodnie z zawartymi w paczce instrukcjami, dlatego że proces instalacji różni się znacznie od klasycznego configure.sh&&make&&make install. Szczególną uwagę należy poświęcić prerekwizytom. Ponadto, trzeba jeszcze doinstalować narzędzie libtool (na liście prerekwizytów śladu po nim nie ma, natomiast bez niego instalacja się wykłada).
Konfiguracja
Wszystko jedno, który sposób instalacji wybierzemy, zakończy się ona z wielkim hukiem, wyświetleniem błędu:
ERROR: Module snd_ac97_codec is in use by snd_intel8x0Błąd ten jest spowodowany konfliktem driverów OSS z zainstalowanymi domyślnie w OpenSUSE 10.3 driverami ALSA. Jednakże OSS zawiera skrypt, za pomocą którego możemy zdezaktywować drivery ALSA. W tym celu należy wykonać następujące kroki:
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
ERROR: Module snd_intel8x0 is in use
ERROR: Module snd_ac97_codec is in use by snd_intel8x0
ERROR: Module snd_pcm is in use by snd_intel8x0,snd_ac97_codec
ERROR: Module snd_timer is in use by snd_pcm
ERROR: Module snd_page_alloc is in use by snd_intel8x0,snd_pcm
Failed to disable conflicting sound drivers
Reboot and try running soundon again
1. Zalogować się jako root
2. Uruchomić skrypt /usr/lib/oss/scripts/remove_drv.sh
3. Po uruchomieniu tego skryptu należy skasować to co zostało zainstalowane (czyli rpm -e oss-linux jeżeli instalowaliśmy z paczki, lub make clean jeżeli ze źródeł)
4. i powtórzyć instalację. Teraz nie powinno być już konfliktu sterowników. (Bardziej treściwe omówienie tematu zawiera ten wątek forum OSS.)
Na sam koniec nie zawadzi przenieść naszą kartę dźwiękową na sam wierzch stosu wykrytych przez OSS urządzeń. Aby tego dokonać:
1. Logujemy się jako root
2. Edytujemy plik /usr/lib/oss/etc/installed_drivers, przenosząc wpis rozpoczynający się od sbxfi do linii 1
Na zakończenie restartujemy system.
Po restarcie, za pomocą komendy
osstesttestujemy instalację sterowników.
Z testów wynika, że driver pozwala karcie na działanie jedynie w trybie 2.1 (zamiast 7.1 jak pod Windows). No ale od czegoś trzeba przecież zacząć. :)

