web-dev-qa-db-fra.com

Le son du conteneur Libertine ne fonctionne pas sur une machine, fonctionne sur une autre

J'ai deux machines sous mon contrôle, A et B. B est une très vieille machine, j'ai installé des applications dans Libertine, et les sons fonctionnent parfaitement. En revanche, sur la machine A, le son ne fonctionne pas du tout pour les conteneurs Libertine. Comment puis-je diagnostiquer cela?

Fait intéressant, sur la machine A, j'ai créé mes propres conteneurs LXC non privilégiés avant 16h10, où le son fonctionnait, et j'ai continué à fonctionner après la mise à niveau. mais cela ne fonctionne pas sur Libertine qui utilise le même LXC lors d’une nouvelle installation de 16.10.

NOTE

  • les deux machines sont complètement stock Ubuntu, seules libertine et libertine-scope sont installées
  • seuls les fichiers de configuration pour hibernation et gtk3 sont modifiés
  • les tests de son de Sound Settings fonctionnent, seuls les sons de conteneur ne fonctionnent pas

EDIT

J'ai essayé de lancer speaker-test dans le conteneur. Il exécute un son correct sur l'hôte, mais cette erreur indique sur le conteneur:

$ libertine-launch container-name speaker-test -t wav -c 6

speaker-test 1.1.2

Playback device is default
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
ALSA lib pcm_dmix.c:1041:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory
6
Oxwivi

Un peu de recherche indique que de nombreux systèmes plus récents (Machine A) intègrent souvent HDMI, qui est défini par défaut. Votre ancien système (Machine B) ne possède probablement que de l'audio analogique, ce qui est la valeur par défaut pour celui-ci.

Exécutez la commande aplay -l pour obtenir une liste des périphériques audio dont vous devriez obtenir une sortie similaire à celle-ci:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Cette sortie devrait vous aider à déterminer quelle carte vous souhaitez utiliser comme sortie par défaut.

Regardez et voyez quelle sortie audio vous avez besoin (carte 0 périphérique 0 est la valeur par défaut alsa qui peut ne pas être ce dont vous avez besoin; dans mon cas, je dois spécifier la carte 1)

Créez un fichier dans votre répertoire personnel avec la commande gedit ~/.asoundrc (vous pouvez remplacer gedit par votre éditeur de texte préféré)

Ajoutez les lignes suivantes:

pcm.!default {

    type hw
    card *X*
}

ctl.!default {
    type hw           
    card *X*
}

remplace le numéro de carte que nous avons découvert précédemment par *X*

Enregistrez le fichier et réessayez.

D'autres informations éventuellement applicables sont disponibles ici

EDIT: Je suis heureux que vous ayez pu avoir 2 canaux audio fonctionnant sous Libertine. En ce qui concerne votre question élargie. Vous pouvez vérifier la sortie de amixer scontrols et vous assurer que celle que vous avez choisie prend en charge 6 canaux audio. Si c'est le cas, utilisez la fonction alsamixer pour vous assurer qu'aucun d'entre eux n'est en sourdine et que vous êtes en mode 6 canaux. et pas en mode 2 canaux comme indiqué ci-dessous.

alsamixer2channel

Pour changer de mode de canal dans alsamixer, utilisez les touches de direction pour mettre en surbrillance Channel comme indiqué ci-dessus, puis utilisez les flèches vers le haut ou le bas pour sélectionner le mode souhaité.

Sources:

man aplay

https://www.alsa-project.org/main/index.php/Asoundrc#The_.asoundrc_file_format

4
Elder Geek