Proxmox VE 11代-12代-13代开启核显虚拟化Sriov
坑
11代是Rocket Lake的,不支持sriov。因为没驱动,也不支持GVT-g。那个12代es,Windows驱动会43,换正式版或者13代。
1.内核要求
在Linux 6.1内核加入了大量对11-13代的更新,要正常使用11-13代,建议更新至内核6.1。如果要使用核显SRIOV,务必更新到6.1内核
请参考文章佛西博客 - Proxmox VE 内核kernel (buduanwang.vip),安装内核和headers
添加PVE 无订阅源之后,可以从apt安装内核。如果是新手没有安装无订阅源,请参考文章佛西博客 - PROXMOX国内源设置教程 (buduanwang.vip)
下面是一个快速安装pve 6.1内核的例子
wget http://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-kernel-6.1.6-1-pve_6.1.6-1_amd64.deb
wget http://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-headers-6.1.6-1-pve_6.1.6-1_amd64.deb
wget https://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-firmware_3.6-3_all.deb
dpkg -i pve-kernel-6.1.6-1-pve_6.1.6-1_amd64.deb
dpkg -i pve-headers-6.1.6-1-pve_6.1.6-1_amd64.deb
dpkg -i pve-firmware_3.6-3_all.deb
或者
apt install -y pve-kernel-6.1.6-1-pve pve-headers-6.1.6-1-pve pve-firmware
安装内核之后,建议重启。也可以不重启,但是如果你不知道怎么做,还是建议重启。
重启使用命令验证uname -r
是否是6.1内核。如果不是,我也不知道怎么办了。
2.安装SRIOV驱动
安装一些包
apt install -y build-* git unzip dkms
下载驱动包
wget https://mirrors.apqa.cn/d/proxmox-edge/intel_gpu_sriov/i915-sriov-dkms-6.1.zip
unzip i915-sriov-dkms-6.1.zip
编译驱动
cd i915-sriov-dkms-6.1/
dkms add .
dkms install i915-sriov-dkms/6.1
注意这个驱动是经过处理的,也可以直接使用git仓库下的驱动strongtz/i915-sriov-dkms (github.com)
正常来说,驱动是会编译完成的。
3.更新firmware
pve的i915中的firmware可能会缺少,建议下载我收集的firmware
wget https://mirrors.apqa.cn/d/proxmox-edge/intel_gpu_sriov/i915-firmware.tar.gz
tar -xf i915-firmware.tar.gz
cp ./firmware/* /lib/firmware/i915/
4.修改grub
像添加直通一下,在/etc/default/grub中添加intel_iommu=on i915.enable_guc=7
,添加好了之后,使用update-grub
更新引导。
注意:使用github的版本,在2023年4月25日之后,你看到这篇文章,请按照github的说明,添加grub。最新版本不适用本文。
5.添加开机启动Sriov脚本
echo '#!/bin/bash' >>/etc/rc.local
echo "echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs" >>/etc/rc.local
chmod +x /etc/rc.local
注意,这里是开启7个vf,如果你想开2个vf,就改成2。
6.重启主机验证
经过这样的步骤,重启之后,使用lspci,可以看到多个0000:00:02设备。即代表成功。,如果要直通,按照正常的直通流程就行。
虚拟机要求
对于虚拟机配置,要求为OVMF+Q35配置。如果需要解码。请将虚拟机的显卡设置成无。对于Windows虚拟机,也需要将显卡设置无才能正常驱动。
Linux虚拟机使用pve内核
下面是一个快速安装pve 6.1内核的例子
wget http://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-kernel-6.1.6-1-pve_6.1.6-1_amd64.deb
wget http://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-headers-6.1.6-1-pve_6.1.6-1_amd64.deb
wget https://mirrors.ustc.edu.cn/proxmox/debian/dists/bullseye/pve-no-subscription/binary-amd64/pve-firmware_3.6-3_all.deb
dpkg -i pve-kernel-6.1.6-1-pve_6.1.6-1_amd64.deb
dpkg -i pve-headers-6.1.6-1-pve_6.1.6-1_amd64.deb
dpkg -i pve-firmware_3.6-3_all.deb
更新firmware
pve的i915中的firmware可能会缺少,建议下载我收集的firmware
wget https://mirrors.apqa.cn/d/proxmox-edge/intel_gpu_sriov/i915-firmware.tar.gz
tar -xf i915-firmware.tar.gz
cp ./firmware/* /lib/firmware/i915/
修改grub
像添加直通一下,在/etc/default/grub中添加i915.enable_guc=3 console=ttyS0
,添加好了之后,使用update-grub
更新引导。
grub取消注释GRUB_TERMINAL=console
安装SRIOV驱动
安装一些包
apt install -y build-* git unzip dkms
下载驱动包
wget https://mirrors.apqa.cn/d/proxmox-edge/intel_gpu_sriov/i915-sriov-dkms-6.1.zip
unzip i915-sriov-dkms-6.1.zip
编译驱动
cd i915-sriov-dkms-6.1/
dkms add .
dkms install i915-sriov-dkms/6.1
重启
Linux 排错
如果没有出现renderD128,那么请使用命令dmesg|grep i915获取日志。
Windows虚拟机
在必须满足虚拟机配置的前提下:安装当前最新的驱动,下面2个,二选一自行测试。
英特尔® Arc™ 和锐®炬® Xe 显卡 - BETA - Windows* (intel.cn)
英特尔® Arc™ 和锐炬® Xe 显卡 - WHQL - Windows* (intel.cn)
下面是虚拟机的标准配置
机型选择,q35,bios选择ovmf。添加sriov设备的时候,勾选pcie和主gpu,勾了主gpu之后,pve就不会显示画面了,可以尝试吧显卡改成virtio-gpu,这样就可以显示控制台。如果装驱动43,把显示该成无。
安装之后,使用软件方式查看,如todesk,向日葵。
linux到是没问题
至此11-12-13代Sriov教程结束。
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2695.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
hunter
Yang
neoczr
佛西@neoczr
jonevin
jonevin
jonevin@jonevin
Rover75
暖阳@Rover75
疲惫
工刀
佛西@工刀
Yang
ron
James
佛西@James
lin@James
趋光
佛西@趋光
dgp
佛西@dgp
proxmoxnewbie
佛西@proxmoxnewbie
佛西@proxmoxnewbie
null
佛西@null
tansony72@佛西
powerdi
powerdi
佛西@powerdi