本文未完成,目前用 spice 和 rdp 调用控制机声卡
kvm下支持声卡作为usb或者pice 直通, 也支持 映射到虚拟机。 usb声卡的直通很简单,不用多说。pice的也简单,但是在面对多个设备同一个组的时候,麻烦一些。另外就是 宿主机映射到虚拟机可以多虚拟机复用的情况。
主要记录这两个过程
- 声卡所在 分组存在多个设备,直通声卡给虚拟机
- 宿主机声卡映射给多个,多个虚拟机。
基于pcie的声卡直通
我这里整组直通存在问题,所以打算使用映射的反射光
声卡映射
soundhw 应该是已经被弃用的参数了,不要使用。 如果要穿映射,先确定
sudo nano /etc/modprobe.d/vfio.conf
里面没有声卡的id
然后确保物理机的声卡 可以驱动起来 这里用了 alsa
qemu-system-x86_64 -audio model=help 可用的模拟设备
Valid sound card names (comma separated):
sb16 Creative Sound Blaster 16
hda Intel HD Audio
gus Gravis Ultrasound GF1
es1370 ENSONIQ AudioPCI ES1370
cs4231a CS4231A
adlib Yamaha YM3812 (OPL2)
ac97 Intel 82801AA AC97 Audio
qemu-system-x86_64 -audio-help
提示只能用none
Environment variable based configuration deprecated.
Please use the new -audiodev option.
Equivalent -audiodev to your current environment variables:
(Since you didn't specify QEMU_AUDIO_DRV, I'll list all possibilities)
-audiodev id=none,driver=none
还需要一个包 qemu-audio-alsa/qemu-audio-pa
sudo pacman -S qemu-audio-alsa
尝试启动一个 空白虚拟机
|
|
没有错误提示,巡航时启动一个win 虚拟机 加上上面的参数,注意之前有 ich9-intel-hda 的话记得冲突问题。 经过测试 有声音,但是杂音。完全听不清
尝试使用pulseaudio sudo pacman -S pulseaudio qemu-audio-pa
执行 pulseaudio 会提示几个目录不存在,他会自动创建,如果没有创建 手动创建,最后还提示 一个 /etc/pulse/default.pa.d
也创建一下sudo mkdir /etc/pulse/default.pa.d
尝试启动一个 空白虚拟机
|
|
依旧是杂音
试着换 ac97 -audiodev id=snd0,driver=pa -device AC97,audiodev=snd0
win10 里面安装ac97 驱动比较麻烦,需要找到 cab包下载解压后,手动从可用驱动列表,然后磁盘安装找到 对应的inf后安装。经过我测试,更换ac97驱动后,第一次有概率生意正常,然后重启后 会再次出现巴拉巴拉的声音,完全听不清。
经过我反复测试。。。。无论是前端用pa 还是alsa 后端 用ac97 hda sb16 usb-audio 最终的结果 都完全一样。。。杂音 听不清 偶尔可以 pa添了麦克风回声模块 也没用。