我有一台迷你电脑,它曾经可以可靠地用作媒体服务器……直到有一天,它突然无法启动了。
我使用最新的安装程序全新安装了 XUbuntu 22,选择了“最小安装”选项。Apt 更新和升级,并安装了一些基本软件包,如 SSH 服务器和 VLC。
到目前为止一切顺利。我配置了 NAS 的挂载点,并尝试播放电影。没有声音。等一下,我知道这个 - 我去混音器选择 HDMI 输出设备......但没有。列出的唯一输出音频设备是“虚拟输出”。
我有两个 HDMI 端口,因此我将电视从第一个端口拔下,然后插入第二个端口。没有区别。
我不记得第一次设置系统时遇到过这个问题。我确信它正常工作。
我读完了网上能找到的所有指南。它们似乎都很过时或不相关。
请有人帮帮我!
$ lspci -v
00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)
DeviceName: Onboard - Sound
Subsystem: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio
Flags: bus master, fast devsel, latency 0, IRQ 132
Memory at a1310000 (64-bit, non-prefetchable) [size=16K]
Memory at a1000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Kernel driver in use: sof-audio-pci-intel-apl
Kernel modules: snd_hda_intel, snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_apl
答案1
所以我不太确定是什么解决了这个问题。首先我找到了这篇文章:https://bbs.archlinux.org/viewtopic.php?id=285225
这个人的系统与我的稍有不同 - 他对一些调试命令的响应有点不同,但我还是运行了这些命令,然后重新启动(在完成下面第二部分中描述的操作之后):
echo "options snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf
echo "blacklist snd_soc_skl" | sudo tee -a /etc/modprobe.d/blacklist.conf
我现在已经列出了 HDMI 设备,并且“虚拟输出”设备已经消失,这就是它想要实现的目标。
我还注意到我似乎同时运行了 PulseAudio 和 Pipewire。因此我按照此指南禁用了 Pipewire:https://c-nergy.be/blog/?p=18449
我在上述命令之后但在重新启动之前运行了这些命令:
systemctl --user --no-legend --no-pager | grep pipewire*
systemctl --user stop pipewire.service pipewire-media-session.service pipewire.socket
systemctl --user disable pipewire.service pipewire-media-session.service pipewire.socket
请注意,后两个命令列出的服务都是第一个命令列出的服务。
重新启动后声音工作正常,因此我执行了第二篇文章中的最后一个命令:
systemctl --user mask pipewire.service pipewire-media-session.service pipewire.socket