[alsa] transmission du son à une télé via la carte graphique (résolu)

Applications multimedia / jeux
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

[alsa] transmission du son à une télé via la carte graphique (résolu)

Message 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 :
Image

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
Dernière modification par bobo le ven. 12 févr. 2016, 12:28, modifié 3 fois.
dwm — BÉPO — vim — “more is less !”
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [alsa] transmission du son à une télé via la carte graphique (en cours)

Message 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 :

Code : Tout sélectionner

$ amixer -c 1 cset name='IEC958 Playback Switch' on
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.
dwm — BÉPO — vim — “more is less !”
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [alsa] transmission du son à une télé via la carte graphique (en cours)

Message par benjarobin »

Bonjour,
Sinon tu supprimes tous ces fichiers et tu utilises pulseaudio qui permet de faire une telle chose facilement.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [alsa] transmission du son à une télé via la carte graphique (en cours)

Message 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
dwm — BÉPO — vim — “more is less !”
Répondre