Anzeige:
Ergebnis 1 bis 7 von 7

Thema: ALSA kompilieren (Sound)

  1. #1
    User
    Registriert seit
    May 2001
    Beiträge
    8.688

    ALSA kompilieren (Sound)

    Da hier immer wieder Fragen über ALSA geschrieben werden, die teilweise immer gleich zu beantworten sind, geb ich hier mal eine kleine HowTo zu diesem Thema.

    Außerdem ist das für Leute interessant die sich einen eigenen Kernel compiliert haben und dessen ALSA nun nicht mehr funktioniert, da die Treiber nicht mehr da sind und eventuell auch nicht mehr zum neuen Kernel passen.

    Für diejenigen, die es nicht wissen: ALSA ist ein Projekt das Treiber für Soundkarten entwickelt. Das sind mitlerweile schon eine ganze Menge. In der Regel kann man für fast jede Karte ALSA benutzen die auch vom Kernel und von OSS unterstützt wird. Teilweise funktioniert ALSA aber besser.

    Eine Liste der unterstützten Karten findet ihr auf der Homepage: http://www.alsa-project.org/

    1. Download

    Von der Homepage ladet ihr euch nun folgende Archive runter:

    - Driver
    - Library
    - Utilities
    - OSS Compat. Library

    Am besten greift ihr zu einer 0.9 (Beta) Version. Die funktionieren schon sehr gut. Gelegentlich kann es ein paar kleinere Probleme geben, aber das ist mit 0.5 teilweise noch schlimmer. Außerdem ist abzusehen das die 0.9 Version bald als stable eingestuft werden wird.

    2. Entpacken

    Entpackt alle Archive einzeln mit der Konsole. Benutzt besser nicht Konqueror oder GMC oder so was. Das mag meistens klappen, geht aber manchmal auch schief.

    tar vxfj *driver*
    tar vxfj *lib*
    tar vxfj *util*
    tar vxfj *oss*

    3. Kompilieren

    Vorbereitung:

    Als aller erstes geht ihr jetzt mal in das Driver Verzeichnis und lest euch die ./configure --help durch. Zumindest den Punkt der die zu installierenden Treiber betrifft. Also:

    cd *driver*
    ./configure --help

    Ganz unten seht ihr dann die möglichen Treiber. Wenn ihr nicht wisst welchen ihr braucht, dann schaut mal auf der Homepage unter Soundcards -> ALSA sound card matrix nach.

    Driver installieren

    cd *driver* (falls ihr nicht schon drin seit)

    Für PCI Karten:

    ./configure --with-sequencer=yes --with-oss=yes --with-cards=MODUL
    make all
    make install
    ./snddevices

    Für ISA Karten:

    ./configure --with-sequencer=yes --with-oss=yes --with-isapnp=yes --with-cards=MODUL
    make all
    make install
    ./snddevices

    MODUL ersetzt ihr bitte durch den Namen den ihr in der Vorbereitung ermittelt habt.

    Anmerkungen

    Sollte bei "make install" ein Fehler kommen das er in /lib/modules/... irgendeine Datei nicht gefunden hatt (kernel.h oder System.map), dann müsst ihr da noch einen Link erstellen. Die gesuchte Datei befindet sich in der Regel dann in /boot. Und suchen tut er sie (z.B.) in /lib/modules/KERNEL/build/System.map. Also (z.B.):

    ln -sf /boot/System.map-2.4.18 /lib/modules/KERNEL/build/System.map

    Achtet darauf das ihr keinen Link erwischt. Denn Link Ketten sind unter Linux nicht erlaubt.

    Danach könnt ihr noch mal "make install" ausführen. Und dann im Eifer blos nicht das "./snddevices" vergessen. Sonst funktionierts am Ende nicht weil die Devices nicht angelegt wurden.

    4. Rest compilieren

    Der Rest ist nun einfach:

    cd ..
    cd *lib*
    ./configure && make && make install

    cd ..
    cd *oss*
    ./configure && make && make install

    cd ..
    cd *utils*
    ./configure && make && make install

    Sofern die Driver richtig installiert wurden und nicht bei "make install" abgebrochen worden sind, sollte das compilieren der anderen drei Archive Problemlos funktionieren.

    5. Test

    Nun müsst ihr erst mal "depmod -a" eingeben, damit das System erkennt das es neue Kernel Modules gibt. Danach solltet ihr mal die folgenden Befehle eingeben und testen ob alles korrekt geladen wird:

    depmod -a
    modprobe snd-MODUL
    modprobe snd-pcm-oss
    modprobe snd-seq-oss

    6. Start Skript

    Jetzt müsst ihr diese Befehle noch in eine Startskript einbauen, damit sie nach dem Booten automatisch immer ausgeführt werden. Bei Mandrake und Redhat ist das die Datei /etc/rc.local. Da müsst ihr ganz unten einfach nur rein schreiben:

    modprobe snd-MODUL
    modprobe snd-pcm-oss
    modprobe snd-seq-oss
    amixer set Master 90% unmute
    amixer set PCM 90% unmute

    Bei anderen Distributionen können das andere Datein sein.

    Die beiden letzten Befehle setzen die Lautstärke hoch. Das die normalerweise Null ist habt ihr beim compilieren der Treiber und Libs ja schon einige Male lesen können.
    Geändert von hunter (02.04.02 um 14:30 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Olli
    Registriert seit
    Sep 2000
    Beiträge
    504

    Lightbulb ALSA für den SIS735 (7012) Chipsatz patchen

    Vorwort:
    Es gibt (fertige) Patches nur für die alsa-Versionen 0.5.11 und 0.9.0beta8a.
    Aber soweit ich das überschauen konnte, sind beide, bis auf die im
    Patch enthaltenen Pfadangaben, identisch. Wollt ihr also eine andere alsa-Version
    patchen, müsst ihr diese Pfade erst anpassen.

    Bezugsquellen:
    Patch for SiS735 support in alsa-0.9: Download
    Patch for SiS735 support in alsa-0.5.11: Download

    Die Quelle solltet ihr in das selbe Verzeichnis (wie die alsa-Quellen) kopieren.


    3a. Patchen
    Der Patch muss zunächst entpackt werden:
    gunzip alsa-driver-0.9.0beta8a-sis735.patch.gz

    Dann wechselt ihr in das alsa-driver* Verzeichnis (cd alsa-driver*), und führt das folgende Kommando aus:
    patch -p1 < ../alsa-driver-0.9.0beta8a-sis735.patch

    Ist der Patch erfolgreich eingespielt, sollte nur folgende Ausgabe erscheinen:
    patching file acinclude.m4
    patching file aclocal.m4
    patching file cards/Makefile
    patching file cards/card-sis735.c
    patching file cards.config
    patching file cards.config.in
    patching file configure
    patching file include/sndmagic.h
    patching file modules.config



    3b. Kompilieren
    Das Kompilieren geschieht so wie es bereits oben beschrieben wurde. Als Modul gebt ihr sis735 an:
    ./configure --with-sequencer=yes --with-oss=yes --with-cards=sis735

    ...
    wie oben
    ...

    5. Test
    modprobe snd-card-sis735
    modprobe snd-pcm-oss
    modprobe snd-seq-oss

    6. Start Skript
    modprobe snd-card-sis735
    modprobe snd-pcm-oss
    modprobe snd-seq-oss
    Anmerkung:
    Der Eintrag in boot.local gibt bei mir eine Menge Fehler beim Booten aus. Die Alternative modules.conf ist bei mir noch nicht perfekt, werde ich aber hier posten, sobald die (mich störenden) Probleme gelöst sind.

    modules.conf
    In meiner modules.conf habe ich folgende Einträge zum Betreich Sound:
    alias char-major-14 soundcore
    alias char-major-116 off
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    #
    options snd snd_cards_limit=1 snd_major=116
    alias snd-card-0 snd-card-sis735
    options snd-card-sis735 snd_index=0
    post-install snd amixer set Master 70% unmute;amixer set PCM 80% unmute; amixer set CD 100% unmute


    Es gibt zwar noch ein paar Einträge im console-log, aber der Sound läuft!

    oliver
    Geändert von Olli (12.03.02 um 17:25 Uhr)

  3. #3
    Veteran Avatar von BSM
    Registriert seit
    Dec 2001
    Beiträge
    2.182

    Lightbulb SuSE RPMs

    es ist vielleicht schon ein bisschen zu spät dafür , aber es gibt für leute die lieber bei der suse 7.3 (und vorher) bleiben wollen (wie ich) RPMs zum updaten von alsa.

    es gibt sie bei ftp://ftp.suse.com/pub/people/tiwai .
    da muss man seine suse linux version heraussuchen, und am besten noch die readme lesen, die zwar auf englisch, aber auch leicht verständlich ist.

    greetz Robert
    Laptop:Lenovo T480|Core i5|GeForce MX150|Archlinux

  4. #4
    Registrierter Benutzer
    Registriert seit
    Apr 2002
    Beiträge
    217
    hunters alsa faq hat mir wirklich sehr weitergeholfen aber da ich dennoch probleme hatte, will ich sie mal hier posten, damit sie keiner mehr hat.

    soundchip: AC97 - intel8x0 (haben ziemlich viele leute, wie ich gemerkt habe. )

    Driver:
    ./configure --with-sequencer=yes --with-oss=yes --with-cards=intel8x0
    make (nicht make all!)
    make install
    ./snddevices

    nicht mit make all kompilieren, da es bei mir probleme mit dem depmod -a gemacht hat, mit make gings dann super ^_^

    dann halt den rest mit ./configure && make && make install installieren..

    *lib*
    *oss*
    *utils*

    dann depmod -a und die module laden:

    modprobe snd-intel8x0
    modprobe snd-pcm-oss
    modprobe snd-seq-oss
    modprobe snd-mixer-oss

    nun sollte alsa auch mit dem weit verbreiteten onboard sound chip Intel8x0 (AC97) ohne probs funzen =)
    Linux From Scratch

  5. #5
    Premium Mitglied Avatar von SeeksTheMoon
    Registriert seit
    Feb 2002
    Beiträge
    1.704
    Ich benutze SuSE 7.3 mit Standardkernel und mitgeliefertem alsa (0.5x).
    Als Soundkarte verwende ich eine SB-Live Player 1024 (also emu10k1).

    Das Kompilieren und Installieren wie oben beschrieben hat geklappt, nur bei depmod -a und den amixer-Befehlen kamen Fehlermeldungen mit diversen Pointergeschichten, yast2 hat ebenfalls Fehler gemeldet und ich konnte Kernel 2.5.15 wegen dem geschrotteten alsa nicht kompilieren.

    Die rpms haben überhaupt nicht funktioniert (hat der Paketmanager sie überhaupt installiert?)

    Erst das ./configure des Treibers ohne "--with-sequencer=yes" hat funktioniert.
    Ich habe überall wieder Sound.
    Dieser configure-Parameter hat auch schon anderen Leuten Probs bereitet, wie ich hier gelesen habe.


    Oh! Und solche Tools wie Yast2 kann man dann getrost vergessen, weil sie einem den schönen neuen Soundtreiber wieder fröhlich zerschießen!
    Geändert von SeeksTheMoon (14.05.02 um 20:45 Uhr)
    09F911029D74E35BD84156C5635688C0

  6. #6
    Premium Mitglied Avatar von SeeksTheMoon
    Registriert seit
    Feb 2002
    Beiträge
    1.704
    Zu erwähnen ist noch folgende Anleitung bei bLFS:
    http://beyond.linuxfromscratch.org/v...edia/alsa.html
    und die Folgeseiten davon. Dort stehen Startscripte, was man in die /etc/modules.conf eintragen muss und die exakten Befehle.

    Wenn man alsa benutzen will, sollte man übrigens tunlichst unterlassen, die Treiber auch in den Kernel zu kompilieren! Ich hatte für meine Soundblaster Live! Player 1024 auch das entsprechende Modul (emu10k1) fest in den Kernel kompiliert - mit dem Resultat, dass alsa nicht lief (Module konnten nicht geladen werden, Device busy, ...)
    Also entweder alsa-Treiber ODER Kernel-Treiber für die Soundkarte (allgemeiner Soundsupport sollte im Kernel allerdings vorhanden sein, sonst nützen auch die alsa-Module nichts).

    Zu meinem vorigen Post (der schon etwas betagt ist): Der Parameter mit dem Sequenzer klappt übrigens wieder, vielleicht lag es damals an SuSE oder an der alsa-Version (inzwischen ist ja alsa 0.9.0rc8 aktuell)

    Wer weitere Ausgänge hat (z.B. beim Soundblaster) sollte noch
    amixer set "Wave Surround" 70% unmute
    eingeben, damit auch der Rest läuft.
    Geändert von SeeksTheMoon (06.03.03 um 16:26 Uhr)

  7. #7
    User
    Registriert seit
    May 2001
    Beiträge
    8.688
    wickey hat mir noch einen Link gepostet: http://www.d.kth.se/~d98-jas/debian/...stall-alsa.txt

    Es geht darum wie Leute mit Debian ihr ALSA so compilieren können das Debian Pakete daraus werden (manch einer nennts Debianlike )

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •