web-dev-qa-db-fra.com

Résoudre les problèmes audio avec Intel HDA Realtek 887-VD

Je viens de construire moi-même un nouveau bureau costaud, avec un mobo Gigaoctet Z97P-D3, un processeur Intel i7-4790K, 16 Go de RAM. J'utilise le matériel audio intégré HDA (Realtek ALC887-VD) pour la sortie audio. J'utilise Ubuntu 14.04 LTS.

Toutes les quelques minutes, je peux entendre un bref saut en lecture audio, presque comme si une image était supprimée. C'est incroyablement ennuyant et cela arrive quelle que soit la source (navigateur VLC/Spotify/Chromium). Au cours d'un bref instant, la liste des périphériques de l'onglet Préférences son> Sortie devient grisée et l'indicateur de contrôle du volume clignote brièvement comme s'il était en mode sourdine, avant que tout ne revienne à la normale.

ALSAmixer a également des problèmes similaires lors des sauts, les barres de volume disparaissant toutes pendant une fraction de seconde.

J'ai essayé les solutions suivantes (aucune d'entre elles ne fonctionne pour moi):

1) /etc/modprobe.d/alsa-base.conf: paramètre Position_fix

options snd-hda-intel model=generic position_fix=1

2) PulseAudio /etc/Pulse/default.pa: Désactiver tsched

load-module module-udev-detect use_ucm=0 tsched=0

3) PulseAudio /etc/Pulse/default.pa: Réglage des valeurs par défaut (toutes sortes de combinaisons et valeurs du ci-dessous)

default-fragments = 2
default-fragment-size-msec = 250
default-sample-rate = 48000
realtime-scheduling = yes
realtime-priority = 5

4) Réinstallation de PulseAudio

5) Mise à niveau du noyau vers la dernière version stable (4.4.2)

6) Utiliser Jack2 au lieu de PulseAudio

7) Acheter une nouvelle carte son (SoundBlaster Live) qui ne semble pas fonctionner avec diverses applications telles que Spotify.

Sortie de cat /proc/asound/card*/codec* | grep Codec:

Codec: Intel Generic

Codec: Realtek ALC887-VD

Codec: Nvidia GPU 60 HDMI/DP

Sortie de cat /proc/asound/card*

0 [HDMI]: HDA-Intel - HDA Intel HDMI HDA Intel HDMI à l'adresse 0xf7914000 irq 33

1 [PCH]: HDA-Intel - HDA Intel PCH HDA Intel PCH à l'adresse 0xf7910000 irq 32

2 [NVidia]: HDA-Intel - HDA NVidia HDA NVidia à l'adresse 0xf7080000 17

C'est la carte n ° 1 que j'utilise.

Sortie de uname -a:

Linux alnitak 4.4.2-040402-generic # 201602171633 SMP Mer 17 Fév. 21:35:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Je soupçonne que cela a quelque chose à voir avec les pilotes intel HDA puisque Pulse, ALSA et Jack sont tous affectés.

Y a-t-il des correctifs qui me manquent?

4
michaeljtbrooks

Ok, je l'ai résolu ... La réponse était:

1) Achetez une nouvelle carte son (dans mon cas, un Soundblaster Live)

2) Installer Jack Audio (jackd)

Sudo apt-get install jackd qjackctl

3) Installer le pont Jack-Pulseaudio (pulseaudio-module-jack)

Sudo apt-get install pulseaudio-module-jack

4) Activez la prise jack up (j’ai utilisé qJackctl) avec les paramètres conviviaux Soundblaster:

Pilote: alsa

Temps réel

Cadres/Période: 2048

Périodes/Tampon: 2

Périphérique d'entrée: hw: Live

Périphérique de sortie: hw: Live

5) Assurez-vous que les connexions Jack corrigent la lecture du système PulseAudio JACK au système

jack_connect 'PulseAudio JACK Sink:front-left' 'system:playback_1'
jack_connect 'PulseAudio JACK Sink:front-right' 'system:playback_2'

6) Assurez-vous que PulseAudio utilise le Jack Sink comme sortie

pacmd set-default-sink "jack_out" && pacmd set-default-source "jack_in"

7) Redémarrez Spotify/VLC ou tout ce que vous utilisez pour jouer du son ... ça va marcher!

C'est une solution absolue, mais c'est parce que les pilotes audio HDA ​​intel de Linux sont de mauvaise qualité. Le problème réside dans le compte rendu de rapport du pointeur de position DMA (problème connu: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt ).

L'audio Linux est un gâchis. J'utilise Ubuntu depuis 2010 et au cours des 6 dernières années, c'est le cluster audio ## k qui m'a toujours donné les plus gros maux de tête. PulseAudio a peut-être un joli widget de bureau, mais il pose beaucoup de problèmes. Jack est mal documenté et qjackctl ne vous donne pas une longueur d'avance. Seule ALSA semble se comporter, mais hélas, personne n’a écrit de widget de bureau Nice ni d’interface pour contrôler les programmes qui s’y sont liés.

Les messages à emporter sont:

N'utilisez pas l'audio intégré HDA intel si vous utilisez Linux.

L'audio Linux est un gâchis. Si cela ne fonctionne pas correctement hors de la boîte, vous êtes dans un monde de douleur!

0
michaeljtbrooks

Le pilote de périphérique Linux appelé snd-hda-intel a apparemment causé une énorme aggravation depuis au moins novembre 2010, quand un utilisateur aggravé a écrit un fichier PulseAudioMicrophoneGuide.pdf.

Voici ce que j'ai compris jusqu'ici: PulseAudio est une couche logicielle qui s'exécute sur Alsa. Alsa est une couche logicielle qui charge un grand nombre de packages de logiciels pilotes. Alsa ne se limite pas aux pilotes pour les signaux électroniques. Alsa charge plusieurs petits logiciels différents pour chaque signal électrique, comme un mélangeur et un logiciel qui lit des octets dans un microphone ou écrit des octets dans un amplificateur pour casque.

Mon ordinateur portable Lenovo S21e 2015 a un problème "pas de son du microphone intégré" et par conséquent, ni Skype, ni GoogleHangouts Chat ne fonctionnent avec le microphone intégré.

La solution à court terme pour moi consiste à brancher une webcam avec microphone ou à utiliser un casque USB Plantonics.

Voici ce que je pense doit être fait. Je ne suis pas un programmeur C (juste Python, Perl et Arduino). Dans le pilote de périphérique qui parle au matériel, trouvez l'emplacement dans le code source où les données audio sont copiées à partir de l'emplacement de la mémoire du microphone. L'un des canaux de sortie, Droite ou Gauche, est en train d'être inversé dans le logiciel. Je suppose qu'ils ont fait une inversion de signal dans l'espoir d'annuler une sorte de bruit provenant du signal. L'astuce consiste donc à comprendre pourquoi le programmeur d'origine a forcé une inversion. Si rien d'autre, supprimez l'inversion et voyez si cela rend les canaux droit et gauche corrects.

2
Lee McKusick