为内核添加参数
比如grub
在/etc/default/grub
的GRUB_CMDLINE_LINUX_DEFAULT=
中添加
1 | intel_iommu=on i915.enable_gvt=1 i915.enable_guc=0 |
启用modules
在/etc/mkinitcpio.conf
的MODULES=()`中添加:
1 | # linux 5.14后,arch的linux内核模块已经不会勾选vfio-mdev,自测不影响gvt-g |
然后运行,我用的zen内核所以是linux-zen,默认内核是linux
1 | sudo mkinitcpio -p linux-zen |
重启计算机
查看/sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types
可以看见类似如下的目录
1 | # ls /sys/devices/pci${GVT_DOM}/$GVT_PCI/mdev_supported_types |
向create文件中写入uuid(自己生成)就会创建相应的虚拟显卡
1 | echo "$GVT_GUID" > "/sys/devices/pci${GVT_DOM}/$GVT_PCI/mdev_supported_types/$GVT_TYPE/create" |
移除
1 | echo 1 > /sys/bus/pci/devices/$GVT_PCI/$GVT_GUID/remove |
qemu添加钩子, 启动虚拟机时自动创建虚拟显卡
/etc/libvirt/hooks/qemu
中, 沒有则自己创建
1 |
|
这样启动虚拟机时会自动创建, 停止后会自动删除
生成虚拟机配置
可以使用virt-manager
先生成一个虚拟机, 再修改相应的配置, 默认配置文件在/etc/libvirt/qemu/
需要添加/修改的配置:
1 | <qemu:commandline> |
hostdev配置可以在添加硬件(PCI HOST Devices)的界面直接修改xml, 更方便一点
1 | <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'> |
1 | <video> |
1 | <graphics type='spice'> |
1 | <vcpu placement='static'>2</vcpu> |
结尾
启动虚拟机后, 进入虚拟机安装相应的显卡驱动就行了.
这样就快很多了, 比软件渲染快多了, 这样用linux也能愉快的使用其他系统了.
Intel_GVT-g
让 KVM 上的 Windows 虚拟机插上GVT-g 的翅膀
libvirt hooks
Intel Gvt