Ubuntu et ALSA : règler les problèmes de son (coupé, saccadé ou qui grésille)

Deuxième gros souci avec Ubuntu Karmic Koala : le son qui est coupé, saccadé ou qui grésille. Très difficilement supportable…

alsa

Si vous lisez ce site depuis quelques temps, je vais finir par donner l’impression qu’Ubuntu ou mon système sont instables alors qu’il n’en est rien !

Le problème : le son se coupe ou est saccadé

Mais revenons à mon mouton : je mets à jour Ubuntu en 9.10 (Karmic). Un reboot, deux reboots, tout fonctionne. Je lance une vidéo Youtube, le son est bon. Je lance un fichier son en même temps : Totem se fige au démarrage et le son n’est pas lu. J’essaie avec VLC, même histoire.

Donc on ne peut lire un son flash et un son sur le PC simultanément. Les haut-parleurs “claquent” également de temps en temps (très désagréable). Le son grésille à certains moments sans que l’on sache pourquoi (sous Wine et en natif sous Ubuntu).

Quelques pistes

Comme d’habitude, j’écume la doc et les forums. Je trouve la référence de ma carte son intégrée avec :

lspci | grep -i audio

J’obtiens la référence suivante :

00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller

Voici ce que j’ai essayé :

Je me suis aussi amusé à modifier les fichiers d’ALSA, pulseaudio, joué avec OSS (qui désactive ALSA !). Tout cela n’ayant rien donné, je me suis rendu à l’évidence. Ce doit être ALSA qui cloche !

La solution : mettre à jour ALSA

J’ai mis deux ou trois jours à chercher avant d’adopter cette solution parce que pour installer ALSA, il faut tout faire à la main. Hé oui, à l’ancienne, pas de .deb à double cliquer. Lancez le terminal, le fun commence !

D’abord, on vérifie quelle version d’ALSA tourne sur notre système :

cat /proc/asound/version

J’obtiens :

Advanced Linux Sound Architecture Driver Version 1.0.20.

On arrête alsa-utils pendant sa mise à jour, c’est plus prudent :

sudo /etc/init.d/alsa-utils stop

On installe tous les outils nécessaires pour compiler, ainsi que les entêtes du noyau :

sudo apt-get -y install build-essential ncurses-dev gettext xmlto libasound2-dev
sudo apt-get -y install linux-headers-`uname -r` libncursesw5-dev

On se rend ensuite dans notre dossier personnel pour y télécharger alsa-driver, alsa-lib et alsa-utils :

cd ~
rm -rf ~/alsa* ~/.pulse*
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.22.1.tar.bz2
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.22.tar.bz2
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.22.tar.bz2

Note : je vous conseille de regarder dans les répertoires FTP pour y télécharger les dernières versions des 3 paquets.

On crée un nouveau dossier pour la compilation et l’installation des 3 paquets puis on y déplace les fichiers téléchargés :

sudo rm -rf /usr/src/alsa
sudo mkdir -p /usr/src/alsa
cd /usr/src/alsa
sudo cp ~/alsa* .

Extraction des 3 archives :

sudo tar xjf alsa-driver*
sudo tar xjf alsa-lib*
sudo tar xjf alsa-utils*

Compilation et installation d’alsa-driver :

cd alsa-driver*
sudo ./configure
sudo make
sudo make install

Compilation et installation d’alsa-lib :

cd ../alsa-lib*
sudo ./configure
sudo make
sudo make install

Compilation et installation d’alsa-utils :

cd ../alsa-utils*
sudo ./configure
sudo make
sudo make install

On supprime ensuite les 3 fichiers archives qui ne sont plus nécessaires :

rm -f ~/alsa-driver*
rm -f ~/alsa-lib*
rm -f ~/alsa-utils*

Rebootez votre machine puis vérifiez votre version d’ALSA :

cat /proc/asound/version

J’obtiens :

Advanced Linux Sound Architecture Driver Version 1.0.22.1.
Compiled on Jan  9 2010 for kernel 2.6.31-18-generic (SMP).

Pour vérifier que tout est bien configuré, lancez alsaconf :

sudo alsaconf

Il ne vous reste plus qu’à rebooter une nouvelle fois.

Cela a définitivement réglé mes problèmes de son et je suis bien content de pouvoir écouter la musique sans crachotements, grésillements ou clacs des haut-parleurs.

Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.

Discutons des solutions possibles »

Articles conseillés :

21 pensées sur “Ubuntu et ALSA : règler les problèmes de son (coupé, saccadé ou qui grésille)”

  1. Et après on veut nous faire croire que Linux ce n’est pas un truc de geek…

    Moi je télécharge le dernier driver de chez Intel ou Realtek, je double clique dessus, je reboote (parce qu’en informatique : “Dans le doute, Reboote”)…


    Et voilà !
    (en français dans le texte)…

    Win7 ça roxe du poney positronique…

    Reply
    • Oui, je pense que la version ALSA livrée avec la nouvelle version est bugguée. Il n’y avait pas ce problème sur la version précédente.

      Reply
  2. Merci Matt, beau tuto et tout s’est bien déroulé pour ma part.
    Par contre, pas moyen d’activer la sortie SPDIF. Va falloir gratter un peu.

    @Bozo: si les contructeurs de matériel écrivaient des pilotes pour linux, la tache serait beaucoup plus aisée et on pourrait double cliquer comme toi.

    Et comme disait une pub: y’a moins bien mais c’est plus cher !
    Nan, mais moi je connais tout de même assez bien Windoze parce qu’au final, je dépanne souvent mes potes, mes parents, les amis de mes parents, mes collègues, les amis de mes collègues qui m’appellent et qui sont…sous windoze ! Et ils ont beau double-cliquer, rebooter, installer l’antivirus piraté, passer un coup d’anti spyware, une couche de Ccleaner (sans savoir ce qu’ils font), ils m’appellent quand même !

    J’ai bien trollé là ?

    Reply
    • Pareil pour moi, j’espère bien que la prochaine mise à jour règlera tout ça ! Si tout pouvait se faire à coup de .deb, ce serait excellent.

      Et oui, je confirme, il est bien poilu celui-là olmon ! ;-)

      Reply
      • Rhaaaaa mais euhhhhh, je me suis retenu de lui répondre à Olmon, because “Do Not Feed The Troll !!!” et toi Boom, the feet in the plate !!!

        Mais j’y crois pas !

        LOL

      • Hahaha, j’ai bien vu que tu ne l’avais pas nourri mais je voulais rebondir sur les .deb
        Et puis ils sont tellement rares les trolls ici (je ne me plains pas, hein !) – LOL !

  3. Merci pour ces informations très utiles (mais incomplètes)

    Pour les cartes RealTech HD:

    Note: Ubuntu OS, please use manual install.
    Run commands need to add sudo at first words.

    Manual install:
    Step 1. unzip source code
    tar xfvj alsa-driver-1.0.xx.tar.bz2

    Step 2. Complied source code
    a. cd alsa-driver-1.0.xx
    b. ./configure –with-cards=hda-intel
    c. make
    d. make install

    Voir le HD codec pack (qui contient la dernière version alsa-driver-1.0.23 ) sur le site realteck et les readme ;-)

    Reply
  4. Yo.
    Pour le spdif, ouvrir Alsa Mixer, cliquer sur l’onglet “interrupteurs”, cocher IEC958. Dans l’onglet “Options”, vérifier que “IEC958 Play back source” est bien sur “PCM” (je ne sais pas pourquoi mais le reste ça ne marche pas).
    Jeter un œil sur son ampli (Denon pour ma part), il vient de passer de ANALOG à DIGITAL !
    Lancer VLC, ça marche.

    Attention, dans Mythtv, il faut décocher Dolby digital sinon pas de son.

    Enjoy.

    Reply
  5. Et aussi, dans l’onglet “Contrôles”, mettre le curseur “IEC958 Playback AC97-SPSA” tout en bas, à 0, sinon pas de son !

    Testé et approuvé avec Mythbuntu 10.04 (xfce)

    Reply
  6. Nikel!

    Testé sur une crunchbang 9.04.01 (excellente distrib!) avec carte son nvidia nforce intégré suite à des grésillements en continu et tout c’est parfaitement déroulé…

    Super tuto merci pour ton aide !

    Reply
  7. ouf , deux specialistes de linux , moi je m’y mets seulement .

    j’ai en aveugle fait toutes les commandes , sans vraiment comprendre !

    pour certaines comme sudo alsaconf , la reponse est : commande inconnue .

    en installant ubuntu 10.10 j’avais du son , et a la mise a jour plus rien .

    en fait je devrais , lire et apprendre les commandes comme je l’ais fait avec dos en son temps.
    j’avais etudie linux en 1998..2000 en mode ligne , mais j’ai tout oublié.
    je me remets a linux par ubuntu car mon windows foire.
    j’ai voulu faire cohabiter les deux systemes mais a chaque je perd des données de windows.
    j’aimerais garder ubuntu pour sa rapidite , clarte et windows pour les jeux de mon fils.
    je pense que j’ai encore beaucoup a apprendre de ubuntu .
    merci de ce tuto, meme si marche pas .
    bonne soirée.
    lionel

    Reply
    • Salut Lionel,

      alsaconf a disparu d’Ubuntu dans la version 10.x apparemment, voici ce que l’on peut lire dans le fichier /usr/share/doc/alsa-utils/NEWS.Debian.gz:

      This upload removes alsaconf and asoundconf, two scripts which
      could be used to modify certain ALSA parametres, as they caused
      more problems than provided solutions, were outdated and generally
      useless.

      alsaconf was upstream’s way to detect sound cards and generate
      system-wide ALSA configurations. However, this should have been
      unnecessary for a very long time, with the introduction of udev
      support and its automatic hardware detection. If this isn’t the
      case for you, it’s a bug which should be filed and fixed properly.

      asoundconf was a tool introduced by Ubuntu which could be used to
      generate asoundrc files for systems with special needs. The script
      was not being maintained and was getting buggy, and the Debian and
      Ubuntu teams have agreed to get rid of it for the next release. Users
      can use Pulse or similar technologies to configure their preferred
      sound devices and sinks.

      Pour la cohabitation Windows/Linux, la meilleure solution est pour moi d’installer chaque système sur un disque dur dédié et de mettre en place un dual boot.

      Reply
  8. C’est vrai que le son sous Linux c’est perturbant…entre les pilotes et les serveurs de son, il faut avoir du temps à perdre. Du coup, je me suis retrouvé à bidouiller et pour l’instant ça marche. Et comme on disait sous Windoze : “If it ain’t broke, don’t fix it !”. J’ajouterais même “Don’t even dare try to take a look” !!!

    La soluce de Matt pour la cohabitation semble être la meilleure. Pour ma part, WinXP et Mythbuntu cohabitent sur le même disque. L’essentiel est de bien prévoir ses partitions Linux, Swap, Data (home), NTFS et d’installer Windoze en 1er. Ensuite, installer Linux as usual…

    Concernant les données communes, au lieu d’essayer de monter une partition ntfs sous Linux, mieux vaut installer EXT2iFS sous windoze…

    Reply
    • Ah pas mal EXT2iFS, merci pour le lien Olmon. Je n’en ai jamais eu besoin jusqu’à présent (vu que je démarre sous Ubuntu et qu’il monte les partitions Windows automatiquement) mais c’est bon d’avoir ça sous le coude pour dépanner.

      En fait, je mettrais bien ça dans ma machine virtuelle !

      Reply
      • Autrefois, mon DATA était en NTFS, ceci datant de ma période Windoze only. Depuis ma reconversion, démarrant par défaut sous Mythbuntu, j’ai remarqué que le transfert de fichiers EXT3NTFS (via ntfs-3g donc) était trèèèès lent. C’est la raison pour laquelle, lors de la reconstruction de mon mediacenter, j’ai opté pour de l’ext3 pour mon DATA qui serait lu par WinXP via Ext2iFS.
        Je garde un windoze sous la main pour certains plugins et/ou applications qui ne seraient disponibles que sous ce système, par exemple pour accéder à certains streamings via des applications tierces propriétaires…

  9. premièrement merci a Olmon et Matt pour votre réponse.
    j’ai enfin réussi a remettre dans ma machine un Windows XP pack2 et comme je ne sais pas comment faire pour sauvegarder les mises a jour , “windoze” comme vous dites a tout re-téléchargé

    donc maintenant j’ai sur
    ide1 un DD master
    (160gb 4 partitions c:\windows d:(outils) e:(jeux) f:(outils musicaux ) et
    un DD slave
    (160gb 2 partitions j:(sources en tout genres) q:(sauvegarde diverses )

    j’ai bien recuperé les lettres de toutes les partitions , les raccourcis dirigent vers les bons endroits.
    h: est un dwd/RW
    i: est un dvd/rom

    d’autres lettres sont attribuées a des lecteurs de cartes.

    j’ai installé sur un disque dur externe usb , ubuntu sur un DD tout en entier pour ubuntu .
    j’ai fait cela en debranchant le bus ID1 et tout c’est bien passé.
    ubuntu demarre a la place de windows quand je branche le lecteur usb.
    et windows demarre si je ne branche pas ce DD linux en usb.

    bien sur apres avoir indiqué cela au bios:
    boot 1 : usb hdd
    boot 2 : cdrom
    boot 3 : hdd0
    boot 4 : other sources

    Mais un jour le redemarrage de windows a foiré.
    “c:\windows\sytem32\hall.dll introuvable”

    une solution que j’ai trouve sur un forum
    http://www.commentcamarche.net/faq/3796-windows-hal-dll-manquant-ou-corrompu

    disait d’aller réécrire le boot.ini. et precisait que la cohabitation “windoze linux” modifiait souvent le numero des partitions dans le boot.ini.

    ensuite ce fut la cata.

    bref j’ai vire tout ce qui trainait sur c: puis format malgre tout je ne pouvait plus installer “windooze”.
    un copain m’a preté un ultimate boot cd qui a fait un chkdsk/f de tous les disques.
    la reinstallation enfin c’est faite.
    et me voici tout neuf avec un “windoze” qui fonctionne.

    mais voila j’ai la trouille de rebrancher mon linux en boot sur usb et que tout cela recommence.

    auriez vous un conseil a me donner ?????

    j’ai essaye d’etre le plus clair possible pour que vous visualisiez la configuration que j’ai.
    pourquoi je veux garder ubuntu ?
    1 pour mieux connaitre linux
    2 certaines applications me plaisent
    3 la rapidite de certains travaux (gravure , telechargement …)
    4 la possibilite de reparer windows avec ubuntu meme en machine virtuelle en consultant des forums.

    pourquoi je veux garder windows ?
    1 car un de mes garcons a beaucoup de jeux originaux (aoe, rome , napoleon …) qui ne tournent que sous windows
    2 d’autres de mes enfants utilisent windows pour de l’administration en tout genre .

    nb : j’ai installe ubuntu 10.10 sur un pc portable compac 1ghz 20GB de DD et cela fonctionne a merveille , je l’ais donne a un autre de mes fils il regarde avec des divx , des dvd et ecoute aussi des partitions de guitares.
    Quand il a un besoin specifique il va dans la bibliotheque se sert et voila tout.

    voila messieurs.
    je vous souhaite une bonne journée .
    lionel nivelle de Mons , Belgique.

    “windoooze” est une marque déposée qui ne m’appartient pas , mais bien a ce forum , et cette façon de l’ écrire m’a bien fait rire.

    Reply
    • Salut Lionel,

      Ton schéma semble correct : si ton disque USB est allumé Ubuntu démarre, sinon Windows prend la main.

      Je possédais un disque Windows, quand j’ai installé Ubuntu sur un second disque j’ai laissé Ubuntu s’occuper de la gestion du démarrage (avec GRUB). Tout ce que j’ai eu à faire, c’est changer la séquence du disque pour faire croire à Windows qu’il est bien sur le premier disque. Parce qu’apparemment, Windows a besoin de croire qu’il est premier ;-)

      Tu peux jeter un œil sur mon menu GRUB ici.

      Reply
      • Matt , deja merci des renseignements pour ubuntu et autres liens vers la console de recuperation de windows (que j’ai installé).

        j’avais il fut un temps , dans la meme machine , un DD windows et un DD ubuntu.
        a l’allumage j’avais le choix !

        1 windows
        2 ubuntu

        10 9 8 7 6 5 4 3 2 1 ….. windows demarrais
        tout ca allait tres bien !

        puis un jour , l’entrée windows a disparue

        en fait elle a disparue de GRUB qui est scinde en deux fichiers je pense !
        j’ai trouvé des aides sur des forums de ubuntu
        et pour finir ma base de registre de windows a disparue , mais l’erreur viens de moi , seulement de moi !
        —————————————————————————–

        pour le moment , par trouille je debranche les DD windoze pour demarrer en ubuntu.
        Qui lui demarre par USB , mais le demarrage est tres lent , au moins 5 vraies minutes

        ensuite la navigation surle net avec ubuntu se fige pendant 2 , 3 minutes , fige toutes les consoles , puis tout reviens dans l’ordre.

        et je cherche un equivalent a chkdsk /f pour ubuntu !
        —————————————————————————–
        donc en fait j’ai (stp) 5 questions

        1 que pense tu du demarrage lent de ubuntu par le usb vers un disque ide externe.

        2 que pense tu de l’arret momentane de ubuntu pendant quelques minutes pendant la navigation

        3 connait tu un equivalent a chkdsk /f pour ubuntu

        4 sais tu ou sont logés les favoris de firefox dans windows pour pouvoir les sauvegarder sur une autre partition car a chaque fois je les perds.

        je vais faire un petit fichier fav.bat qui automatise la copie vers une autre partition et noter l’endroit ou ils se trouvent pour les remettre en place.

        5 comment sauvegarder les mises a jours de windows sur un cd ou dvd pour eviter de les retelecharger a chaque fois !

        j’espere ne pas trop t’ennuyer et merci d’avance !

        lionel nivelle de Mons en Belgique .

    • Concernant Hal32, c’est la plupart du temps parce que ton MBR est endommagé. J’utilise pour ma part le boot CD Hiren Boot CD en lançant un MBR tool et ça repart.
      Attention, GRUB a bien changé dernièrement puisque nous sommes passés à GRUB 2.

      Reply

Opinions