TV kapatıldıktan sonra HDMI Ses duruyor


10

12.04 Güncellemesinden sonra 2. monitörümü (plazma TV) kapattığımda HDMI sesim çalışmıyor. Grafik kartı, DVI çıkışı 1. monitöre, HDMI çıkışı TV'nin Ses / Video aldığı alıcıya sahip bir Radeon 6800'dür. Ses her zaman alıcı sesim üzerinden yapılır.

TV ve Alıcı açıkken önyükleme yapılıyor. TV'yi kapatın, BART'ın HDMI sesi kaybolur ve HDMI seçeneği ses menüsünden kaybolur. 11.10 ile ara sıra HDMI sorunu yaşadım, ancak TV'yi açmak / kapatmak sesi düzeltir. Her zaman HDMI'yı ses dışı kullanmak için işleri nasıl kodlayabilirim? TV'nin 12.04'ün şimdi dinlediğine dair bir sinyal gönderdiğinden şüpheleniyorum. TV'yi tekrar açmak bunu çözmez ve ses menüsü aracılığıyla bu yeni "özelliği" geçersiz kılma yeteneğine sahip olmanızı öneririm.



bir hata raporu var - ama fırlatma rampasında çözüm yok: bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/1001842
hiro kahramanı

Yanıtlar:


9

Bu sorunu yaşıyorum. Ben iyi bir düzeltme bulamadım, ama bu işi var. Bunun korkunç bir saldırı olduğunu, ancak kök sorunu çözülene kadar işi benim için yaptığını unutmayın - umarım başka birine yardımcı olacaktır. Her 5 saniyede bir dmesg'i HDMI bağlantı hataları açısından kontrol eder ve bulursa bağlantıyı yeniden başlatır.

Bu bekçi köpeği betiğini yaptım - "DFP1" yerine çıktınızın adını yazın (xrandr'dan alın).

#!/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)

Birisi hatayı tespit etmenin daha iyi bir yolunu biliyorsanız (katalizör sürücüleri ile), lütfen bana bildirin. (Açık kaynak sürücüleri ile, bazı komut dosyaları yapmak istiyorsanız drm acpi olaylarında kodun sıfırlama bitini tetikleyebileceğinizi düşünüyorum).

Bunu /etc/rc.local dosyasına ekleyerek başlıyorum: ("xbmc" olarak oturum açtığınız kullanıcı adına değiştirin)

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

Betik çalışır, ancak rc.local ile otomasyon çalışmaz. Rc.local'ın nasıl olması gerektiğini gösterebilir misiniz?
ECII

Komut dosyasını cron'a eklemek ve her dakika çalışmasını sağlamak uygun olur mu?
ECII

Sen cron içine koymak olabilir. Tüm while True:bloğu kaldırmanız ve basitçe değiştirmeniz gerekir doTest(). Bazı müdahaleler alabilir - giriş yapmış kullanıcılar cron'da (kök değil) çalıştırıldığından emin olun.
Vanilla_Brys

Benim rc.local birkaç şey içeriyor. En altta şu var: su xbmc -c 'python /home/andy/src/check_hdmi.py &'yeni bir satırda exit 0. Eğer değiştirilir mı xbmcdoğru kullanıcı adı ile?
Vanilla_Brys

Normal bir masaüstü ortamı kullanıyorsanız (xbmc kullanıyorum, bu yüzden kullanmıyorum), muhtemelen başlangıç ​​uygulamalarınıza python komut dosyasını ekleyebilirsiniz.
Vanilla_Brys

4

Bu arada hata raporu iyi giderken, birkaç baş ağrısını kurtaracak hızlı bir düğme kombinasyonu fark ettim.

GUI'nize bir ttyve geri çekin :

CTRL+ ALT+ F1 (Ya da herhangi bir şey F1için F6)

sonra

CTRL+ ALT+ F8( F7yerine kullanmanız gerekebilir F8. Bunlardan biri sizi masaüstünüze, diğeri size siyah bir ekran ve bir imleç verecektir)

GUI'ye dönerken senkronizasyon yeniden kurulmuş gibi görünüyor.

Bu, oturumu kapatıp tekrar oturum açmaktan çok daha hızlıdır ve siz programlar vb. Açık kalırsınız.

Düğme kombinasyonu. Bitti. Sorunsuz.

Bu elbette bir düzeltme değil. HDMI'yı yeniden senkronize etmek ve böylece sesi geri almak için kandırmak hızlı bir klavye kombinasyonudur.

Sonunda çalışıyor.
Başka biri televizyonlarını bir saniyeliğine kapatmak ve kendileri denemek ister mi?


2

TV'ye çıkışı kapatır ve tekrar açarsanız sesi de sıfırladığını fark ettim (Radeon HD6670). Aticonfig komutları, ekranı TV'imdeki ekranı dolduracak şekilde ayarlar. "Xrandr -q" değişiklik "DFP1" çalıştırarak çıktı adınızı bulmak komutun çıkışında "CONNECTED" önce listelenen ile değiştirmek gerekir (büyük / küçük harf duyarlıdır). Kurulumumdaki tek sorun, bazı pencerelerin komut dosyasının açma / kapama kısmını çalıştırırken ekranın üst kısmından kısmen atlamasıdır (eğer başınıza gelirse Alt-Aşağı sürükleyin). Belki birileri daha iyi bir çözümü / çözümü kodlayabilir.

#! /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

1

Aynı sorun. Sahip olduğum tek ipucu koştuktan sonrapactl 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

Monitörü kapatmak görünüyor lavabo devre dışı? ve tv tekrar açıldığında yeniden etkinleştirilmez. hdmi-output-0: HDMI / DisplayPort (öncelik: 5900, mevcut değil )

" Mevcut değil " "olmalıdır kullanılabilir "

Fglrx ile bir ATI kartı kullandığınızı varsayıyorum. Deneyin

aticonfig --acpi-services=off

Bu ayarın kalıcı olduğundan emin değilim. Eğer öyleyse tekrar açma komutu.

aticonfig --acpi-services=on

Bunun işe yarayacağından şüpheliyim. DÜZENLE> (Etmedi)

User53740 olarak yayınlanmıştır. Çıkış / giriş sesi geri yükler. Monitörü açma veya kapatma HDMI sesini devre dışı bırakır. Gerçekten oturumu kapatmak istemiyorsanız, hdmi fişini tekrar bir eklentiyi kaldırabilirsiniz ve hdmi ses geri yüklenir. Çok sık yapma. Sadece umutsuzken.

Burada bir iplik var ve bir dodgey hata raporu var

DÜZENLE> Başka bir geçici çözüm Sistem Ayarları> Ekran'a gidin. Ardından hiçbir şeyi değiştirmeden uygula'yı tıklayın.


1

Sistem Ayarları → Ekranlar seçeneğine gidin

Çözünürlüğü değiştirin, uygulayın, sonra tekrar değiştirin.

Tüm Ayarlar → Ses → HDMI'ı seçin


0

Aynı problemi yaşıyorum.

Tabii ki, ATI sürücüleri muhtemelen yine sorunlara neden olmaktadır. Benimki Radeon HD 6xxx.

Oturumu kapatıp tekrar açmak sesi geri getirir, ancak sanırım daha basit bir çözüm olabilir.


0

Çözülmüş GD Beyler

Aynı sorun vardı sadece ATI 5770 ile benim http alıcıya ve sonra TV'ye bağlandı. AMD web sitesinden en son BETA sürücü paketini indirip yükleyerek bu sorunu çözdü.

İşte ATI Radeon linki

Catalyst ™ 12.7 Beta Sürücüsüne bağlantı için çok teşekkür ederim Google'ı uzun zamandır araştırıyordum ve kimsenin bu can sıkıcı sorun için kolay bir cevabı yoktu.

Ancak Windows ® 7 ve Windows Vista® için AMD Catalyst 12.7 Beta Sürücüsünü yükledikten sonra

her şey hunky-dory!

Çok minnettarım.:)


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.