Forum Linux.debian/ubuntu Utiliser dmix de manière transparante

Posté par  .
Étiquettes :
0
10
sept.
2009
Yop,

Sur toutes les docs que je trouve, il est dit que dans les dernières versions d'alsa, dmix est configuré par défaut, et que tout devrait marcher automagiquement. Sauf que je dois toujours spécifier à mes applis de passer par dmix si je veux que plusieurs utilisent le son.

MPlayer, dans ~/.mplayer/config :
#ao=alsa:device=dmix

Mpd :
audio_output {
type "alsa"
device "dmix"
}

Le problème, c'est quand une appli (le plugin flash, vlc 0.8, un jeu…) ne sait pas causer à dmix, mais juste à alsa. Je retombe alors sur la situation d'il y a 10 ans, quand on ne pouvait pas utiliser sa carte son de manière transparente. Si j'ai un ou des mplayer lancés (en pause pour pas perdre la position dans la vidéo), je n'ai pas le son dans le plugin flash.

À côté de ça, la doc proclame que désormais tout va pour le mieux dans le meilleur des mondes. J'ai tenté plusieurs variantes dans /etc/asound.conf, sans succès. L'état actuel du fichier :

pcm.!default {
type plug
slave.pcm "dmixed"
}

# Compatibilité OSS
pcm.dsp0 {
type plug
slave.pcm "dmixed"
}

pcm.dmixed {
type dmix
ipc_key 1024
slave.pcm "hw:0"
}

Ce qui donne le même résultat que quand il est vide : dmix marche, mais seulement quand je dis explicitement aux applis de passer par lui, et pas de manière transparente. Si je dis à mplayer -ao alsa et que j'en lance un deuxième, il n'a pas de son. Or si je comprends bien la doc, on devrait juste avoir à dire à ses applis d'utiliser alsa, et dmix devrait faire le boulot de mixage logiciel lorsque la carte son ne sait pas le faire au niveau matériel. Je dois manquer une étape, mais je vois pas où.

Je précise que je suis en stable, j'ai une C-Media Electronics Inc CM8738 (rev 10) et des enceintes 5.1.

PS : welcome to the jungle…
  • # et ca ?

    Posté par  . Évalué à 4.

    Ca fait longtemps que je n'ai plus touché à alsa, mais avec llsoll, on utilisait alsa pour toutes les applis en concurrence, avec aoss, pour 'rediriger' vers alsa les applis qui savait pas parler alsa comme il faut (genre vlc à l'époque), on les lançait avec aoss mon_appli

    > ###################### /etc/asound.conf ###########################
    > pcm.!default {
    > type plug
    > slave.pcm "dmix"
    > } // ici c'était pour alsa
    >
    > pcm.dsp0 {
    > type plug
    > slave.pcm "dmix"
    > } // ici c'était pour aoss
    >
    • [^] # Re: et ca ?

      Posté par  . Évalué à 1.

      Le wrapper aoss marche chez moi. Si je fais aoss mplayer -ao oss ça roule. Le problème c'est qu'alsa n'utilise pas dmix automatiquement. Donc quand une appli utilise du son via alsa, plus moyen d'avoir du son dans les applis lancées ensuite, la carte son est bloquée.

      Par rapport à la mienne, ta config revient à utiliser directement le device « dmix » dans asound.conf, au lieu d'en créer un (« dmixed »). Et le truc dingue c'est qu'en faisant juste ça, ça marche déjà beaucoup mieux : le plugin flash chope du son même si j'ai mplayer lancé, les jeux se lancent avec le son… C'est presque parfait.

      Presque, parce que je dois toujours dire à mplayer de passer par dmix malgré tout, sinon c'est comme avant (?!). Vraiment étrange. M'enfin, tant que ça marche… y'a que heroes3 qui veut rien entendre :
      aurelien@archie|~% aoss heroes3
      Couldn't open audio: Couldn't open /dev/dsp1: Aucun fichier ou répertoire de ce type

      et bien sûr :
      aurelien@archie|~% ll /dev/dsp*
      crw-rw---- 1 root audio 14, 3 aoû 9 14:18 /dev/dsp

      L'utilisateur est dans le groupe audio. Si je crée un lien dps1 vers dsp, il se plaint qu'il trouve pas dsp2…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.