我将gentoo用作kvm的宿主操作系统,并带有在Windows上播放的vga passthrough,但是我在声音方面有问题,质量不是很好,我听到声音像是crack啪声。我在主机OS上使用Pulseaudio(带有--system模式),并尝试了不同的采样率,但没有帮助。我对vm的命令:

qemu-system-x86_64 \
   -vga none \
   -enable-kvm -m 10000 -cpu host -smp 8,cores=4,threads=2,sockets=1 \
   -device ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
   -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
   -net nic,macaddr=50:E5:49:57:74:E3 -net bridge,vlan=0 \
   -soundhw hda \
   -boot d \
   -hda /dev/sdb \
   -usb -usbdevice host:09da:000a

我尝试设置PULSE_LATENCY_MSEC,QEMU_PA_SAMPLES,但没有帮助。我还检查了 guest vm上的live cd,以确保它不是Windows问题,但结果是相同的。
我也尝试设置-soundhw ac97,但是在Windows 10上没有对ac97的官方支持,并且声音有些延迟,但干扰较小。

我的音频是:
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31) (snd_hda_intel on msi z170a m7),

和qemu和pulseaudio的版本:
QEMU emulator version 2.3.0, Copyright (c) 2003-2008 Fabrice Bellard
pulseaudio 5.0

有人可以帮忙吗?

最佳答案

我自己搜索了几乎相同的问题后才看到您的问题,然后大约5分钟后在您的视频中找到了解决方案。这是我所做的,最后是指向YouTube视频的链接。本小指南假定您未指定Windows 10,因此我不得不在这里猜测:

首先,您需要将Qemu切换为使用AC97,对于soundhw选项,请使用ac97即-soundhw ac97,并将QEMU_AUDIO_DRV设置为alsa(我还将QEMU_PA_SAMPLES设置为128,不确定是否会影响事物)QEMU_PA_SAMPLES=128 QEMU_AUDIO_DRV=alsa
然后启动Windows并转到Realtek网站并下载适用于Vista/Win7的AC97驱动程序Realtek AC97 download link,一旦下载将其解压缩到某个地方,您将再次找到它。

然后,在下一部分中,您需要禁用驱动程序签名强制实现,我建议您观看该部分的视频,因为它使您更容易查看要单击的选项,但基本上是:

打开“设置”,转到“更新和安全性”,在左 Pane 中选择“恢复”,选择“高级启动”,选择“疑难解答”,“高级选项”,选择“启动设置”,然后按重新启动按钮。

重新启动后,您需要选择禁用驱动程序签名强制实现的选项7。

Windows重新出现后,进入“设备管理器”,右键单击多媒体设备,然后选择“更新驱动程序软件”,然后单击下一页上的浏览并导航至您先前下载的realtek驱动程序。

让Windows来做它的事情,嘿,保存清晰的音频:)
The Youtube video I followed

关于qemu + pulseaudio和声音质量差,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32193050/

10-10 13:02