Ubuntu 16.04 Aucun son des haut-parleurs, seuls les écouteurs fonctionnent

8

Je suis à bout de souffle avec ce problème. Je sais que j'ai vu ce problème un million de fois, mais aucune des solutions ne semble fonctionner.

J'ai un ordinateur portable ASUS double démarrage avec Windows 8.1, j'ai mis à niveau de 15.10 à 16.04 et perdu l'utilisation des haut-parleurs; la carte son pense perpétuellement que les écouteurs sont branchés, comme en témoignent ces captures d'écran.

alsamixer

pavucontrol

Ce n'est pas un problème matériel car 1) le son fonctionne sous Windows 8.1 2) Je peux faire fonctionner les haut-parleurs en désactivant la prise casque à l'aide de hdajackretask (définition de la priorité et ensuite en la réglant sur "Non connecté") mais je ne peux pas utiliser les raccourcis clavier changer le volume

J'ai essayé de recharger alsa et aussi de purger alsa et de réinstaller.

J'ai l'intention de supprimer ma partition Windows 8 de toute façon. J'ai vu ici: Aucun son des haut-parleurs d'ordinateur portable dans Ubuntu 14.04 après le démarrage de Windows 8.1 que Windows pourrait être à l'origine du problème. La suppression de la partition résoudra-t-elle le problème?

Edit: J'ai déjà désactivé le démarrage hybride comme suggéré dans cette question.

jhutch
la source
J'essaierais certainement la réponse acceptée avant toute autre chose.
Désolé, je n'ai pas mentionné que le démarrage hybride / démarrage rapide est déjà désactivé comme suggéré dans la réponse. Modification de la question maintenant.
jhutch

Réponses:

9

J'ai également eu ce problème lors de la mise à niveau de mon Xubuntu 14.04 vers Xubuntu 16.04 (les écouteurs produisaient du son, mais pas les haut-parleurs). J'ai une carte son HD Intel avec une puce Realtek ALC259. Le problème a persisté lors du démarrage avec différents noyaux de 3.13.X à 4.10.X.

Cependant, je l'ai corrigé, et voici comment:

Il est important de comprendre que Pulseaudio (PA) est le système de contrôle du son par défaut pour Ubuntu et la plupart (toutes?) De ses variantes. La sonorisation est essentiellement et superposée au-dessus du système de sonorisation ALSA de base. Ainsi, pour chaque action effectuée en PA, il y a une réaction ultérieure au sein d'ALSA. Pour chaque sortie (aka port) définie dans PA, il existe un ajustement défini du système ALSA. Cet ajustement est connu sous le nom de "voie de mélange".

!!! IMPORTANT !!!

Avant de continuer, c'est le bon moment pour vérifier que c'est bien votre problème et il n'y a pas d'autre raison pour laquelle vos haut-parleurs ne fonctionnent pas. Vous pouvez le faire très facilement en effectuant le test suivant. (Si vous avez joué avec votre système audio, vous voudrez peut-être le ramener à ses paramètres par défaut avant de le tester):

  1. Débranchez tous les écouteurs ou autres périphériques audio SAUF les haut-parleurs qui ne fonctionnent PAS.
  2. Commencez à lire un fichier audio qui générerait normalement du son à partir de vos haut-parleurs, mais ce n'est pas le cas actuellement. Alors,
  3. Ouvrez votre terminal et exécutez la commande:

    alsamixer
    

Vous devriez voir ce qui suit:

alsamixer En raison des différences entre les cartes son, vos appareils peuvent être légèrement différents de ceux de l'image. Dans mon cas, et avant de résoudre le problème, mon alsamixer ressemblait à l'image ci-dessus.

  1. Réactivez tous les périphériques actuellement désactivés (utilisez la touche «m» pour activer / désactiver la désactivation). Augmentez ensuite les curseurs de volume sur tous les appareils qui ne sont pas à 100%.

Si vous pouvez entendre le son de vos haut-parleurs, cette solution est pour vous!

Si vous n'entendez aucun son, revenez à "Google" et continuez à chercher. Cette méthode ne vous aidera PAS.


Si vous avez réussi à obtenir du son à partir du test ci-dessus, ce que nous devons faire maintenant est de jouer avec les paramètres alsamixer afin de déterminer:

  1. Le contrôle du volume de quel appareil contrôle réellement le volume de vos haut-parleurs, et
  2. Lequel des appareils doit être réactivé pour que les haut-parleurs fonctionnent. Il peut être nécessaire de réactiver plusieurs appareils.

Une fois que nous connaissons les paramètres ALSA par lesquels les haut-parleurs fonctionneront, nous pouvons utiliser ces informations pour apporter les modifications nécessaires à nos chemins de mixage PA.

Dans mon cas, j'ai découvert que mes écouteurs et haut-parleurs sont liés au sein d'ALSA de la manière suivante:

  1. Le volume de mon casque est contrôlé par l'appareil "Casque".
  2. Pour obtenir du son à partir de mes écouteurs, les appareils "Master" et "Headphone" doivent être réactivés.
  3. Le volume de mon haut-parleur est ÉGALEMENT contrôlé par l'appareil "Casque". (Le réglage du volume du haut-parleur ALSA n'a étonnamment aucun effet sur le volume de mon haut-parleur.)
  4. Pour obtenir le son de mes haut-parleurs, les appareils "Master" et "Speaker" ne doivent pas être coupés.

Le chemin de mixage par défaut de l'enceinte dans PulseAudio (PA) supposait que mes enceintes étaient indépendantes de mes écouteurs. Ce qui, comme démontré ci-dessus par l'observation 3, n'était pas le cas. Par la suite, le chemin de mixage par défaut dans PA pour mes enceintes a apporté les changements problématiques suivants dans ALSA chaque fois que la sortie d'enceinte était sélectionnée dans PA:

  1. Baisse du volume du casque à 0.
  2. Réglez le haut-parleur comme contrôle du volume.

Compte tenu de la façon dont j'avais observé la liaison par ALSA de mes haut-parleurs et de mes écouteurs comme décrit précédemment, ces modifications apportées à ALSA empêcheraient le son de sortir de mes haut-parleurs.

Ainsi, la solution à ce problème est obtenue en modifiant le chemin de mixage de l'enceinte.

Les fichiers de chemin du mélangeur PA se trouvent dans:

/ usr / share / pulseaudio / alsa-mixer / chemins /

Pour déterminer quel fichier de chemin de mixage contrôle vos haut-parleurs, vous devez:

  1. Assurez-vous que la sortie de vos haut-parleurs est sélectionnée dans PA (c'est-à-dire pas vos écouteurs). entrez la description de l'image ici

  2. Ouvrez un terminal et exécutez la commande suivante:

    pactl list | grep 'Active Port.*output.*'
    
  3. Il devrait produire quelque chose qui ressemble à ceci:

    Port actif: audiotype -output- device

c'est à dire

entrez la description de l'image ici

Le "port actif" est le port PA contrôlant actuellement les paramètres ALSA. Comme vous avez déjà sélectionné votre haut-parleur comme sortie PA, cette sortie de la commande de terminal vous indique que vous devez modifier le fichier de chemin du mélangeur audiotype -output- device .conf. Dans mon cas, le fichier de chemin du mélangeur était analog-output-speaker.conf.

Maintenant que nous avons le bon fichier de chemin de mixage, nous devons apporter nos modifications.

REMARQUE: Dans ce dossier de chemins de mixage, il y a un fichier nommé 'analog-output.conf.common'. Le contenu de ce fichier explique comment les fichiers de chemin du mélangeur sont interprétés. Si vous souhaitez comprendre les changements suivants, je vous recommande fortement de consulter ce fichier avant de modifier le (s) chemin (s) de mixage!

Chaque fichier de chemin de mixage contient de nombreux "éléments". Idéalement, il y a un élément représentant chaque périphérique ALSA sur votre ordinateur dans chacun des fichiers. Il y a probablement des éléments que vous n'avez pas aussi bien. C'est normal.

Dans mon cas, j'avais besoin de modifier les éléments Casque et Haut-parleur dans le chemin du mélangeur pour sortie analogique-speaker.conf de la manière suivante:

  1. Laisser le volume PA régler le volume du casque ALSA.

Original:

[Element Headphone]
switch = off
volume = off

Édité:

[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
  1. (Facultatif) Désactivez le volume du haut-parleur et empêchez le volume de sonorisation d'affecter le volume ALSA. (Si vous ne le faites pas, votre son fonctionnera toujours, mais les paramètres des haut-parleurs dans ALSA rebondiront indûment.)

Original:

[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

Édité:

[Element Speaker]
required-any = any
switch = mute
volume = off

Ensuite, redémarrez PA en exécutant:

pulseaudio -k && pulseaudio --start

Voilà!

notorious.dds
la source