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

pve8-lxc音画直通HDMI VGA输出系列:声卡篇之再次研究暨暂终篇

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

一些问题

在/etc/pulse/default.pa中,我确认存在load-module module-detect、load-module module-udev-detect。由于lxc中存在加载问题,可能会有异常(我通过pactl命令先unload-module,重新load发现无法正常使用)。

为此,我进行了手动加载:pactl load-module module-alsa-card device_id=0,pactl load-module module-alsa-source device_id=0。这个加载有效,volume control可以看到录音和输出设备

新的问题,它有时会没有声音,在某次尝试中,运行pulseaudio –start有效。当我运行systemctl –user restart pulseaudio时,volume control中就看不到声卡和录音设备了。

非常重要:我的直通方法,是基于pve8,Debian12 CT进行测试的。我验证了Debian11、Ubuntu22,无法正常显示画面直通!我建议你阅读我整理系列的内容。

ippa如何解决

由于自动检测在lxc中是有故障的,需要手动加载 module-alsa-card 和 module-alsa-source 。同时我们也将禁用自动检测功能

sudo nano /etc/pulse/default.pa
禁用part,自己用#注释
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev suppor>
load-module module-detect
.endif
禁用part,自己用#注释

load-module module-alsa-card device_id=0
load-module module-alsa-source device_id=0

我发现挂载之后,volume control显示了声卡,但没有声音。你可以每次手动启动pulseaudio –start。
但,这明显不是我想要的

sudo nano /etc/pulse/client.conf

#取消下面这一行的注释
autospawn = yes

重启,OK。

待处理问题

已经验证,如何使用HDMI OUT时,配置文件可以用,但hdmi设备那边没有声音,还是从耳机口输出。对我来说问题不大,暂时不处理了。
我觉得,这里的验证思路,可以通过指定输出设备来解决。
load-module module-alsa-sink device=hw:0,0,第一声卡,设备号0。hdmi应该是设备号3 4.

基础思路

1、alsa》plusaudio》volume control。我们重点解决这三个

2、alsa是基石,在玩转音频之前,请确保在lxc端的命令行,speakertest有声音输出。

3、plusaudio是对接口,大部分的时候,都是这个玩意无法正常启动

4、volume control是面板,如果你按我之前的方法处理,可能会发现,这里明明显示了设备,确没有声音。殊不知plusaudio没有正确启动

alsa

声卡和录音设备确认
aplay -l
arecord -l

plusaudio一些模块相关命令

#取消加载
pactl unload-module module-detect
pactl unload-module module-udev-detect
pactl unload-module module-alsa-card
pactl unload-module module-alsa-source

#手动加载
pactl load-module module-alsa-card device_id=0
pactl load-module module-alsa-source device_id=0
pactl load-module module-alsa-sink

#启停命令
pulseaudio --kill
pulseaudio --start
systemctl --user restart pulseaudio

pacmd

pacmd 是 PulseAudio 的命令行工具,可以用来查询和控制 PulseAudio 的状态。

pactl 是一个 PulseAudio 的命令行工具,提供了更底层的控制功能。

pactl info:显示 PulseAudio 服务器信息。 
pactl list sinks:显示音频输出设备信息。
pactl list sources:显示音频输入设备信息。 
pactl list cards:显示声卡信息。

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