Proxmox VE 11代-12代-13代开启核显虚拟化Sriov

内核要求

在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内核。如果不是,我也不知道怎么办了。

安装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)

正常来说,驱动是会编译完成的。

更新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中添加intel_iommu=on i915.enable_guc=7 ,添加好了之后,使用update-grub 更新引导。

添加开机启动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。

重启主机验证

经过这样的步骤,重启之后,使用lspci,可以看到多个0000:00:02设备。即代表成功。,如果要直通,按照正常的直通流程就行。

虚拟机要求

对于虚拟机配置,要求为OVMF+Q35配置。如果需要解码。请将虚拟机的显卡设置成无。对于Windows虚拟机,也需要将显卡设置无才能正常驱动。

对于虚拟机内部,有如下要求:

Linux虚拟机

内核建议在5.15以上,需要安装intel的xe专用驱动,或者和PVE主机一样的SRIOV驱动,也就是按照之前的步骤,安装驱动。

下面是一个基于Ubuntu jammy的安装步骤的例子,请大家看下,了解流程。

更换源

cat << EOF > /etc/apt/sources.list
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
EOF

安装intel源

DEBIAN_FRONTEND=noninteractive apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy legacy' | sudo tee  /etc/apt/sources.list.d/intel.gpu.jammy.list
apt update

安装合适的内核

建议是5.15内核,且高于5.15.0-48-generic。因为这个内核是有成功的例子。可使用uname -r 查看当前内核版本。

这里有两种情况

如果你的内核高于这个内核,直接安装headers

DEBIAN_FRONTEND=noninteractive apt-get install -y  linux-headers-`uname -r`

如果你的内核低于5.15.0-48-generic,可以安装5.15.0-48-generic的内核

DEBIAN_FRONTEND=noninteractive apt-get install -y  linux-image-5.15.0-48-generic linux-headers-5.15.0-48-generic

安装之后,重启,再使用`uame -r`确认,是否已经是5.15.0-48-generic内核。

安装intel驱动

DEBIAN_FRONTEND=noninteractive apt-get install -y intel-platform-vsec-dkms intel-platform-cse-dkms
DEBIAN_FRONTEND=noninteractive  apt-get install -y intel-i915-dkms intel-fw-gpu 

安装相关软件包

apt-get install -y \
intel-opencl-icd intel-level-zero-gpu level-zero \
intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \
libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo

安装firmware

同时需要确保有i915针对你核显的firmware。

apt install -y linux-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

grub取消注释GRUB_TERMINAL=console。

修改好了之后,使用update-grub 更新引导。

重启

重启之后ls /dev/dri 应该可以看到视频设备,使用命令vainfo 可以看到vaapi相关编解码器。那么这里博主做了一个Ubuntu的整合包下载地址为https://mirrors.apqa.cn/d/proxmox-edge/sysimages/Linux/ubuntu/cloud/vzdump-qemu-104-ubuntu-jammy-xe-sriov.vma.zst请将此文件下载之后,传到pve的/var/lib/vz/dump 目录,或者其他目录。在pve的web界面,选择还原,即可创建一个整合了i915最新驱动的Ubuntu系统。

这个虚拟机备份,是基于cloud-init,默认的账号密码为root/bingsin。你可以进系统后更改密码,或者使用cloud-init方式更改密码。

也请使用xtermjs,串口访问虚拟机。

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)

安装之后,使用软件方式查看。

至此11-12-13代Sriov教程结束。

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2695.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
Proxmox VE 11代-12代-13代开启核显虚拟化Sriov
内核要求 在Linux 6.1内核加入了大量对11-13代的更新,要正常使用11-13代,建议更新至内核6.1。如果要使用核显SRIOV,务必更新到6.1内核 请参考文章佛西博客 -……
<<上一篇
下一篇>>
文章目录
关闭
目 录