TV를 끈 후 HDMI 오디오가 중지됨


10

12.04 업데이트 후 HDMI 오디오가 작동을 멈출 때마다 두 번째 모니터 (플라즈마 TV)를 끕니다. 그래픽 카드는 Radeon 6800으로 DVI 출력을 1 차 모니터로, HDMI 출력을 수신기로 보내면 TV에서 오디오 / 비디오를 가져옵니다. 오디오는 항상 내 수신기 사운드를 통해 이루어집니다.

TV와 수신기를 켠 상태에서 부팅하는 것이 좋습니다. TV를 끄면 BART의 HDMI 오디오가 사라지고 사운드 메뉴에서 HDMI 옵션이 사라집니다. 11.10에서 가끔 HDMI 문제가 발생했지만 TV를 켜거나 끄면 사운드가 수정됩니다. 항상 오디오가 아닌 HDMI를 사용하도록 하드 코딩하는 방법은 무엇입니까? 나는 12.04가 현재 듣고있는 TV에서 신호를 보내고 있다고 생각합니다. TV를 다시 켜도 문제가 해결되지 않으며 사운드 메뉴를 통해이 새로운 "기능"을 무시할 수있는 기능을 제안합니다.



버그보고있다 - 그러나 런치 패드에 아무런 해결책 : bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/1001842
히로의 주인공은

답변:


9

이 문제가 발생했습니다. 괜찮은 해결책을 찾지 못했지만이 해결 방법이 있습니다. 그것은 끔찍한 해킹이지만 근본 문제가 해결 될 때까지 나를 위해 일합니다. 바라면 다른 사람을 도울 것입니다. 5 초마다 dmesg에서 HDMI 연결 오류를 확인하고 오류가 발견되면 연결을 다시 시작합니다.

이 워치 독 스크립트를 만들었습니다. "DFP1"을 출력 이름으로 바꾸십시오 (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)

누구든지 (촉매 드라이버로) 오류를 감지하는 더 좋은 방법을 알고 있다면 알려주십시오. (오픈 소스 드라이버를 사용하면 스크립트를 원한다면 drm acpi 이벤트에서 코드의 재설정 비트를 트리거 할 수 있다고 생각합니다.)

이것을 /etc/rc.local에 추가하여 시작합니다 : ( "xbmc"를 로그인 한 사용자 이름으로 변경하십시오)

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

스크립트는 작동하지만 rc.local의 자동화는 작동하지 않습니다. rc.local이 어떻게 생겼는지 보여 주시겠습니까?
ECII

cron에 스크립트를 추가하고 매분 정도 실행하도록해도 괜찮습니까?
ECII

크론에 넣을 수 있습니다. 전체 while True:블록 을 제거하고 간단히로 교체해야합니다 doTest(). 약간의 땜질이 필요할 수 있습니다-루트가 아닌 로그인 된 사용자 cron에서 실행되는지 확인하십시오.
Vanilla_Brys

내 rc.local에는 몇 가지 사항이 있습니다. 맨 아래에는 su xbmc -c 'python /home/andy/src/check_hdmi.py &'다음 이 있습니다 exit 0. 당신은 교체하십시오 xbmc올바른 사용자 이름?
Vanilla_Brys

일반적인 데스크톱 환경을 사용하는 경우 (xbmc를 사용하고 있으므로 사용하지 않는 경우) 시작 응용 프로그램에 python 스크립트를 추가하면됩니다.
Vanilla_Brys

4

그동안 버그 보고서가 잘 진행되는 동안 몇 가지 두통을 줄일 수있는 빠른 버튼 조합을 발견했습니다.

간단히 ttyGUI 로 가져 와서 다시 GUI 로 가져옵니다 .

CTRL+ ALT+ F1 (또는에서 F1~까지 F6)

그때

CTRL+ ALT+ F8( F7대신에 사용해야 할 수도 있습니다 F8. 그 중 하나는 바탕 화면으로 돌아가고 다른 하나는 검은 화면과 커서를 나타냅니다)

GUI로 돌아갈 때 동기화가 다시 설정된 것 같습니다.

이것은 로그 아웃하고 다시 로그인하는 것보다 훨씬 빠르며 프로그램 등이 열려 있습니다.

버튼 조합. 끝난. 번거 로움 무료.

이것은 물론 수정이 아닙니다. 빠른 키보드 조합으로 HDMI를 재 동기화하여 오디오를 다시 가져올 수 있습니다.

그것은 내 끝에서 작동합니다.
다른 사람이 잠시 TV를 끄고 직접 시도하고 싶습니까?


2

TV로 출력을 껐다가 다시 켜면 사운드도 재설정됩니다 (Radeon HD6670). aticonfig 명령은 내 TV의 화면을 채우도록 디스플레이를 설정합니다. "xrandr -q"change "DFP1"을 명령 출력에서 ​​"CONNECTED"앞에 나열된 항목으로 실행하여 출력 이름을 찾아야합니다 (대소 문자 구분). 내 설정 에서이 문제는 스크립트의 켜기 / 끄기 부분을 실행할 때 일부 창이 화면 상단에서 약간 튀어 나옵니다 (발생하는 경우 Alt-Drag). 누군가가 더 나은 솔루션 / 해결 방법을 코딩 할 수 있습니다.

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

같은 문제입니다. 내가 가진 유일한 힌트는 실행 후입니다.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

모니터를 끄면 싱크가 비활성화됩니까? TV를 다시 켜면 다시 사용할 수 없습니다. hdmi-output-0 : HDMI / DisplayPort (우선 순위 : 5900, 사용할 수 없음 )

" 사용할 수 없음 "은 " 사용 가능 해야합니다 "

fglrx와 함께 ATI 카드를 사용한다고 가정합니다. 시험

aticonfig --acpi-services=off

이 설정이 지속되는지 확실하지 않습니다. 그렇다면 다시 켜는 명령입니다.

aticonfig --acpi-services=on

이것이 효과가 있을지 의문입니다. 편집> (하지 않았다)

user53740이 게시 한대로 로그 아웃 / 인은 오디오를 복원합니다. 모니터를 켜거나 끄면 HDMI 오디오가 비활성화됩니다. 정말로 로그 아웃하고 싶지 않다면 hdmi 플러그 플러그인을 다시 제거하면 hdmi 오디오가 복원됩니다. 너무 자주하지 마십시오. 당신이 필사적 일 때만.

여기 에 dodgey 버그 보고서에 스레드가 있습니다.

편집> 다른 해결 방법은 시스템 설정> 디스플레이로 이동하십시오. 그런 다음 아무 것도 변경하지 않고 적용을 클릭하십시오.


1

시스템 설정 → 디스플레이로 이동

해상도를 변경하고 적용한 다음 다시 변경하십시오.

모든 설정 → 소리 → HDMI 선택


0

같은 문제가 있습니다.

물론 ATI 드라이버가 문제의 원인 일 수도 있습니다. 광산은 Radeon HD 6xxx입니다.

로그 아웃했다가 다시 소리가 나지만 다른 간단한 해결책이있을 것 같습니다.


0

해결 된 GD 신사

같은 문제가 있었지만 ATI 5770을 사용하는 http 만 수신기에 연결 한 다음 TV에 연결했습니다. AMD 웹 사이트에서 최신 BETA 드라이버 팩을 다운로드하여 설치하여이 문제를 해결했습니다.

링크는 ATI Radeon입니다

오랫동안 Google을 검색해 왔던 Catalyst ™ 12.7 베타 드라이버 에 대한 링크에 대해 대단히 감사합니다 .

그러나 Windows® 7 및 Windows Vista® 용 AMD Catalyst 12.7 베타 드라이버를 설치 한 후

모든 것이 늠름한 것입니다!

감사합니다.:)


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.