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/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
Proxmox VE 11代-12代-13代开启核显虚拟化Sriov
坑 11代是Rocket Lake的,不支持sriov。因为没驱动,也不支持GVT-g。那个12代es,Windows驱动会43,换正式版或者13代。 1.内核要求 在Linux 6.1内核加入了大量……
<<上一篇
下一篇>>
文章目录
关闭
目 录