Bonjour,
La manière dont est formulée la question est un peu confuse car au final on ne comprend pas trop si le but est de faire marcher le son en HDMI sous Ubuntu ou sous Windows, heureusement que les messages #1 et #2 ont clarifié ce point :-)
Chose à savoir avant de rentrer dans le vif du sujet, les pilotes Linux n'ont pas d'impact sur Windows (et réciproquement).
J'ai eu le même problème que toi qui était la combinaison de tous les problèmes suivants. Dans ton cas tu as peut être un sous ensemble de ces problèmes, certains de ces problèmes, et peut-être d'autres problèmes :-) Je pars du principe notamment que le volume de son est à un volume raisonnable, non muet, que les enceintes sont branchées et allumées.
Installation des pilotes
Sous Linux avec une carte Nvidia, il faut selon ma propre expérience utiliser le pilote propriétaire (nvidia) car l'HDMI ne fonctionne pas systématiquement avec le pilote libre (nouveau). Espérons que l'HDMI sera à terme aussi supporté par le pilote libre.
Installation de pavucontrol
Dans ce qui suit, nous aurons besoin régulièrement de pavucontrol (le panneau de control de PulseAudio).
Installe-le avec :
sudo apt update
sudo apt install pavucontrol
Puis lance-le :
pavucontrol &
Problème de profil PulseAudio
Symptômes : Dans pavucontrol, le son ne marche qu'après avoir basculé entre plusieurs profils PulseAudio (quitte à faire un aller retour sur le profil courant).
Explication : PulseAudio peut avoir du mal à charger le bon profil en particulier quand tu as plusieurs interfaces son (par exemple la carte nvidia pour l'HDMI et une carte Intel sinon).
Solution : L'HDMI étant rarement branché au démarrage, l'idée est de démarrer en s'assurant que PulseAudio est bien calé sur la carte son. Pour automatiser le changement de profil, l'idée est de retrouver la liste des identifiants de profils PulseAudio
pacmd list-cards
... puis de faire la bascule en ligne de commandes. Dans mon cas voici le changement de profil que je fais au démarrage de ma session graphique :
pacmd set-card-profile 0 output:hdmi-stereo-extra1+input:analog-stereo
pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
Une fois la bonne bascule trouvée, on crée un script qu'on lancera au démarrage de la session graphique, par exemple ~/.config/autostart/mando-pulseaudiorc.sh (où ~ désigne ton dossier personnel, par exemple /home/toto). Dans mon cas ce fichier contient :
#!/bin/sh
pacmd set-card-profile 0 output:hdmi-stereo-extra1+input:analog-stereo
pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
exit 0
On donne les des droits en exécution au fichier :
chmod a+x ~/.config/autostart/mando-pulseaudiorc.sh
Puis on l'ajoute en script de démarrage (la procédure diffère selon que tu utilises KDE, Gnome ou autre chose, je te laisse chercher un tutoriel si le besoin s'en fait sentir).
Autres problèmes
Il m'est arrivé d'autres problèmes, lié à la carte son Intel et donc a priori indépendant des problèmes liés à l'HDMI. Ce qui suit donc dans cette section ne te concerne donc a priori pas, mais à toutes fins utiles je le reporte quand même.
Je précise que dans mon, cas la carte mise avait le modèle suivant :
$ lspci | grep -i audio
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
Fast boot
Symptômes : selon le dernier système d'exploitation lancé, la carte son marche correctement ou pas.
Explication : La carte peut mémoriser lorsque tu éteins un système d'exploitation un état. C'est assez contre-intuitif mais c'est pourtant bien le cas. C'est dû à une fonctionnalité de Windows, appelée FastBoot, qui accélère son démarrage, mais laisse la carte dans un état partiellement initialisé au lieu de tout remettre à zéro.
Solution : Pour résoudre ce problème, deux stratégies sont possibles (personnellement j'ai pris la première) :
- soit tu désactives le FastBoot sous Windows ;
- soit au démararge de Linux, tu lances la commande suivante :
sudo alsactl init
Paramétrage de la carte son
Symptômes : Le son semble actif dans pavucontrol (les jauges s'animer en jouant un son), mais qu'aucun son n'est effectivement joué
Solution : On créé un script /root/fix_sound.sh qui contient les commandes suivantes :
#!/bin/sh
# Run this if you can't hear the sound while everything seems ok in pavucontrol (gauge animated when playing music)
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1850439
hda-verb /dev/snd/hwC0D0 0x20 0x500 0x1b
hda-verb /dev/snd/hwC0D0 0x20 0x477 0x4a4b
hda-verb /dev/snd/hwC0D0 0x20 0x500 0xf
hda-verb /dev/snd/hwC0D0 0x20 0x477 0x74
Je n'ai jamais compris d'où sortaient ces commandes et ces valeurs, mais ce qui est certain c'est qu'elles sont nécessaires dans mon cas, parfois après une mise à jour du noyau (paquet linux-image-amd64).
Pour donner les droits en exécution au script :
chmod a+x /root/fix_sound.sh
Pour lancer le script :
sudo /root/fix_sound.sh
Crash de PulseAudio
Symptômes :
Solution : Dans mon cas, le problème vient d'un module PulseAudio, appelé module-suspend-on-idle. En gros ce module éteint la carte son quand celle-ci semble inactive (sauf qu'en l'occurrence, il ne faut pas le faire !). Pour désactiver ce module, on commente (en ajoutant un # en début de ligne) la ligne de /etc/pulse/default.pa qui contient :
# Ajouter un # devant la ligne suivante dans le fichier /etc/pulse/default.pa
load-module module-suspend-on-idle
J'espère que ça t'aidera, bonne chance
Modifié le 18 oct. 2020 à 13:44
Merci pour votre réponse, mais comme indiqué dans mon message, je suis sous Ubuntu 20.04, désolée si ce n'était pas très clair.