Page 1 sur 1
[alsa] transmission du son à une télé via la carte graphique (résolu)
Publié : ven. 12 févr. 2016, 10:01
par bobo
Contexte :
Je joue un peu avec la nouvelle télévision qu'on a achetée (pour remplacer un tromblon cathodique de 20 ans). L'idée serait de pouvoir la brancher sur l'ordi pour regarder des films. J'ai déjà réussi pour tout ce qui est image avec mon gestionnaire de fenêtre favori (dwm) et xrandr. Je galère pour transmettre le son sur la télé avec alsamixer.
Là où j'en suis :
Dans alsamixer, lorsque j'essaie de changer de carte son (raccourci F6), j'obtiens un résultat étrange :
Je ne sais pas ce que « S/PDIF [fermé] » signifie. Les 6 colonnes ont « [MM] » qu'on ne peut pas modifier avec les raccourcis habituels.
Quelqu'un aurait-il une idée ? piste ?
Édition :
Ajout du contexte
Ça ressemble à un problème de pilote/module de noyau… Sinon il y a cette piste :
https://wiki.archlinux.org/index.php/Ad ... DIF_output
Re: [alsa] transmission du son à une télé via la carte graphique (en cours)
Publié : ven. 12 févr. 2016, 11:06
par bobo
La piste « getting_S/PDIF_output » a été la bonne :
https://wiki.archlinux.org/index.php/Ad ... DIF_output
Il m'a fallu adapter le paramètre de l'option -c pour m'adapter à l'ordre des cartes son. Ça donne ça chez moi :
Pour connaître l'ordre des cartes son :
Code : Tout sélectionner
$ aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: PCH [HDA Intel PCH], périphérique 0: ALC887-VD Analog [ALC887-VD Analog]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 3: HDMI 0 [HDMI 0]
Sous-périphériques: 0/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 7: HDMI 1 [HDMI 1]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 8: HDMI 2 [HDMI 2]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 9: HDMI 3 [HDMI 3]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 10: HDMI 4 [HDMI 4]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 11: HDMI 5 [HDMI 5]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
Il semblerait que le contenu de ~/.asoundrc soit lu au démarrage de chaque logiciel nécessitant le son. Voici le contenu de mon ~/.asoundrc
Code : Tout sélectionner
$ cat ~/.asoundrc
# réglage de la carte son par défaut, selon la commande « aplay -l », card = carte et device = périphérique
#defaults.pcm.card 0
#defaults.pcm.device 0
#defaults.ctl.card 0
defaults.pcm.card 1
defaults.pcm.device 3
defaults.ctl.card 1
# fréquence d'échantillonnage
defaults.pcm.dmix.!rate 44100
# algorithme de re-échantillonnage
defaults.pcm.!rate_converter "samplerate_medium"
Pour obtenir le son sur la télévision il faut que je change les default.pcm et default.ctl. Si ensuite je reviens aux defaults.pcm…=0 defaults.ctl…=0, et que je lance firefox, à la lecture d'une vidéo youtube le son n'est pas transmis sur la télé mais dans mon casque audio. Je me demande s'il n'y aurait pas une astuce pour éviter ces manips de fichiers, à base de ligne de commande bien sûr.
Re: [alsa] transmission du son à une télé via la carte graphique (en cours)
Publié : ven. 12 févr. 2016, 11:14
par benjarobin
Bonjour,
Sinon tu supprimes tous ces fichiers et tu utilises pulseaudio qui permet de faire une telle chose facilement.
Re: [alsa] transmission du son à une télé via la carte graphique (en cours)
Publié : ven. 12 févr. 2016, 12:28
par bobo
pulseaudio permet de faire ça ? Ça vaudrait peut-être le coup que j'y jette un coup d'œil
Poursuivant sur ma piste, j'ai écrit 3 scripts pour gérer la télé et le son (à partir de dmenu) :
Code : Tout sélectionner
$ cat tvon
#!/bin/bash
xrandr --output HDMI-0 --mode 1920x1080 --auto --below DVI-0
unlink ~/.asoundrc
ln -s ~/config/sharu/asoundrc.tele ~/.asoundrc
Code : Tout sélectionner
$ cat tvoff
#!/bin/bash
xrandr --output HDMI-0 --off
unlink ~/.asoundrc
ln -s ~/config/sharu/asoundrc.default ~/.asoundrc
Code : Tout sélectionner
$ cat snddef
#!/bin/bash
unlink ~/.asoundrc
ln -s ~/config/sharu/asoundrc.default ~/.asoundrc
Mon cas d'utilisation :
– tvon, quand je veux utiliser la télé, ça ajoute l'écran de télévision en écran auxiliaire, le .asoundrc pointe vers un fichier différent pour avoir le son sur la télé
– tvoff, quand j'ai fini d'utiliser la télé, ça supprime l'écran auxiliaire et rétablir le son sur l'ordi
– sndef, si j'ai besoin de récupérer le son sur l'ordi lorsque la télé tourne
Je vais marquer le sujet comme résolu