Margrop
Articles158
Tags353
Categories21
1password AC AP API AppDaemon Aqara Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MySQL NAS PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 启动 夏令时 天猫精灵 天翼云 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 抓包 描述文件 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络风暴 群晖 腾讯 虚拟机 证书 路由 路由器 软件管家 软路由 运维监控 镜像 镜像源 门窗传感器 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

【转】Proxmox VE开启显卡虚拟化intel GVT-g

【转】Proxmox VE开启显卡虚拟化intel GVT-g

注意,intel gvt-g技术,PVE目前只支持第五代,第六代和第七代英特尔酷睿处理器以及E3 v4,E3 v5和E3 v6 Xeon处理器
8代和8代以上的CPU,博主亲测暂时不支持 -_-!
如果现在支持了,欢迎联系博主
参考:https://pve.proxmox.com/wiki/PCI(e)_Passthrough

终于搞到了一台实验机子。本次实验环境为:

1
2
3
PVE: 6.2
CPU: g5400
主板: 铭瑄h110

第一步:开启主板的虚拟化,这个自行在主板中开启。

第二步:开启PVE的直通功能

  • 开启iommu和GVT-g支持
1
2
3
4
5
6
7
8
9
#开启iommu和gvt内核 
#编辑grub
vi /etc/default/grub
在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"

#update grub
update-grub
  • 加载直通内核模块
    1
    2
    3
    4
    5
    echo vfio >> /etc/modules
    echo vfio_iommu_type1 >> /etc/modules
    echo vfio_pci >> /etc/modules
    echo vfio_virqfd >> /etc/modules
    echo kvmgt >> /etc/modules
  • 屏蔽驱动
    1
    2
    3
    4
    5
    6
    7
    8
    echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf 
    echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
  • 将显卡加入直通
  • 通过lspci命令查看核显序号,一般是00:02.0 。这里以00:02.0 为例
    1
    2
    3
    4
    5
    #查看直通设备
    root@pve2:~# lspci -n -s 00:02.0
    00:02.0 0380: 8086:3e90
    #将8086:3e90 这个设备加入直通组
    echo "options vfio-pci ids=8086:3e90" > /etc/modprobe.d/vfio.conf

第三步:重启主机

第四步:验证是否开启GVT

1
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/  #自觉将00:02换成自己的。

#出现下面4个选项或者类似的即成功。

1
i915-GVTg_V5_1	i915-GVTg_V5_2	i915-GVTg_V5_4	i915-GVTg_V5_8

第五步:创建虚拟机

新建OVMF EFI虚拟机,把cpu类型设置成HOST。将主板设置成q35。安装好系统,开启远程桌面。关机,将虚拟机显卡设置成无。添加PCIE设备。

总结

开启简单,但是性能稍微有些弱了一点,GVT-G技术, 并不像s7150/nvidia k1那样,将显卡独立成几个模块,反而是共享显卡的性能。
我开了2个虚拟机,其中一个进行3D测试的时候,另外一台显卡占用竟然满载。

Author:Margrop
Link:http://blog.margrop.com/post/proxmox-ve-graphics-card-enable-intel-gvt-g/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可