• 陪伴互联网运营小白共同探索成长,与IT爱好者共享探索乐趣
  • 建站只为分享,欢迎在PC端文章面打赏支持
  • 使用Ctrl+D 可收藏本站

pve8-lxc音画直通HDMI VGA输出系列:声卡篇之无声音ALSA持久化

好玩有趣 陆子方 6天前 41次浏览 0个评论 扫描二维码
文章目录[隐藏]

直通后声卡仍无法使用

如果重启发现PulseAudio没有正确对接上声卡,可能还需要再进一步。这也是正常的,包括我的键鼠也遇到类似的问题,我猜测PulseAudio 可能在 Xorg 之前启动,无法检测到 ALSA 声卡。

PulseAudio 不会自动加载 module-udev-detect 和 module-alsa-card。因此需要手动持久化 ALSA 设备配置。

一次性测试

声卡重新检测、识别、启用,重启后失效。PulseAudio无法正确识别声卡情况,因此需要取消加载相关模块,并重新启用。这里重点需要检查自己的声卡张数情况,一般就是只有一张。如果有效,我们就进行持久化配置

l@CT101:~$ pactl unload-module module-udev-detect
l@CT101:~$ pactl unload-module module-alsa-card
l@CT101:~$ pactl load-module module-udev-detect
10
l@CT101:~$ pactl load-module module-alsa-card device_id=0
11

pulseaudio --kill
pulseaudio --start

持久化 ALSA 设备配置

root@CT101:~#
 nano /etc/pulse/default.pa
### module-udev-detect应该已存在,添加module-alsa-card即可
load-module module-udev-detect
load-module module-alsa-card device_id=0

补充1

在 PulseAudio 中,device_id=0 代表 第一张 ALSA 声卡,相当于 hw:0(ALSA 设备号)。module-alsa-card 模块的作用是加载一个完整的 ALSA 声卡,包括其输入和输出设备。device_id=0 指定要加载的声卡的 ID。通常,device_id=0 对应于系统中的第一个声卡。这个命令会使 PulseAudio 识别并管理整个声卡,包括其所有可用的输入和输出设备。

本质:加载整个声卡,包括输入输出。

补充2

如果 module-udev-detect 不能加载,可以尝试 module-alsa-sink。持久化配置/etc/pulse/default.pa中,也要修改为对应的项
pactl load-module module-alsa-sink device=hw:0

module-alsa-sink 模块的作用是加载一个特定的 ALSA 输出设备(sink),device=hw:0 指定要加载的 ALSA 设备。hw:0 通常对应于第一个声卡的第一个输出设备。这个命令只会加载指定的输出设备,而不会加载整个声卡或其其他输入/输出设备。

本质:加载声卡的某一个输出设备。


子方有料原创丨转载请注明原文链接
期待您的评论或捐赠,这是最好的鼓励和支持!
喜欢 (0)
[赞赏使我快乐]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到