Αυτό το κείμενο προσπαθεί να σας βοηθήσει να εγκαταστήσετε την Sound Blaster ΑWE 32 ή την Sound Blaster AWE 64 της Creative Labs στο Linux σύστημά σας. Το σύστημα αναφοράς είναι ένα GNU/Linux Debian GNU/Linux σε πλατφόρμα Intel i586 , αλλά θα πρέπει να δουλεύει και για κάθεbut άλλη διανομή Linux καθώς και πλατφόρμα που υποστηρίζεται από τον driver ήχου του Linux (οι διαφορές αναφέρονται όπου και αν υπάρχουν).
Βεβαιωθείτε πως διαβάσατε το Linux Sound HOWTO (δες Επιπλέον Πληροφορίες) προσεκτικά. Θεωρώ το κείμενό μου ως συμπληρωματικό του Sound HOWTO, και συχνά θα βρείτε εκεί, περισσότερες πληροφορίες για πράγματα που έχω αφήσει εκτός.
Η κάρτα ήχου SB AWE 32 παρέχει ένα raw audio device, κλασσικό σύνθεση OPL-2/OPL-3 ,μια θύρα MPU-401 MIDI και 32 φωνές EMU 8000 με Σύνθεση Πίνακα Κυματομορφών (για μια εξήγηση πάνω σε αυτούς αλλά και άλλους όρους δείτε το Linux Sound HOWTO). Ένας από τους σκοπούς αυτού του κειμένου είναι να σας βοηθήσει ώστε να κάνετε όλα αυτά τα χαρακτηριστικά να δουλεύουν σωστά.
Η SB AWE 64 έχει τις δυνατότητες της SB AWE 32 και επιπλέον την σύνθεση Wave Guide για την οποία η Creative Labs είναι περήφανη. Το πρόβλημα για τους χρήστες τουLinux είναι, πως οι επιπλέον 32 φωνές δημιουργούνται από λογισμικό και δίνουν έξοδο μέσω των raw wave devices. Επειδή η Creative Labs δεν βλέπει εμπορικό ενδιαφέρον για Linux drivers, ο driver ήχου Wave Guide synthesis είναι διαθέσιμος μόνο για τα Windows 3.1 και τα Windows 95.
Αυτό σημαίνει πως, από την σκοπιά του χρήστη Linux, η SB AWE 32 και η SB AWE 64 είναι σχεδόν ισοδύναμες. Από τώρα και στο εξής, θα αναφέρομαι μόνο στην SB AWE γενικά και θα αναφέρω μόνο διαφορές όπου εμφανίζονται (αν υπάρχουν).
Οι περισσότερες μοντέρνες κάρτες για την πλατφόρμα της Intel είναι ISA PnP κάρτες, που είναι η σύντμηση για το``Plug and Play''. Αυτό σημαίνει, πως η κάρτα πρέπει να ρυθμιστεί από το λειτουργικό σύστημα, και πως αυτό πρέπει να γίνει μέσω μιας διαδικασίας αρχικοποίησης κατά την εκκίνηση. Γενικά, υπάρχουν τουλάχιστον τρεις δυνατοί τρόποι να γίνει αυτό:
Το συχνότερα χρησιμοποιούμενο λογισμικό αρχικοποίησης PnP καρτών σε Linux είναι τα ``isapnptools'' (δες τμήμα Πηγές και τμήμα Αρχίζοντας). Παρέχουν έναν καθορισμένο τρόπο ρύθμισης όλων των καρτών ISA PnP στην μηχανή σας, και όχι μόνο της κάρτας ήχου.
Μερικοί device drivers μπορούν να χτιστούν σαν modules αντί να γίνουν compile στον πυρήνα. Μπορείτε να βρείτε περισσότερες πληροφορίες για modules στο Kernel HOWTO και το Module HOWTO (δες τμήμα Επιπλέον Πληροφορίες).
Αν έχετε μια PnP κάρτα, πρέπει να εγκαταστήσετε την υποστήριξη ήχου σαν ένα loadable kernel module. Αυτό σημαίνει πως δεν μπορείτε να χτίσετε τον driver ήχου στον πυρήνα, αλλά θα πρέπει να το χτίσετε ως module που μπορεί να φορτωθεί από τον πυρήνα κατά την εκτέλεση. Αυτό γίνεται επειδή ο πυρήνας πρέπει να φορτωθεί πριν οι ISA PnP ρυθμιστούν , και ο driver ήχου πρέπει να φορτωθεί αφού ρυθμιστεί η ISA PnP κάρτα.
Το module ήχου μπορεί να φορτωθεί χειροκίνητα με insmod sound
ή
modprobe -a sound
ή το κατάλληλο script εκκίνησης του Linux (στο
Debian, αρκεί να προσθέσετε μόνο μια γραμμή που να γράφει
sound
στο /etc/modules
). Μια άλλη προσέγγιση είναι να
σηκώσετε το kerneld
, ένα δαίμονα που εγκαθιστά και απεγκαθιστά
modules πυρήνα.
Σημειώστε πως ο kerneld
μπορεί να μην είναι η καταλληλότερη λύση
για το module ήχου της AWE, επειδή παίρνει χρόνο να φορτώσει το module
στον πυρήνα, ειδικά αν θέλετε να χρησιμοποιήσετε σύνθεση Wave Table και
να φορτώσετε μεγάλες τράπεζες δειγμάτων ήχων, πράγμα το οποίο θα πρέπει
να κάνετε κάθε φορά αφού σηκώσετε το module. Επειδή ο kerneld
διώχνει τα
αχρησιμοποίητα modules μετά από ένα λεπτό από default, είναι ίσως καλύτερο
να εισάγετε το module ήχου χειροκίνητα ή κατά την εκκίνηση.
Σημειώστε πως εισάγοντας το module ήχου χειροκίνητα ή κατά την εκκίνηση
απαγορεύει στον πυρήνα να το απομακρύνει όταν αυτό είναι ανενεργό.
Παρεμπιπτόντως: Μπορείτε χειροκίνητα να εισάγετε το module ήχου και να
χρησιμοποιήσετε τον kerneld
ταυτόχρονα. Αυτές οι δύο μέθοδοι δεν
συγκρούονται, αλλά απλά ο kerneld
δεν νοιάζεται πλέον για το module
του ήχου.
Αυτό είναι πολύ χρήσιμο αν οι ρυθμίσεις του mixer σας χαλάνε μετά την
απομάκρυνση και επανεισαγωγή του module. Μια λύση για αυτό το πρόβλημα θα
δοθεί στο τμήμα
Μίξη (εκεί περιγράφεται πως μπορείτε
να αρχίσετε τον mixer σας αυτόματα όταν το module ήχου εισάγεται).
Παρόλα αυτά, παίρνει χρόνο στον kerneld
να φορτώσει το module, τις τράπεζες
ήχων και να αρχίσει τον mixer, και γι'αυτό και άλλους λόγους είναι καλύτερο
να εισάγετε το module ήχου κατά την εκκίνηση και να μην αφήνετε τον kerneld
να το απομακρύνει.
Μπορείτε να εγκαταστήσετε υποστήριξη ήχου ενσωματωμένη στον πυρήνα ή σαν loadable module. Αν έχετε μια κάρτα PnP card,θα πρέπει να εγκαταστήσετε την υποστήριξη σαν module, επειδή η κάρτα PnP χρειάζεται να αρχικοποιηθεί με τα isapnptools πριν το module εγκατασταθεί..
Όπως μπορείτε να φανταστείτε, θα πρέπει να κάνετε ξανά compile τον πυρήνα. Θα σας δώσω μερικές συμβουλές γι' αυτό παρακάτω. Προς το παρόν, ας μιλήσουμε για την υποστήριξη ήχου στον κώδικα του πυρήνα. Ο πυρήνας έρχεται με την Δωρεάν Lite Έκδοση του OSS (USS) driver ήχου. Η τρέχουσα έκδοση αυτού του driver (3.5.4) δεν υποστηρίζει πλήρως την SB AWE, αλλά το SB 16 κομμάτι της. Έτσι, μπορείτε να έχετε raw audio device και σύνθεση OPL-2/OPL-3 αν την χρησιμοποιείτε, αλλά δεν θα είσαστε σε θέση να παίζετε MIDI με σύνθεση Wave Table.
Αν θέλετε να χρησιμοποιήσετε το Wave Table device, μπορείτε ή να αγοράσετε τον εμπορικό driver ήχου από την 4Front Technologies (κάποιος ας μου επιβεβαιώσει πως όντως δουλεύει, παρακαλώ), ή να κάνετε patch τον πυρήνα σας με το AWE 32 Sound Driver Extension του Takashi Iwai. Το πρώτο είναι έξω από τους σκοπούς του κειμένου και υποθέτω πως θα θελήσετε να χρησιμοποιήσετε το δεύτερο.
Το AWE32 Sound Driver Extension (δες ενότητα ` Πηγές) βγαίνει κάτω από άδεια χρήσης GNU και έρχεται με ένα πλήθος εργαλείων για να κάνει χρήση της σύνθεσης EMU 8000 των καρτών SB AWE.
Το λογισμικό awedrv
ήδη συμπεριλαμβάνεται στα δέντρα κώδικα των νεότερων
πυρήνων (αρχίζοντας από κάποιους πυρήνες 2.1.x) αλλά ίσως θα θέλετε να
αναβαθμίσετε τον κώδικά του παλιού σας πυρήνα που μπορεί να είναι παλιό.