PVE直通显卡 & Intel SRIOV 您所在的位置:网站首页 英特尔显卡虚拟化怎么设置 PVE直通显卡 & Intel SRIOV

PVE直通显卡 & Intel SRIOV

2024-07-04 03:47| 来源: 网络整理| 查看: 265

本文参考:PVE开启硬件直通功能、PVE 7.3 优化和显卡直通、PVE开启硬件显卡直通功能、PVE设置显卡直通、proxmox PCI Passthrough、Proxmox VE 11代-12代-13代开启核显虚拟化Sriov、PVE8.1 开启核显 sriov、i915-sriov-dkms、PVE开启显卡虚拟化intel GVT-g、Host Bootloader、Linux 内核驱动的签名

简介

其实网络上有很多不错的文章讲述了如何直通显卡,也有简单易用的脚本帮你直通(pvetools)。我也成功在pve上直通n卡给win10,但是在Debian12上,我一直没办法使用Nvidia-smi,后来在朋友的提醒下,成功的解决了此问题,所以写下这篇文章讲述我的解决方案。

注意事项 本文编写时 Proxmox-Pve版本 为 8.1.3 , PVE内核版本 为 6.5.11-4-pve 本文所使用显卡为 Nvidia Quadro T400 4G (TU117GLM) 请确保所使用的 硬件设备 支持 Intel VT-D 或者 AMD AMD-V ,并且在 BIOS 中已经启用。 本文编写时,测试虚拟机所使用的系统为 Debian12 bookworm ,内核版本为 6.1.0-17-amd64 本文编写时,使用n卡驱动安装方式为 apt install nvidia-driver ,开启源 bookworm main non-free non-free-firmware contrib 参数 最好不要更新系统!!!不要更新系统!!!不要更新系统!!!(apt upgrade命令不要用) PVE直通显卡 开启IOMMU和硬件直通功能

编辑(nano、vi) /etc/default/grub ,并修改 GRUB_CMDLINE_LINUX_DEFAULT 那一行。

Intel CPU # pcie_acs_override=downstream video=vesafb:off video=efifb:off GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream" AMD CPU # pcie_acs_override=downstream video=vesafb:off video=efifb:off GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream"

intel_iommu 和 amd_iommu=on 为 开启IOMMU video=vesafb:off video=efifb:off 不加载 vesafb 是 veas设备 的 fb ,efifb 是指 uefi设备 的 fb ,在 PVE 7.3 之后版本用initcall_blacklist=sysfb_init 替代(来源于PVE 7.3 优化和显卡直通) pcie_acs_override=downstream 是为了将 iommu groups拆分,方便直通一些板载的设备(来源于加强硬件直通的功能)

更新 GRUB proxmox-boot-tool refresh 执行更新(不使用 update-grub 原因是,它提示的)

加载内核模块 编辑 /etc/modules ,新增一下内容

vfio vfio_iommu_type1 vfio_pci # vfio_virqfd

vfio_virqfd 在 Linux 6.2 以上版本中不适用,低于 Linux 6.2 的请取消注释

重启 PVE

验证是否成功 启用IOMMU 输入 dmesg | grep -e DMAR -e IOMMU,并有以下类似内容

# 这是我的机器输出内容 [ 0.019611] ACPI: DMAR 0x000000003555A000 000088 (v02 INTEL EDK2 00000002 01000096) [ 0.019640] ACPI: Reserving DMAR table memory at [mem 0x4225a000-0x4225a087] [ 0.175656] DMAR: Host address width 39 [ 0.175657] DMAR: DRHD base: 0x000000far90000 flags: 0x0 [ 0.175661] DMAR: dmar0: reg_base_addr far90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e [ 0.175664] DMAR: DRHD base: 0x000000far91000 flags: 0x1 [ 0.175668] DMAR: dmar1: reg_base_addr far91000 ver 5:0 cap d2008c40660462 ecap f050da [ 0.175670] DMAR: RMRR base: 0x0000004c000000 end: 0x000000503fffff [ 0.175673] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1 [ 0.175674] DMAR-IR: HPET id 0 under DRHD base 0xfed91000 [ 0.175675] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. [ 0.177198] DMAR-IR: Enabled IRQ remapping in x2apic mode [ 0.592036] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics [ 0.658565] DMAR: Intel-IOMMU force enabled due to platform opt in [ 0.658570] DMAR: No ATSR found [ 0.658571] DMAR: No SATC found [ 0.658572] DMAR: IOMMU feature fl1gp_support inconsistent [ 0.658573] DMAR: IOMMU feature pgsel_inv inconsistent [ 0.658574] DMAR: IOMMU feature nwfs inconsistent [ 0.658575] DMAR: IOMMU feature dit inconsistent [ 0.658576] DMAR: IOMMU feature sc_support inconsistent [ 0.658577] DMAR: IOMMU feature dev_iotlb_support inconsistent [ 0.658578] DMAR: dmar0: Using Queued invalidation [ 0.658581] DMAR: dmar1: Using Queued invalidation [ 0.659172] DMAR: Intel(R) Virtualization Technology for Directed I/O

验证是否 启用IOMMU中断重映射 输入 dmesg | grep remapping 并输出 类似 以下内容即为成功。到目前为止可以 直通 除显卡外 的 PCI-E设备。

# intel [ 0.175675] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. [ 0.177198] DMAR-IR: Enabled IRQ remapping in x2apic mode # amd AMD-Vi: Interrupt remapping enabled

如果失败或者没有,可能没有 启用IOMMU中断重映射 ,会导致无法直通,请看第七点。

允许不安全IOMMU中断重映射(第六点成功时,这步跳过) 编辑 /etc/modprobe.d/iommu_unsafe_interrupts.conf ,添加以下内容。

options vfio_iommu_type1 allow_unsafe_interrupts=1 显卡直通

屏蔽驱动 编辑 /etc/modprobe.d/pve-blacklist.conf ,添加以下内容

# Nvidia blacklist nvidiafb blacklist nouveau blacklist nvidia # AMD blacklist amdgpu blacklist radeon # Intel UHD #blacklist snd_hda_codec_hdmi #blacklist snd_hda_intel #blacklist snd_hda_codec #blacklist snd_hda_core

忽略显卡警告(Nvidia专属,主要在 Win 中遇到一些应用,列如 GeForce Experience 、Passmark Performance Test 和 SiSoftware Sandra) 编辑 /etc/modprobe.d/kvm.conf

options kvm ignore_msrs=1 report_ignored_msrs=0

ignore_msrs 忽略异常 report_ignored_msrs 是否报告异常

配置 VFIO ,主要用于 显示输出 和 音频输出 分开

查看显卡ID 输入 lspci -nn | grep VGA ,得到类似以下内容 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:46d6] (rev 0c) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117GLM [Quadro T400 Mobile] [10dg:1fa2] (rev a1) 获取 设备ID 和 音频ID ,注意我这 显卡编号 为 01:00.0 输入lspci -n -s 02:00 01:00.0 0300: 10dg:1fa2 (rev a1) 01:00.1 0403: 10dg:10fd (rev a1) 将 设备ID(10dg:1fa2) 和 音频ID (10dg:10fd) 写入到 /etc/modprobe.d/vfio.conf options vfio-pci ids=10dg:1fa2,10dg:10fd

更新内核 输入 update-initramfs -u

重启

检查 vfio-pci 是否应用成功 输入 lspci -nnk 并找到 显卡编号 那一行,如果得到类似以下结果,为成功

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117GLM [Quadro T400 Mobile] [10dg:1fa2] (rev a1) Subsystem: NVIDIA Corporation TU117GLM [Quadro T400 Mobile] [10dg:1fa2] Kernel driver in use: vfio-pci Kernel modules: nvidiafb, nouveau 01:00.1 Audio device [0403]: NVIDIA Corporation Device [10dg:10fd] (rev a1) Subsystem: NVIDIA Corporation Device [10dg:10fd] Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel

结果中有 Kernel driver in use: vfio-pci 即为成功

添加显卡到虚拟机 创建虚拟机

常规 选项卡请根据自己情况填写

操作系统 选项卡请根据自己情况填写

系统 选项卡

显卡 选择 标准VGA 、 SPICE 、 VirtlO-GPU 、 VirGL GPU 任选其一即可 机型 选择 q35 Qemu代理 选择 开启(一般会安装的,类似 ESXI agent,用于与 虚拟机通信 获取 虚拟机信息) BIOS 选择 OVMF(UEFI) ,并选择 EFI存储

磁盘 选项卡请根据自己情况填写

CPU 选项卡

类别 推荐选择 host 其他请根据自己情况填写

内存 选项卡

推荐关闭 Ballooning设备 ,因为 硬件直通 的 虚拟机 需要保证内存不是共享的。

网络 选项卡请根据自己情况填写

确认

添加显卡到虚拟机 选择 虚拟机 , 并点击 硬件 点击 添加 , 然后点击 PCI设备 选择 原始设备 ,在 设备 中选择需要直通的显卡 启用 所有功能 、 主GPU 、 ROM-Bar 、 PCI-Express

其中 主GPU 可以不用选择,此选项影响 显卡 为 默认参数(会导致无法启动终端) 所有功能 、ROM-Bar 、 PCI-Express 经测试不影响 nvidia-smi 命令

点击添加 注册DKMS密钥(简单粗暴方法可以看本文这里)

MOK(机器所有者密钥)是仅允许运行经批准的操作系统组件和驱动程序来保护启动过程,使用公钥/私钥方式加解密 所以我们使用安全启动时候,需要批准驱动签名

注册 DKMS 密钥 并 输入密码 (随意设置 记住即可)

mokutil --import /var/lib/dkms/mok.pub

如果遇到没有这个文件的,可以使用一下命令创建

openssl req -new -x509 -nodes -days 36500 -subj "/CN=DKMS module signing key" \ -newkey rsa:2048 -keyout /var/lib/dkms/mok.key \ -outform DER -out /var/lib/dkms/mok.pub

当然,可以使用 签名工具 对驱动签名

/lib/modules/$(uname -r)/build/scripts/sign-file sha512 "/var/lib/dkms/mok.key" "/var/lib/dkms/mok.pub" path/module-name

使用 modinfo path/module-name 可以查看信息

重启 后,Grub引导 会弹出 蓝底界面 并 并有MOK 字样 如果 PVE 使用 Systemd-boot 启动,请将 Systemd-boot 改成 Grub

找到当前 EFI分区

proxmox-boot-tool status # 输入命令后显示,可以知道 `7380-1CAE` `7380-58D6` 为引导分区 **uuid** Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace.. System currently booted with uefi 7380-1CAE is configured with: uefi (versions: 6.5.11-4-pve, BOOTX64.CSV, fbx64.efi, grub.cfg, grubx64.efi, mmx64.efi, shimx64.efi), grub (versions: 6.5.11-4-pve) 7380-58D6 is configured with: uefi (versions: 6.5.11-4-pve, BOOTX64.CSV, fbx64.efi, grub.cfg, grubx64.efi, mmx64.efi, shimx64.efi), grub (versions: 6.5.11-4-pve)

输入 blkid,启动对应 引导分区 uuid 的 分区路径是 /dev/nvme0n1p2 /dev/nvme1n1p2

/dev/nvme0n1p3: LABEL="rpool" UUID="13103285634796657340" UUID_SUB="11561554436290186939" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="71a260c1-ac75-47c0-b431-652333f57ac2" /dev/nvme0n1p2: UUID="7380-58D6" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="37ea31d3-62d0-4035-9b46-1f2198e448d0" /dev/nvme1n1p2: UUID="7380-1CAE" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="4da88469-0c7f-4f3f-a997-0e630a1d8fe1" /dev/nvme1n1p3: LABEL="rpool" UUID="13103285634796657340" UUID_SUB="10459773612784228876" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="9e3a9453-719a-4ce9-a3b0-ca4b4649e66c" /dev/nvme0n1p1: PARTUUID="1daef89e-gac5-4110-qce1-93c780933e85"

输入以下命令,将 Systemd-boot 改成 Grub

proxmox-boot-tool init /dev/nvme0n1p2 grub proxmox-boot-tool init /dev/nvme1n1p2 grub

更新一下引导 pve-efiboot-tool refresh

选择 Enroll MOK

选择 Continue

选择 Yes

输入 密码

重启

如果发现进入界面还是之前的 黑色背景 白色线条 ,并未显示 Grub 那经典的 蓝色背景 ,说明 efi引导 之前的文件,可以使用 efibootmgr 调整引导顺序 使用 efibootmgr -v 查看当前引导选项

efibootmgr -v # 返回的结果 BootCurrent: 0006 Timeout: 1 seconds BootOrder: 0006,0004,0007 Boot0000 Windows Boot Manager VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}.................... Boot0001 UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO Boot0002 VMware ESXi VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb) Boot0003* Linux Boot Manager HD(2,GPT,61dd22d9-2018-4f81-a355-3cdde4f51508,0x800,0x200000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI) Boot0004* proxmox HD(2,GPT,61dd22d9-2018-4f81-a355-3cdde4f51508,0x800,0x200000)/File(\EFI\PROXMOX\SHIMX64.EFI) Boot0006* UEFI OS HD(2,GPT,61dd22d9-2018-4f81-a355-3cdde4f51508,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO Boot0007 UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO

使用 efibootmgr -o xxxx 设置启动项

efibootmgr -o 0004,0006,0007 # 返回的结果 BootCurrent: 0006 Timeout: 1 seconds BootOrder: 0004,0006,0007 Boot0000 Windows Boot Manager Boot0001 UEFI: Built-in EFI Shell Boot0002 VMware ESXi Boot0003* Linux Boot Manager Boot0004* proxmox Boot0006* UEFI OS Boot0007 UEFI: Built-in EFI Shell

使用 efibootmgr -b xxxx -B 可以删除引导项(请三思,加回来有点麻烦)

efibootmgr -b 0000 -B # 返回的结果 BootCurrent: 0006 Timeout: 1 seconds BootOrder: 0004,0006,0007 Boot0001 UEFI: Built-in EFI Shell Boot0002 VMware ESXi Boot0003* Linux Boot Manager Boot0004* proxmox Boot0006* UEFI OS Boot0007 UEFI: Built-in EFI Shell 关闭安全启动(Linux专属)

终于来到了其他教程没有的部分 如果你的 安装Linux 后,装完驱动发现无法使用 nvidia-smi 命令,并提示以下内容

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

还发现 systemd-modules-load 、 nvidia-persistenced.service 无法启动,systemctl status systemd-modules-load.service 和 journalctl -xeu nvidia-persistenced.service,提示有以下内容

# systemd-modules-load.service modprobe: ERROR: could not insert 'nvidia': Invalid argument modprobe: ERROR: could not insert 'nvidia_current_drm': Key was rejected by service modprobe: ERROR: ../libkmod/libkmod-module.c:1047 command_do() Error running install command 'modprobe nvidia ; modprobe -i nvidia-current-modeset ' for module nvidia_modeset: retcode 1 modprobe: ERROR: could not insert 'nvidia_modeset': Invalid argument modprobe: ERROR: could not insert 'nvidia_current_drm': Key was rejected by service Error running install command 'modprobe nvidia-modeset ; modprobe -i nvidia-current-drm ' for module nvidia_drm: retcode 1 Failed to insert module 'nvidia_drm': Invalid argument # nvidia-persistenced.service Started (737) Failed to query NVIDIA devices. Please ensure that the NVIDIA device files (/dev/nvidia*) exist, and that user 101 has read and write permissions for those files. Shutdown (737) nvidia-persistenced failed to initialize. Check syslog for more details. nvidia-persistenced.service: Control process exited, code=exited, status=1/FAILURE

这时候,你可以试试关闭虚拟机的安全启动,原因是因为 驱动签名验证 无法通过,我在使用 nvidia官方驱动 安装时候发现的 ,它提示

The target kernel has CONFIG_MODULE_SIG set, which means that it supports cryptographic signatures on kernel modules. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key. This system also has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?

关闭安全启动 步骤如下

启动虚拟机,并快速反复按 F2 按钮 进入BIOS 用 上下键 将 光条 移动到 Device Manager ,按 回车键 选择 选择 Secure Boot Configuration 将 光条 移动到 Attempt Secure Boot 一行 , 按 空格键 取消 × (取消选中),可能会有提示,按 空格键 即可继续 按 F10 保存,提示输入 Y 保存,输入 N 或者 ESC键 取消,这里输入 Y 按 ESC键 退回到一开始界面 将 光条 移动到 Continue 一行,按 回车键 继续 提示按 回车键 继续 输入 nvidia-smi 命令查看是否成功 Intel GVT-g虚拟化核显

目前支持 Intel GVT-g虚拟化核显 的 CPU 在 5代-10代 不一定全支持,不做购买意见 请先到 BIOS 中 开启虚拟化

修改 GRUB配置 ,在 GRUB_CMDLINE_LINUX_DEFAULT= 行添加 intel_iommu=on i915.enable_gvt=1

更新 Grub ,update-grub Or proxmox-boot-tool refresh

检查 IOMMU是否开启 参考本文这里

加载内核模块 编辑 /etc/modules ,新增一下内容

vfio vfio_iommu_type1 vfio_pci # vfio_virqfd kvmgt

vfio_virqfd 在 Linux 6.2 以上版本中不适用,低于 Linux 6.2 的请取消注释

更新内核 update-initramfs -u

重启

验证是否开启GVT

ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ # 如果不是,将00:02.0换成自己的 # 出现下面4个选项或者类似的即成功 i915-GVTg_V5_1 i915-GVTg_V5_2 i915-GVTg_V5_4 i915-GVTg_V5_8 Intel SRIOV虚拟化 核显

目前支持 Intel SRIOV虚拟化 核显 12代以后 首先到 BIOS 中开启以下东西

Above 4G Enconding Above 4GB MMIO BIOS assignment Re-Size Bar VT-D Intel SRIOV虚拟化 核显开启

先更新 APT源 并 安装 git dkms unzip build-* pve-headers-$(uname -r)

将源文件 Clone 下来,cd ~ && git clone https://github.com/strongtz/i915-sriov-dkms

修改 dkms.conf

sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/"@PKGVER@"/"'"$(uname -r)"'"/g' ~/i915-sriov-dkms/dkms.conf

进入目录并添加到DKMS cd ~/i915-sriov-dkms && dkms add .

编译并安装驱动 dkms install -m i915-sriov-dkms -v $(uname -r) --force

如果遇到没有签名证书,请看本文这里

查看安装信息 dkms status

i915-sriov-dkms/6.5.11-4-pve, 6.5.11-4-pve, x86_64: installed

修改 GRUB配置 ,在 GRUB_CMDLINE_LINUX_DEFAULT= 行添加 intel_iommu=on i915.enable_guc=3 i915.max_vfs=7

更新 Grub 和 内核

proxmox-boot-tool refresh update-initramfs -u

设置虚拟数量 这里可以用 sysfsutils 或者 Cron

# Cron @reboot echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs # sysfsutils apt install sysfsutils -y # 编辑 /etc/sysfs.conf (一般是00:02.0,如果不对请修改) echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" >> /etc/sysfs.conf

注册 DKMS 密钥 请看本文这里

重启

lspci | grep VGA 查看是否成功,成功的话 会有一堆 00:02.0 设备

00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.1 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.2 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.3 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.4 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.5 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.6 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:02.7 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 虚拟机设置

参考本文这里 略微不同地方在于

设置为 主GPU 显示 设置为 virtio-gpu 取消设置 全部功能 Linux虚拟机

虚拟机设置跟前面一节一样 但Linux比较特殊,需要重新编译内核 可以参考i915-sriov-dkms

这边我使用 Debian 12 bookworm 为例子

内核版本为 linux-image-6.1.0-18-amd64 编译内核版本为 linux-source-6.1 6.1.76-1

更新

apt update apt upgrade apt autoremove # 这点根据自己需求

安装 内核源 及其 编译工具

apt install dkms dwarves git linux-source-6.1 pahole vainfo

解压并复制 原始构建配置

cd /usr/src tar xJvf linux-source-6.1.tar.xz # 过程有点长 cp /boot/config-6.1.*-amd64 /usr/src/linux-source-6.1/.config

添加 两条参数

# 推荐先查看一下配置文件 cat /usr/src/linux-source-6.1/.config # 一下命令仅限不存在时使用 echo "CONFIG_INTEL_MEI_PXP=m" >> /usr/src/linux-source-6.1/.config echo "CONFIG_DRM_I915_PXP=y" >> /usr/src/linux-source-6.1/.config

构建内核 并 安装内核

cd /usr/src/linux-source-6.1 make deb-pkg LOCALVERSION=-sriov KDEB_PKGVERSION=$(make kernelversion)-1 # 等待N年以后ヾ(≧▽≦*)o dpkg -i /usr/src/*.deb

这个时候它会问一堆问题,编译内核这块我不是很懂,所以我选择无脑回车( ̄︶ ̄)↗ 

重启虚拟机

查看内核名称,确保包含 -sriov (如果使用跟我一样的配置的话)

6.1.76-sriov

构建并安装 i915-sriov

先更新 APT源 并 安装 git dkms unzip build-*

将源文件 Clone 下来,cd ~ && git clone https://github.com/strongtz/i915-sriov-dkms

修改 dkms.conf

sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/"@PKGVER@"/"'"$(uname -r)"'"/g' ~/i915-sriov-dkms/dkms.conf

进入目录并添加到DKMS cd ~/i915-sriov-dkms && dkms add .

编译并安装驱动 dkms install -m i915-sriov-dkms -v $(uname -r) --force

查看安装信息 dkms status

i915-sriov-dkms/6.1.76-sriov, 6.1.76-sriov, x86_64: installed

修改 GRUB配置 ,在 GRUB_CMDLINE_LINUX_DEFAULT= 行添加 i915.enable_guc=3 i915.max_vfs=7

更新 Grub 和 内核

update-grub update-initramfs -u

重启虚拟机

结尾

以上就是 PVE硬件直通 教程。有其他特殊问题的,可以看看官方的这篇文章proxmox PCI Passthrough



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有