web-dev-qa-db-fra.com

Audio HDMI s'arrête après la mise hors tension du téléviseur

Après la mise à jour 12.04, mon audio HDMI cesse de fonctionner à tout moment, j'éteins mon deuxième moniteur (téléviseur à plasma). La carte graphique est une Radeon 6800 qui possède une sortie DVI vers le premier moniteur, une sortie HDMI vers le récepteur, pour laquelle le téléviseur reçoit les signaux audio/vidéo. Le son est toujours transmis par le son de mon récepteur.

Les choses fonctionnent bien tant que le téléviseur et le récepteur sont allumés. Éteignez le téléviseur et l'audio HDMI de BART disparaîtra et l'option HDMI disparaîtra du menu Son. J'ai eu un problème occasionnel avec HDMI 11.10 mais allumer/éteindre le téléviseur corrigeait le son. Comment puis-je coder les choses de sorte qu'il utilise toujours une sortie audio HDMI? Je soupçonne que la télévision envoie un signal à ce 12.04 est à l'écoute. Rétablir le téléviseur ne résout PAS ceci, et je suggérerais de pouvoir remplacer cette nouvelle "fonctionnalité" via le menu Son.

10
Ryan

J'ai eu ce problème. Je ne pouvais pas trouver un correctif décent, mais j'ai ce travail autour. Notez que c'est un bidouillage horrible mais qu'il fait le travail pour moi jusqu'à ce que le problème racine soit résolu - espérons que cela aidera quelqu'un d'autre. Toutes les 5 secondes, il vérifie si dmesg détecte des erreurs de connexion HDMI et, le cas échéant, redémarre la connexion.

J'ai créé ce script de chien de garde - remplacez "DFP1" par le nom de votre sortie (récupérez-le auprès de xrandr).

#!/usr/bin/env python
import os
import time

valid = "ELD_Valid=1"
invalid = "ELD_Valid=0"

def executeCommand(the_command):
    temp_list = os.popen(the_command).read()
    return temp_list

def getDMESG():
    return executeCommand("dmesg | grep -i hdmi | tail -n 10")

def needsRefresh():
    list = getDMESG();
    valid_index = list.rfind(valid)
    invalid_index = list.rfind(invalid)
    if invalid_index > valid_index:
        return True
    else:
        return False

def doTest():
    if needsRefresh() == True:
        os.popen("xrandr -display :0 --output DFP1 --off; xrandr -display :0 --output DFP1 --auto").read()

while True:
    doTest()
    time.sleep(5)

Si quelqu'un connaît un meilleur moyen de détecter l'erreur (avec les pilotes de catalyseur), veuillez me le faire savoir. (Avec les pilotes opensource, je pense que vous pourriez déclencher le bit de réinitialisation du code sur les événements drm acpi si vous vouliez créer des scripts).

Je commence en ajoutant ceci à /etc/rc.local: (remplacez "xbmc" par le nom d'utilisateur sous lequel vous vous connectez)

su xbmc -c 'python /home/USERNAME/src/check_hdmi.py &'
9
Vanilla_Brys

En attendant, alors que le rapport de bogue obtient une bonne note, j'ai remarqué une combinaison de boutons rapide qui économisera quelques maux de tête.

Il suffit de sortir dans un tty et de revenir à votre interface graphique:

CTRL + ALT + F1 (ou quelque chose de F1 à F6)

ensuite

CTRL + ALT + F8 (vous devrez peut-être utiliser F7 au lieu de F8. L'un d'eux vous ramènera sur votre bureau, l'autre vous donnera un écran noir et un curseur)

Il semble que la synchronisation soit rétablie lors du retour à l'interface graphique.

C'est beaucoup plus rapide que de vous déconnecter et de vous reconnecter, et vos programmes, etc., restent ouverts.

Combinaison de boutons. Terminé. Sans soucis.

Ce n'est bien sûr pas une solution. C'est juste une combinaison de clavier rapide pour inciter HDMI à se synchroniser à nouveau et ainsi récupérer le son.

Cela fonctionne de mon côté.
Quelqu'un d'autre veut éteindre sa télévision une seconde et l'essayer lui-même?

4
user85894

J'ai remarqué que si vous désactivez la sortie du téléviseur et que vous le rallumez, le son est également réinitialisé (Radeon HD6670). Les commandes aticonfig permettent de régler l’affichage sur l’écran de mon téléviseur. Vous devez connaître votre nom de sortie en exécutant "xrandr -q", puis modifiez "DFP1" comme indiqué avant "CONNECTED" dans le résultat de la commande (il respecte la casse). Le seul problème avec cela sur ma configuration est que certaines fenêtres sautent partiellement en haut de l'écran lors de l'exécution de la partie marche/arrêt du script (faites-les glisser à nouveau vers le bas si cela vous arrive). Peut-être que quelqu'un peut coder une meilleure solution/solution de contournement.

#! /bin/bash

# Turn off the DFP1 Output
xrandr --output DFP1 --off
# Turn DFP1 back on
xrandr --auto 

# Set Screen to fit TV
aticonfig --set-dispattrib=dfp1,positionX:0
aticonfig --set-dispattrib=dfp1,positionY:0
aticonfig --set-dispattrib=dfp1,sizeX:1920
aticonfig --set-dispattrib=dfp1,sizeY:1080
2
Viper2

Même problème. Le seul indice que j'ai, c'est après avoir exécuté pactl list

Sink #0
    State: SUSPENDED
    Name: alsa_output.pci-0000_01_00.1.hdmi-stereo
    Description: Turks HDMI Audio [Radeon HD 6000 Series] Digital Stereo (HDMI)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 44100Hz
    Channel Map: front-left,front-right
    Owner Module: 4
    Mute: no
    Volume: 0: 100% 1: 100%
            0: 0.00 dB 1: 0.00 dB
            balance 0.00
    Base Volume: 100%
                 0.00 dB
    Monitor Source: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
    Properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "HDMI 0"
        alsa.id = "HDMI 0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "3"
        alsa.card = "1"
        alsa.card_name = "HD-Audio Generic"
        alsa.long_card_name = "HD-Audio Generic at 0xfddfc000 irq 48"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:01:00.1"
        sysfs.path = "/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1"
        device.bus = "pci"
        device.vendor.id = "1002"
        device.vendor.name = "Advanced Micro Devices [AMD] nee ATI"
        device.product.name = "Turks HDMI Audio [Radeon HD 6000 Series]"
        device.string = "hdmi:1"
        device.buffering.buffer_size = "65536"
        device.buffering.fragment_size = "32768"
        device.access_mode = "mmap+timer"
        device.profile.name = "hdmi-stereo"
        device.profile.description = "Digital Stereo (HDMI)"
        device.description = "Turks HDMI Audio [Radeon HD 6000 Series] Digital Stereo (HDMI)"
        alsa.mixer_name = "ATI R6xx HDMI"
        alsa.components = "HDA:1002aa01,00aa0100,00100200"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    Ports:
        hdmi-output-0: HDMI / DisplayPort (priority: 5900, not available)
    Active Port: hdmi-output-0
    Formats:
        pcm

Il semble éteindre moniteur désactive évier? et ne pas réactiver lorsque la télévision est rallumée. hdmi-output-0: HDMI/DisplayPort (priorité: 5900, non disponible )

" non disponible " doit être " disponible "

Je suppose que vous utilisez une carte ATI avec fglrx. essayer

aticonfig --acpi-services=off

Pas sûr que ce paramètre soit persistant. Si c'est le cas, la commande à réactiver est.

aticonfig --acpi-services=on

Je doute que cela va marcher. EDIT> (Cela n'a pas été le cas)

Comme utilisateur53740 posté. Logout/in restaure l'audio. L'activation ou la désactivation du moniteur désactive l'audio HDMI. Si vous ne voulez vraiment pas vous déconnecter, vous pouvez retirer le plug-in HDMI à nouveau et l'audio HDMI sera restauré. Ne le fais pas trop souvent. Seulement quand tu es désespéré.

Il y a un fil ici et un rapport de bogue dodgey ici

EDIT> Une autre solution consiste à accéder à Paramètres système> Affichage. Puis cliquez sur Appliquer sans rien changer.

1
user55138

Allez dans Paramètres système → Affichages

Modifiez la résolution, appliquez-la, puis rétablissez-la.

Tous les réglages → Son → sélectionnez HDMI

1
Nicolai

Cela fonctionne pour moi (carte graphique Intel HD): killall pulseaudio

(trouvé ici: https://askubuntu.com/a/176276/45779 )

0
Eugen Labun

Résolu Gd Gents

Avait le même problème que mon http avec ATI 5770 était connecté au récepteur, puis à la télévision. Ce problème a été résolu en téléchargeant et en installant le dernier pack de pilotes BETA sur le site Web d'AMD.

Voici le lien ATI Radeon

Merci beaucoup pour le lien vers Catalyst ™ 12.7 Beta Driver Cela faisait longtemps que je cherchais dans Google et personne n’avait la réponse facile à ce problème ennuyeux.

Mais après l’installation de Pilote AMD Catalyst 12.7 Beta pour Windows ® 7 et Windows Vista®

tout est hunky-dory!

Infiniment reconnaissant.:)

0
John

Avoir le même problème.

Bien sûr, les pilotes ATI sont probablement la cause de problèmes, encore une fois. Le mien est Radeon HD 6xxx.

Le fait de se déconnecter et de revenir en arrière récupère le son, mais je suppose qu'il pourrait y avoir une solution plus simple.

0
Xamidovic