Questa sezione elenca le schede audio e le interfacce che sono attualmente supportate sotto Linux. Le informazioni qui presenti sono basate sugli ultimi kernel, al momento della stesura.
Il driver sonoro ha una sua numerazione delle versioni. L'ultima versione stabile del kernel di Linux era la 2.0.33, che usava la versione 3.5.4-960630 del driver sonoro.
L'autore del driver sonoro, Hannu Savolainen, normalmente rende disponibili anche delle versioni beta del driver sonoro prima che esso venga incluso come parte della distribuzione standard del kernel di Linux. La lista più aggiornata delle schede supportate è disponibile su http://www.4front-tech.com/ossfree/new_cards.html (USA) o http://personal.eunet.fi/pp/voxware/new_cards.html (Europa). Queste pagine indicano quale versione del driver sonoro è richiesta per utilizzare un dato tipo di scheda audio o se il supporto per quella scheda audio è ancora in via di sviluppo. Il file /usr/src/linux/drivers/sound/Readme.cards distribuito con il driver sonoro del kernel contiene informazioni sulle schede supportate ma non sempre è aggiornato.
Le informazioni contenute in questo HOWTO sono valide per la implementazione di Linux su processori di tipo Intel.
Il driver sonoro dovrebbe funzionare anche con molte schede audio nella implementazione per processori Alpha. Comunque qualche scheda potrebbe far nascere conflitti delle porte I/O con altri dispositivi installati nei sistemi Alpha anche se funzionasse perfettamente sulle macchine i386, quindi non si può dire, in generale, se una data scheda funzionerà oppure no senza averla provata.
Al momento della stesura di questo documento il driver sonoro non è ancora funzionante nell'implementazione per PowerPC di Linux, ma dovrebbe esserlo in futuro.
Le schede audio possono essere configurate nel kernel nell'implementazione di Linux per MIPs, e qualche macchina MIPs ha degli slot EISA e/o dell'hardware sonoro interno. Mi è stato detto che il gruppo Linux-MIPs è interessato ad una futura aggiunta del supporto sonoro.
Il kernel di Linux include un driver separato nelle sue versioni per Atari ed Amiga, driver che implementa un sottoinsieme compatibile del driver sonoro usato per la piattaforma Intel utilizzando l'hardware per il suono interno a queste macchine.
La versione di Linux per SPARC non dispone attualmente di un supporto per il suono. Come Amiga ed Atari le macchine SPARC hanno dell'hardware dedicato al suono interno alla macchina, quindi l'obiettivo può essere raggiunto solo attraverso un nuovo driver (cosa abbastanza ironica, poiché il /dev/dsp di Linux emula il dispositivo sonoro di SunOS).
Le seguenti schede audio sono supportate dal driver sonoro del kernel di Linux:
Si noti che le nuove schede audio Plug and Play (PnP) non sono completamente compatibili con il precedente modello non-PnP della stessa casa. Per esempio, la SoundBlaster16 PnP non è completamente compatibile con la SoundBlaster16 originale. La stessa cosa vale per le schede Soundscape PnP e GUS PnP. Altre informazioni riguardanti il Plug and Play possono essere trovate più avanti in questo documento.
Le seguenti schede audio non sono supportate, o a causa del fatto che sono obsolete o poiché i costruttori non rendono pubbliche le informazioni sulla programmazione necessarie per scriverne il driver:
Le altre schede audio che vengono vendute come compatibili con una delle schede supportate potrebbero funzionare se fossero compatibili a livello hardware (a livello di registri).
Anche se molte schede audio sono dette "SoundBlaster compatibili", molto poche, attualmente, sono abbastanza compatibili da funzionare con il driver di Linux per la SoundBlaster. Queste schede normalmente funzionano meglio usando il driver MAD16 o MSS/WSS. Solo le vere schede SoundBlaster fatte dalla Creative Labs, che usano i chip custom della Creative (ad es. la SoundBlaster16 Vibra) e le schede basate su MV Jazz16 e ESS688/1688 generalmente funzionano con il driver per SoundBlaster. Provare ad usare una "scheda audio a 16 bit compatibile con SoundBlaster Pro" con il driver SoundBlaster si rivela, normalmente, una perdita di tempo.
Il kernel di Linux supporta la porta SCSI di cui sono fornite alcune schede audio (ad es. ProAudioSpectrum 16) e l'interfaccia proprietaria di qualche drive CD-ROM (ad es. SoundBlaster Pro). Date un'occhiata ai Linux SCSI HOWTO e CDROM HOWTO per maggiori informazioni.
È anche disponibile un modulo del kernel caricabile per supportare le porte joystick, incluse quelle di cui qualche scheda audio è provvista.
Si noti che i driver sonoro, SCSI, CD-ROM e joystick sono completamente indipendenti l'uno dall'altro.
Per le ultime informazioni sul driver per le schede audio si controlli sul sito World-Wide Web di Hannu Savolainen il cui indirizzo è nella sezione Riferimenti.
Vi sono dei driver sonori "ufficiosi", non inclusi nella distribuzione standard del kernel di Linux, che vengono usati al posto del driver sonoro standard.
Una versione commerciale del driver sonoro per Linux è venduta da 4Front Technologies. Essa ha numerose funzioni addizionali oltre a quelle presenti nella versione free inclusa nel kernel di Linux. Per maggiori informazioni si veda la pagina web della 4Front Technologies su http://www.4front-tech.com/.
Markus Mummert ( mum@mmk.e-technik.tu-muenchen.de) ha scritto un pacchetto driver per le schede audio Turtle Beach MultiSound (classic), Tahiti e Monterey. La documentazione asserisce:
"È progettato per la registrazione/riproduzione su hard disk di alta qualità, senza perdita di sincronizzazione nemmeno su un sistema occupato. Altre funzioni, come wawe synthesis, MIDI ed elaborazione digitale dei segnali (DSP), non possono essere usate. Altresì la registrazione e la riproduzione contemporanee non sono possibili. In questo momento sostituisce VoxWare ed è stato testato in diverse versioni del kernel dalla 1.0.9 alla 1.2.1. Oltretutto è installabile sui sistemi UN*X SysV386R3.2."
Lo si può trovare su http://www.cs.colorado.edu/~mccreary/tbeach.
Kim Burgaard ( burgaard@daimi.aau.dk) ha scritto un driver e dei programmi di utilità per l'interfaccia MIDI Roland MPU-401. La voce che lo riguarda sulla Linux Software Map ne dà questa descrizione:
"Un driver per le interfacce MIDI compatibili con Roland MPU-401 (incluse Roland SCC-1 e RAP-10/ATW-10). Include una serie di utilità tra le quali un player di file Standard MIDI ed un registratore.
Molte migliorie sono state apportate dalla versione 0.11a. Tra le altre cose il driver adesso si avvale di regole per la condivisione degli IRQ e si attiene alla nuova interfaccia del kernel per i moduli. La funzione di metronomo, la possibilità di sincronizzare ad es. la grafica su una struttura di battute senza perdere in precisione, una interfaccia avanzata per replay/registrazione/overdub e molto, molto ancora."
Lo si può trovare su ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz.
Jaroslav Kysela ed altri hanno scritto un driver sonoro alternativo per la scheda Gravis UltraSound. Si possono trovare ulteriori informazioni su http://romeo.pf.jcu.cz/~perex/ultra, la home page del Linux UltraSound Project.
Altro utilizzo di una scheda audio per Linux è quello del modem per radioamatori in packet radio. I recenti kernel 2.1.x includono un driver che funziona con schede audio compatibili SoundBlaster e Windows Sound System per implementare i protocolli packet 1200 bps AFSK e 9600 bps FSK. Date un'occhiata al Linux AX25 HOWTO per altri dettagli (fra parentesi sono radioamatore anche io -- il mio callsign (in italiano si dice qrz? ndt) è VE3ICH).
È disponibile un altro driver sonoro che non richiede hardware aggiuntivo; infatti usa il PC speaker. È sicuramente più compatibile a livello software con il driver della scheda audio ma, come è normale aspettarsi, fornisce un output di qualità molto minore e occupa la CPU per un tempo molto maggiore. I risultati sono di vario tipo, poiché dipendono dalle caratteristiche di ogni singolo speaker. Per maggiori informazioni date un'occhiata alla documentazione fornita assieme alla distribuzione.
La versione attuale è la 1.1 e la si trova su ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/
Altra opzione è quella di costruire un convertitore digitale-analogico utilizzando la porta parallela della stampante e qualche componente aggiuntivo. Ciò porta ad un output di qualità superiore rispetto allo speaker del PC, ma genera ancora un pesante utilizzo di CPU. Il pacchetto del driver per il PC speaker prevede questa opzione e include le istruzioni per costruire l'hardware necessario.