Нет звука HDMI после приостановки

Моя проблема в том, что когда я просыпаюсь от компьютера после ожидания, у меня нет звука через HDMI. Ну, есть "аудио", но это похоже на воспроизведение песни и прослушивание 1 секунды каждые 10 минут и очень искаженное. Что-то странное.

С динамиками ноутбука у меня нет проблем.

Я использую Ubuntu с 8.04. В моем ноутбуке ThinkPad T450 было 14.04, и таких проблем не было, пока я не обновился до 16.04.

Я видел эту ветку, но у меня не работает: нет звука после приостановки / возобновления

Также я попытался использовать скрипт в / etc / pm / sleep .d /

#!/bin/sh

# Script to disable hdmi audio before suspend and restart after wake.

case "${1}" in
        suspend|hibernate)
            rmmod snd_hda_codec_hdmi
            rmmod snd
                ;;
        resume|thaw)
            modprobe snd
            modprobe snd_hda_codec_hdmi
                ;;
esac

Все еще не работает с этим, может быть, мне стоит добавить что-нибудь в сценарий?

lsmod | grep hdmi дает мне

snd_hda_codec_hdmi     53248  1
snd_hda_codec         135168  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           73728  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_pcm               106496  5 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
snd                    81920  35 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_seq_device

Спасибо за помощь!

1
задан 13 April 2017 в 15:24

3 ответа

Помещение сценариев в /etc/pm/sleep.d/ больше не будет работать в результате перемещения к systemd от 15,04.

, Если Вы хотите экспериментировать с такими сценариями, можно поместить их в /lib/systemd/system-sleep/ вместо этого, хотя необходимо будет также внести некоторые незначительные изменения в них как параметры, которые передаются, отличаются.

От man systemd-sleep:

первый аргумент будет "пред", второе или "приостановить", "быть в спящем режиме", или "гибридный сон" в зависимости от выбранного действия.

Сразу после оставления системы приостанавливают и/или спящий режим, те же исполняемые файлы выполняются, но первым аргументом является теперь "сообщение".

В сценарии Вы отправили, необходимо будет измениться suspend|hibernate) на pre) и resume|thaw) к post).

0
ответ дан 14 April 2017 в 01:24

Я знаю, как эта проблема может быть раздражающей. Я раньше устанавливал собственный драйвер ATI, однако когда я обновил к 16,04, я выясняю эту проблему. Я понял, что проблема была легко решена, нажав ctrl + высокий звук + f6 и ctrl + высокий звук + f7 или изменив разрешение с xrandr. Таким образом, я создал этот после обходного решения.

Открывают терминал и вводят следующую команду...

sudo nano /lib/systemd/system-sleep/fixhdmiaudio

... и вставка это:

#! /bin/sh

# Bug 1252423 – HDMI Audio seen as 'unplugged' after Suspend
# Created by Marcos Silveira - 2016
# Workaround

case $1/$2 in
        pre/*)
          #sleeping - nothing to do
        who |cut -d " " -f1 | uniq > /tmp/suspend.user
          ;;
        post/*)
          # Waking up
          export DISPLAY=:0
          #perform command  as the current tty user

          su - $(cat /tmp/suspend.user) -c "/usr/bin/xrandr --output HDMI-0 --auto;sleep 1s;/usr/bin/xrandr --output HDMI-0 --mode 1920x1080"
          ;;
esac

Мое разрешение по умолчанию 1920x1080. Можно установить любые поддерживаемые разрешения, работающие xrandr. Моим выводом HDMI по умолчанию является HDMI 0. Это может отличаться для Вас. Я рекомендую выполнить xrandr прежде для подтверждения вывода HDMI по умолчанию.

Сохраняют и закрывают и устанавливают полномочия:

sudo chmod 755 /lib/systemd/system-sleep/fixhdmiaudio

Обладают и удача.

0
ответ дан 14 April 2017 в 01:24

У меня есть Radeon 6570 и xrandr, решение не работало.

Как выполнение CTRL + ALT + F6 и CTRL + ALT + F7 работал, я использовал команду chvt.

, Таким образом, я изменил сценарий Marcos Silveira следующим образом:

/lib/systemd/system-sleep/fixhdmiaudio

#! /bin/sh
case $1/$2 in

    post/*)

        # Vai para o VT + 1 e retorna para o VT atual
        CURRENT_VT=$(fgconsole)
        chvt $((CURRENT_VT + 1)) && chvt $((CURRENT_VT))
        ;;
esac
1
ответ дан 14 April 2017 в 01:24

Другие вопросы по тегам:

Похожие вопросы: