从挂起状态唤醒后,HDMI 上的声音不再起作用

从挂起状态唤醒后,HDMI 上的声音不再起作用

到目前为止,挂起到内存并从内存中唤醒都正常。我的笔记本电脑的外接显示器(通过 HDMI 连接)也能正常工作。

但是,声音不起作用,当然,在挂起之前声音是正常的。我使用外接显示器的扬声器,并在 Ubuntu 的声音菜单中进行了相应的设置(在“硬件”选项卡中切换到“数字立体声 (HDMI) 输出 + 模拟立体声输入”)。

我该如何修复它?

编辑:当我运行 ubuntu-bug 时,它测试了使用和不使用脉冲的声音输出。不使用脉冲时,它可以工作,但是我仍然听到噪音。使用脉冲时,它只是噪音。

编辑:现在 natty 和 oneiric 运行良好。更新到最新的 Ubuntu 解决了这个问题。

答案1

对我来说,挂起后硬件出现故障听起来像是驱动程序错误。ubuntu-bug -s audio

同时,作为一种解决方法,您可以尝试sudo alsa force-reload强制卸载并重新加载驱动程序(但在此过程中将终止所有正在运行的声音应用程序)。

答案2

确定哪个内核模块正在处理 HDMI 音频。在我的 XBMC 盒子上,它是“snd_hda_codec_nvhdmi”,然后在笔记本电脑进入睡眠状态之前通过 /etc/pm/sleep.d 中的脚本卸载该模块。命令“lsmod | grep hdmi”可能会给你一些线索。你可能必须卸载多个模块才能正常工作(如“snd”),但如果你能找到正确的组合,它就像你每次让笔记本电脑进入睡眠状态时关机并重新启动一样。

您的脚本应如下所示:

#!/bin/sh

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

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

答案3

当 HDMI 声音在唤醒后“不可用/未插电”时,以下方法对我有用

xrandr --output HDMI-1 --auto --set "audio" on

YMMV,适应您的 HDMI 输出名称。

相关内容