Sie sind nicht angemeldet.

[Howto] ALSA Guide

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

19.02.2006, 17:49

ALSA Guide


###########################
# ALSA GUIDE @ GentooForum.de #
###########################

Letztes Update: 19.02.2006



Beschreibung:

In diesem kleinen HOWTO geht es darum, wie Sie Ihre Soundkarte unter einem Gentoo-System zum laufen bringen.
Als Vorkenntnis reicht eigentlich das Grundwissen darüber, wie man Portage bzw. emerge bedient.


1.0 Was ist ALSA?
2.0 ALSA und das USE-Flag
3.0 Installation von ALSA
4.0 Das Paket ALSA Driver verwenden
5.0 Installieren der notwendigen Pakete
6.0 ALSA Utilities / alsaconf
7.0 ALSA Initskript
8.0 Die Audio Group
9.0 Probleme?
10.0 Quellen
MfG MyD

2

19.02.2006, 17:51

1.0 Was ist ALSA?

ALSA steht für Advanced Linux Sound Architecture und stellt Audio- und MIDI- (Musical Instrument Digital Interface) Funktionalität unter Linux zur Verfügung. ALSA ist das standardmäßige Sound-System im 2.6er- Kernel und ersetzt damit OSS (Open Sound System), welches im 2.4er-Kernel verwendet wurde.

Zu ALSA's Hauptfeatures zählen ein effizienter Support für alle Arten von Audio-Schnittstellen von Endverbraucher-Soundkarten bis hin zu Profi-Sound-Equipment, voll modularisierte Treiber, SMP und Thread safety, Rückwärtskompatibilität mit OSS und eine Bibliothek im user-space,alsa-lib, die Softwareentwicklung zum Kinderspiel macht.
MfG MyD

3

19.02.2006, 17:54

2.0 ALSA und das USE-Flag

Sie können jetzt das ALSA USE-Flag in der /etc/make.conf hinzufügen, um sicherzustellen, dass Ihre Programme mit ALSA-Unterstützung kompiliert werden.

Zudem sollten Sie alle jeglichen Pakete die das ALSA USE-Flag besitzen neu kompilieren:

Quellcode

1
# emerge --newuse <paket_name>

oder

Quellcode

1
# emerge --newuse world
MfG MyD

4

19.02.2006, 17:57

3.0 Installation von ALSA

Es gibt zwei Optionen um ALSA zu installieren!

Die unten aufgeführten Methoden schließen einander aus.
Sie können nicht ALSA in den Kernel kompiliert haben und gleichzeitig media-sound/alsa-driver benutzen. Es wird scheitern!


Die zwei Optionen sind:
1. ALSA aus dem Kernel heraus zu benutzen
2. Das media-sound/alsa-driver Paket verwenden.

In diesem HowTo beziehe ich mich nur auf das media-sound/alsa-driver Paket!

Der Hauptunterschied zwischen alsa-driver und dem im Kernel integrierten ALSA ist der, dass alsa-driver normalerweise auf einem neueren Stand ist als die Version im Kernel.

Zudem ist es wichtig das der Kernel genau so konfiguriert ist damit es zu keinen Problemen wärend der Installation kommt:

Quellcode

1
2
3
4
5
6
7
8
9
10
 Loadable module support  --->
     [*] Enable loadable module support

 Device Drivers  --->
     Sound  --->
         <*> Sound card Support
             Advanced Linux Sound Architecture  --->
                 < > Advanced Linux Sound Architecture
             Open Sound System  --->
                 < > Open Sound System (Deprecated)
MfG MyD

5

19.02.2006, 18:12

4.0 Das Paket ALSA Driver verwenden

Es gibt ein paar geringfügige Dinge, die erledigt werden müssen, um zu gewährleisten, dass nur die Treiber für Ihre Soundkarte kompiliert werden.

Falls Sie keine Ahnung haben, welche Treiber Ihre Soundkarte braucht, keine Angst :P

Führen sie diesen Befehl als root aus um herauszufinden welchen Chip ihre Soundkarte verwendet!

Quellcode

1
2
# lspci
(enthalten im Paket pciutils)


z.B.

Zitat

00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)


Nun haben wir genügend Informationen über den Sound-Chip um uns auf die suche nach dem richtigen Treiber zu machen, dazu besuchen wir einfach folgende Webseite:
http://www.alsa-project.org/

In unserem Beispiel ist der manufacturer Intel und der Treibername nach dem Sound-Chip intel8x0.

Sobald Sie den Namen Ihres Treiber herausgefunden haben
(intel8x0 in unserem Beispiel), editieren Sie /etc/make.conf und fügen Sie die Umgebungsvariable ALSA_CARDS hinzu.

Quellcode

1
# nano -w /etc/make.conf


z.B.

Zitat

ALSA_CARDS="intel8x0"
MfG MyD

6

19.02.2006, 18:21

5.0 Installieren der notwendigen Pakete

Da wir nun die Umgebungsvariable ALSA_CARDS erfolgreich gesetzt haben können wir beginnen die notwendigen Pakete zu kompilieren.


notwendige Pakete sind:
- alsa-lib
- alsa-headers
- alsa-driver
- alsa-oss
- alsa-utils

Führen sie nun folgenden Befehl aus um die notwendigen Pakete zu installieren.

Quellcode

1
# emerge alsa-lib alsa-headers alsa-driver alsa-oss alsa-utils 


z.B.

Zitat

# emerge alsa-lib alsa-headers alsa-driver alsa-oss alsa-utils

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild R ] media-libs/alsa-lib-1.0.8
[ebuild N ] media-sound/alsa-driver-1.0.8
[ebuild R ] media-libs/alsa-oss-1.0.8-r1
[ebuild R ] media-sound/alsa-utils-1.0.8


Nach jedem Kernel Update sollte der Symlink auf den neuen gesetzt werden und zudem müssen das Paket media-sound/alsa-driver nochmals installieren!
MfG MyD

7

19.02.2006, 18:22

6.0 ALSA Utilities / alsaconf

Die alsa-utils bilden einen wesentlichen Bestandteil von ALSA, da sie einen Wagenladung von Programmen beinhalten, die hochgradig nützlich sind, was auch die ALSA Initskripte einschließt.

Bitte beenden Sie Programme, die während des Ausführens von alsaconf auf die Soundkarte zugreifen könnten.

Der leichteste Weg, Ihre Soundkarte zu konfigurieren, ist alsaconf zu starten.
Tippen Sie einfach alsaconf in einer Shell as root ein.

Quellcode

1
# alsaconf


Sie werden jetzt ein schickes menügesteuertes Interface sehen, das automatisch Ihre Geräte abfragen wird und Ihre Soundkarte herausfinden wird. Sie werden gebeten, Ihre Soundkarte aus einer Liste auszuwählen. Sobald das erledigt ist, wird es Sie um die Berechtigung bitten, automatisch die notwendigen Änderungen an /etc/modules.d/alsa vorzunemen. Dann wird es Ihre Lautstärke optimal einstellen.
MfG MyD

8

19.02.2006, 18:25

7.0 ALSA Initskript

Wir sind fast fertig. Sie brauchen etwas, um Ihre Module zu laden oder ALSA zu initialisieren und um Ihre Lautstärkeeinstellungen zu setzen, wenn Ihr System hochfährt. Das ALSA-Initskript kümmert sich um all das für Sie und heißt alsasound.
Fügen Sie es zum Runlevel boot hinzu.

Führen sie folgenden Befehl aus um das ALSA-Initscript beim boot Runlevel ausführen zu lassen:

Quellcode

1
# rc-update add alsasound boot

Zitat

* alsasound added to runlevel boot
* rc-update complete.


Als nächstes überprüfen Sie die Datei /etc/conf.d/alsasound und stellen Sie sicher, dass die Umgebungsvariable SAVE_ON_STOP auf yes gesetzt ist. Das speichert Ihre Sound-Einstellungen, wenn sie das System herunterfahren.
MfG MyD

9

19.02.2006, 18:37

8.0 Die Audio Group

Bevor wir zum Ausprobieren weitergehen, gibt es noch eine letzte wichtige Sache, die eingerichtet werden muss. Hier werden wir Benutzer in die Audio Group hinzufügen, so dass Ihnen keine Probleme widerfahren, wenn sie auf Sound-Geräte zugreifen. Wir werden hier gpasswd verwenden und dafür müssen Sie als root eingeloggt sein.

Quellcode

1
2
# gpasswd -a <username> audio 
(Ersetzen Sie <username> Durch Ihren Benutzer)


Zitat

Adding user <username> to group audio
MfG MyD

10

19.02.2006, 18:46

9.0 Probleme?

Falls Sie aus irgend einem Grund keinen Ton hören sollten, sollten Sie als erstes Ihre alsamixer - Einstellungen überprüfen. 80% der Probleme gehen auf stummgeschaltete Kanäle oder zu geringe Lautstärke zurück. Überprüfen Sie ebenso das Sound-Applet in Ihrem Window Manager und stellen Sie sicher, dass die Lautstärkeregler im hörbaren Bereich stehen.

/proc ist Ihr Freund. Und in diesem Fall ist /proc/asound Ihr bester Freund. Wir werden einen kurzen Blick darauf werfen, wie viel Information uns hier geboten wird.

Quellcode

1
2
# cat /proc/asound/cards
(Soweit erstmal: wenn  /proc/asound/cards Ihre Soundkarte anzeigt, hat ALSA Ihre Soundkarte richtig erkannt.)


Zitat

/asound/cards
0 [I82801CAICH3 ]: ICH - Intel 82801CA-ICH3
Intel 82801CA-ICH3 with ALC202 at 0x1c00, irq 10


Die zweithäufigste Problemquelle für Benutzer ist der gefürchtete "Unknown symbol in module" Fehler. Dies ist ein Beispiel von diesem Fehler:

Zitat

# /etc/init.d/alsasound start
* Loading ALSA modules ...
* Loading: snd-card-0 ... [ ok ]
* Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-seq ... [ ok ]
* Loading: snd-emu10k1-synth ... [ ok ]
* Loading: snd-seq-midi ... [ ok ]
* Restoring Mixer Levels ... [ ok ]


Die obige Problematik wird durch einen Wechsel von alsa-driver zu im-Kernel ALSA verursacht, da, wenn Sie alsa-driver mit emerge deinstallieren, die Moduldateien wegen Konfigurationsschutz nicht entfernt werden. Wenn Sie also auf im-Kernel Treiber wechseln, gibt Ihnen modprobe einen Mix von alsa-driver und im-Kernel Modulen und löst daher den obigen Fehler aus.

Die Lösung ist ziemlich einfach: Wir müssen nur das Probleme verursachende Verzeichnis manuell löschen, nachdem Sie alsa-driver mit emerge deinstalliert haben. Achten Sie darauf, dass Sie die korrekte Kernelversion und nicht die momentane verwenden!

Quellcode

1
2
# rm -rf /lib/modules/KERNELVER/alsa-driver
(Ersetzen Sie KERNELVER mit Ihrer Kernelversion)


Und dann wieder das Paket installieren media-sound/alsa-driver

Quellcode

1
# emerge media-sound/alsa-driver
MfG MyD

11

19.02.2006, 19:13

10.0 Quellen

http://www.gentoo.de/doc/de/alsa-guide.xml
Shyam Mani


######################################
Kritik oder Verbesserungsvorschläge an:
ICQ: 154560470
MSN: MyD_rocks@hotmail.com
email: myd@gentooforum.de
#######################################
MfG MyD