Ubuntu 18-04 - AMD Radeon HD 7870 没有 HDMI 音频

Ubuntu 18-04 - AMD Radeon HD 7870 没有 HDMI 音频

我在 Gigabyte 78LMT-USB3(第六代)主板上运行 Ubuntu 18.04。通过我的显卡使用 HDMI 音频根本不起作用。通过耳机播放声音正常。

这是我的 alsa 报告:http://www.alsa-project.org/db/?f=317bebb3e63a8726494c1637432903834c7c128c

为什么我无法通过显卡获取音频?

答案1

您可能需要添加内核参数/etc/default/grub

sudo nano /etc/default/grub

查找GRUB_CMDLINE_LINUX_DEFAULT并添加amdgpu.dc=1(或者,如果它不起作用,则radeon.audio=1)。然后更新 grub 并重新启动:

sudo update-grub

然后查看 pavucontrol 中的最后一个选项卡,查找包含 HDMI 输出的配置文件。

答案2

在 Ubuntu 18.10 上安装新内核后,我的 HDMI 音频(AMD HD 4850)消失了。使用以前的内核版本重新启动系统有助于解决此问题:

  • 内核 4.18.0-21-通用:HDMI 音频是不是在职的
  • 内核 4.18.0-20-通用:HDMI 音频正在工作

所有内核均从4.15.0-514.18.0-215.0.0-16被影响到的。

请参阅此错误的详细信息(评论#27): https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1834771

答案3

更新8/21这已经成为一个长期存在的错误,记录在此错误报告(帖子 53 引用了该答案)。

首先检查内核是否可以控制音频硬件:

cat /proc/asound/cards

左列中至少应有一个“HDMI”条目。如果没有,则在内核能够看到并控制音频硬件之前,无法使用 HDMI 音频。(搜索“alsa kernel config”可能会有所帮助,返回的页面如下) 否则,此解决方法应该可以修复 pulseaudio 系统中的 HDMI 声音(如果没有其他损坏)。

粘贴到终端:

mkdir -p $HOME/bin
echo '#!/bin/bash

# Temporary workaround to restore HDMI audio until kernel is fixed
#       ref. https://askubuntu.com/a/1207919/165265
#
a=$(aplay -l | grep HDMI)
c=${a#*card }; card=${c:0:1}
d=${a%:*}; dev=${d: -1}

s=$(pacmd stat | grep sink)
[[ ${s: -4} == _${card}_${dev} ]] || {
pulseaudio --kill
rm $HOME/.config/pulse/*
sleep 2
wait
pulseaudio --start
pacmd load-module module-alsa-sink device=hw:$card,$dev
pacmd set-default-sink alsa_output.hw_${card}_${dev}
pacmd set-sink-volume alsa_output.hw_${card}_${dev} 35000
}
exit 0
' > $HOME/bin/fixHDMIaudio
chmod +x $HOME/bin/fixHDMIaudio
echo
cat $HOME/bin/fixHDMIaudio

致电:

$HOME/bin/fixHDMIaudio &

该程序检查是否选择了 HDMI 音频,如果没有,则尝试激活第一个 HDMI 设备“HDMI 0”。如果 HDMI 音频已在使用中,则不执行任何操作。

请注意,某些声卡可能会为单个端口列出多个 HDMI 设备。在这种情况下,需要手动尝试每个设备,请参阅帖子 74在上面引用的错误报告中。

要在启动后自动运行,可以将调用添加到启动应用程序或启动脚本中。手动操作时,可以从 GUI 中的启动器单击或在 CLI 中键入。

某些发行版可能会在从挂起状态恢复后间歇性地恢复到无 HDMI 音频状态。在这种情况下,上述解决方法可能无法恢复 HDMI 音频,直到重新启动后。

还请注意,当前版本的 Firefox (FF) 中存在一个已知错误,即当媒体播放位置为零时,应用程序的音量会重置为零。因此,要么不要使用 FF 进行测试,要么准备好在每次测试时在“声音设置”中增加音量。

在 20.04 之前的版本中,我们观察到有时 HDMI 音频会在没有播放音频流的情况下拒绝激活。如果获取 HDMI 音频时遇到问题,请在调用此程序之前尝试播放一段音乐(即在媒体播放器中)。

首次运行时,可能需要在脉冲音频音量控制 ( sudo apt install pavucontrol) 的“输出设备”选项卡上选择“HDMI 音频”。配置选项卡可能会继续显示 HDMI 端口为“未插电”。这与此解决方法存在的错误有关(!)并且可以忽略。

音量设置为 70% (35000);根据需要进行编辑。

感谢 github 上的 bassmanitram 以及 launchpad 和这里的其他人。

相关内容