小编Dar*_*n13的帖子

libvirt:配置来宾以共享主机音频

在过去的几天里,我一直在尝试将 x64 Windows 8.1 VM 的音频与主机音频混合,并取得了不同的成功。

现在对我有用的解决方案是使用 Spice 作为音频,并使用 ICH6 作为声卡的设置,但由于 Spice 中的一个已知错误,我只能找到FedoraRed Hat 报告,音频很漂亮不好,唯一的部分解决方法是放入<playback compression='off'/>我的 VM 域配置。我所说的部分是指音质变得有些可用,但音频中仍然存在故障,正如一些用户在上面的错误报告中所指出的那样。

我也尝试过使用 VNC 而不是 Spice,但客户端没有提供声音支持。根据错误报告,我了解到如果 VNC 客户端不支持音频,可以通过将运行 VM 的用户和组更改为我的当前用户并添加 VNC 设置来通过常规后端发送音频,/etc/libvirt/qemu.conf如下所示:

vnc_allow_host_audio = 1
user = "yourusernamehere"
group = "yourusernamehere"
Run Code Online (Sandbox Code Playgroud)

但也让我的用户成为kvm&libvirtd组的一部分,并进一步在/etc/default/libvirt-bin

export QEMU_AUDIO_DRV=pa
Run Code Online (Sandbox Code Playgroud)

这样做给了我想要的效果,来宾音频会顺利运行,但在我关闭来宾之前,主机音频将无法工作。查看主机进程,我注意到 libvirt 在我当前的用户下生成了另一个 Pulseaudio 实例(实际上有 2 个 Pulseaudio 实例),而不是使用已经可用的实例。

经过更多的谷歌搜索后,我发现如果module-native-protocol-tcp启用了pulseaudio可以与其他用户共享它的音频。不幸的是,这是我停止寻找有用信息的地方。我发现的每篇解释如何启用此功能的文章都建议在系统模式下运行 Pulseaudio,这显然是一个安全问题,但也会使 Plasma5 中的脉冲音频小部件无法按预期工作。我设法找到了 Fedora 12 的这篇文章,解释说可以以非特权用户(也就是我的当前用户)身份运行 Pulseaudio,但我不明白如何与自己共享音频。

有人知道我如何使用 Pulse 以便我可以与我的 …

sound pulseaudio kvm virtualization qemu

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

kvm ×1

pulseaudio ×1

qemu ×1

sound ×1

virtualization ×1