Betriebssysteme müssen sich nicht nur an Ihrer Stabilität, sondern auch an der Unterstützung von Hardware messen lassen. Es ist hinlänglich bekannt, dass die meisten Hardware-Hersteller leider keine eigenen Linux-Treiber für ihre Produkte zur Verfügung stellen. Wir zeigen Auswege.
Ein häufig auftretendes Argument gegen den Einsatz von Linux war und ist die fehlende Treiber-Unterstützung für die unterschiedlichsten Hardware-Komponenten. Aus diesem Grund haben sich zahlreiche Projekte entwickelt, die genau dieses Manko beseitigt haben bzw. es noch beseitigen wollen.
Im Soundkartenbereich existieren im Wesentlichen drei Möglichkeiten, die Hardware zur Kooperation mit Linux zu überzeugen: Dies sind die in den Kernelquellen enthaltenen OSS/Lite-Treiber, das ALSA-Projekt und die kommerziell vertriebenen OSS-Treiber der Firma 4Front. Um Missverständnissen gleich im Vorfeld vorzubeugen, sei erwähnt, dass der vorliegende Artikel auf der aktuellen ALSA-Version 0.5.12a und der aktuellen OSS-Version 3.9.6b basiert. Die Betrachtungen zu Kernel-internen Treibern basieren auf Kernelversion 2.4.16. Um den Seitenbedarf dieses Artikel nicht unnötig in die Höhe zu treiben, wird von einer expliziten Diskussion der jeweils unterstützten Soundkarten abgesehen. Vielmehr wird auf die entsprechenden Web-Seiten [1], [2], [3] verwiesen.
Ins Leben gerufen wurde das ALSA-Projekt [4] Anfang 1998 durch Jaroslav Kysela. Seit Dezember 1999 wird die Entwicklung durch die SuSE AG unterstützt [5]. Heutzutage hilft jede halbwegs aktuelle Distribution bei der Installation von Soundkarten mit eigenen Konfigurationsprogrammen. In der Regel wird hierbei auf die ALSA-Treiber zurückgegriffen, da diese unter der GPL bzw. LGPL stehen und zahlreiche Soundkarten ansprechen können (siehe [1]).
Wie bereits erwähnt, werden ALSA-Treiber in den meisten gängigen Distributionen als Standard-Soundkartentreiber verwendet. Da hier nicht auf alle Distributionen eingegangen werden kann, wollen wir am Beispiel von SuSE Linux 7.3 erläutern, wie ALSA eingerichtet wird. Neben dieser YaST2-basierten Lösung besteht auch die Möglichkeit, das ALSA-interne Konfigurationsprogramm alsaconf zu verwenden. Eine genaue Beschreibung der distributions-unabhängigen Installation ist unter [7] zu finden.
Man muss generell Root-Rechte besitzen, wenn man Hardware einrichten will. Das geht wie folgt:
Das war es eigentlich schon. Wir überprüfen nun, ob die Soundkarte auch richtig eingerichtet wurde: Dazu wird einfach im Root-Terminal der Befehl
cat /proc/asound/sndstat
eingegeben, und Linux sagt uns, welche Soundkanäle eingerichtet worden sind. Um nicht einer einzelnen Soundkarte den Vorrang zu geben, soll an dieser Stelle nicht auf alle weiteren möglichen Einstellungen und Funktionen von ALSA eingegangen werden. Für SBLive-Karten ist es beispielsweise möglich, die SoundFont-Dateien, die den Windows-Treiber-CDs beiliegen, zu installieren und zu verwenden. Starten Sie dazu einfach noch einmal das Soundkarten-Konfigurationsprogramm in YaST2. Sie werden überrascht sein, wieviel Finetuning noch möglich ist.
Kommen wir nun zu den Treibern, die vielleicht schon etwas angestaubt sind, aber ebenso zu Linux gehören, wie der niedliche Pinguin Tux. Wer schon einmal seinen eigenen Kernel übersetzt hat, weiß, dass man dabei bereits die Soundkarte einrichten kann. Nicht, dass wir jetzt einen eigenen Kernel übersetzen wollten, aber eine kurze Betrachtung der Kernel-Treiber ist durchaus interessant. Geben Sie doch einfach mal im Root-Terminal, welches nach der ALSA-Installation noch offen ist, den Befehl
ls /lib/modules/2.4.16-4GB/kernel/drivers/sound/
ein (2.4.16-4GB ist die aktuelle Kernelnummer und muss gegebenenfalls angepasst werden). Die angezeigten Dateien sind Kernelmodule, die den Einsatz von Soundkarten unterstützen. Schalten Sie doch einfach mal den bereits konfigurierten ALSA-Treiber aus und verwenden ein Kernelmodul:
Warum sollten sich Linux-Anwender mit kommerzieller Software auseinandersetzen, wenn es doch kostenfreie Alternativen gibt? Diese Frage lässt sich nicht pauschal beantworten, da die unterschiedlichsten Fragen wie
Wie bereits angedeutet, handelt es sich bei 4Fronts OSS [8] um ein kommerzielles Produkt, welches nicht der GPL unterliegt. Der zu bezahlende Betrag basiert auf einer Basislizenz, welche unbedingt erworben werden muss und für Linux 20 US-Dollar kostet. Für den Einsatz neuerer PCI-Karten, spezieller Funktionen älterer ISA-Soundkarten und professioneller Soundkarten sind zusätzlich spezielle Lizenzen notwendig (vgl. hierzu Tabelle 1). Nähere Informationen zu den einzelnen Lizenzen sind unter [9] zu finden. Ich empfehle vor dem Kauf, die kostenlose Demoversion von OSS von [10] herunterzuladen und zu installieren. Ist man mit den Testergebnissen zufrieden, kann eine Lizenzdatei bestellt werden. Hierbei handelt es sich um eine Textdatei, in der ein Lizenzschlüssel enthalten ist, der die entsprechenden Treiber freischaltet (siehe Installationsabschnitt). Die Bestellung der Lizenzen kann entweder direkt auf der 4Front-Web-Seite oder über die SuSE AG erledigt werden. Ich empfehle den Kauf bei SuSE, da man somit von vornherein mögliche Probleme eines Auslandsgeschäftes vermeidet.
Tabelle 1: OSS-Lizenzen
| PCI-Soundkarten | ISA-Soundkarten | professionelle Soundkarten |
|---|---|---|
| Avance Logic PCI (AVANCE) | All ISA BUS Soundcards (ISA) | Virtual Mixer (MIX) |
| Aureal Vortex (VORTEX) | SB-AWE64 Wave Table (AWE) | Input Multiplexer (IMUX) |
| C-Media CMI873x (CMEDIA) | Dream SAM9704 (DREAM) | Envy24/MIDIMan (ENVY24) |
| Conexant Riptide (RIPTIDE) | Ensoniq-VIVO Wave Table (VIVO) | LynxONE (LYNXONE) |
| Cirrus Logic CS428x/CS46xx (CRYSTAL) | RME Digi32/Digi96 (DIGI32) | |
| ESS Maestro (MAESTRO) | Sonorus Studi/o (STUDIO) | |
| ESS Solo-1 (SOLO) | ||
| Forte Media (FMEDIA) | ||
| Intel8xx/SiS7012 (INTELPCI) | ||
| NeoMagic NM2200 (NEOMAGIC) | ||
| Sound Blaster SBPCI128/Ensoniq AudioPCI (APCI) | ||
| Sound Blaster Live!/Audigy (SBLIVE) | ||
| S3 SonicVibes (S3VIBES) | ||
| Trident 4DWave/SiS7018 (TRIDENT) | ||
| VIA97/Geode (VIA97) | ||
| Yamaha DS-XG (YMH) |
Wie bereits erwähnt, sollte man die Demo-Version von OSS vom Web-Server herunterladen und installieren, bevor man entsprechende Lizenzen kauft. Die Installation, für die wieder Root-Rechte notwendig sind, läuft folgendermaßen ab:
Für den Fall, dass Sie eine Lizenz von OSS gekauft haben, wird die entsprechende Datei license.dat einfach in das OSS-Verzeichnis, welches bei der Erstinstallation mit angegeben wurde, kopiert und im Programm oss-install über den entsprechenden Menüpunkt aktiviert.
Im Übrigen kann man ähnlich zu ALSA die vorhandenen bzw. eingerichteten Soundkanäle durch cat /dev/sndstat anzeigen lassen.
Um den Artikel mit einem zusammenfassenden Fazit zu schließen, sei kurz Folgendes gesagt: Die OSS/Lite-Treiber werden wohl über kurz oder lang von der Bildfläche verschwinden, während ALSA zunehmend an Bedeutung gewinnt. Für den normalen Desktop-Betrieb sind diese Treiber bereits jetzt vollkommen aureichend. Wenn Sie sich jedoch mit Spezial-Software auseinandersetzen müssen, kommen Sie im Moment noch nicht an OSS vorbei. Da aber die Entwickler der ALSA-Treiber auch OSS-Kompatibilität anstreben, wird sich wohl erst mit der Zeit zeigen, ob die Emulation die kommerziellen Treiber gänzlich ersetzen kann. Der Installation einer Soundkarte unter Linux steht folglich nichts mehr im Wege, wenn man eine der zahlreichen unterstützten Karten verwendet.
Infos
[1] Die ALSA-Soundkarten-Matrix: http://www.alsa-project.org/~goemon/
[2] Von OSS unterstützte Soundkarten: http://www.opensound.com/osshw.html
[3] Die Kernel-Sound-Module http://www.linux.uni-bayreuth.de/howtos/html/DE-Sound-HOWTO-3.html
[4] Homepage des ALSA-Projektes: http://www.alsa-project.org
[5] ALSA und SuSE: http://www.alsa-project.org/announce/profi.php3
[6] Distributionsunabhängige Installation von ALSA: http://www.alsa-project.org/~valentyn/Alsa-sound-mini-HOWTO.html
[7] Pro-Linux-Diskussion OSS/Lite vs. ALSA: http://www.pro-linux.de/news/2002/3990.html
[8] Homepage der Firma 4Front: http://www.opensound.com
[9] Infos zu den OSS-Lizenzen: http://www.opensound.com/license.html
[10] OSS-Download-Seite: http://www.opensound.com/download.cgi