在ESXI 8.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术---应用于Windows/Ubuntu系统

来更新一篇ESXI版本的NVIDIA vGPU教程,本次用到的版本是ESXI8.0,由于ESXI9.0的授权模式变为了订阅制且放弃了中文语言,无法再用【神秘代码】激活白嫖了。所以白嫖党停留到了ESXI8,富哥们可以使用ESXI9.0,安装方式是一样的。
ESXI 8.0U2-22380479
本次演示的NVIDIA vGPU 版本是19.0版本,这个版本也是最后一个支持老架构的vGPU显卡了,以后的版本只会支持Ampere/Ada/Blackwell架构及其他新架构GPU卡
即将弃用的显卡

由于NVIDIA vGPU相关设置都需要在vCenter操作,所以还需要安装VCSA,需要将ESXI主机加入到vCenter进行管理,才能完整使用vGPU。
VCSA 8.0.2-22617221

硬件配置

配置型号
ESXI版本ESXI 8.0U2-22380479
VCSA版本VCSA 8.0.2-22617221
主板技嘉 Z370 HD3 大板
CPUIntel(R) CC150 CPU @ 3.50GHz 8核16线程
内存64G DDR4
显卡NVIDIA L4
NVIDIA vGPU驱动580.65.05

NVIDIA vGPU支持的显卡列表 点我展开


适用于vGPU显卡型号和支持的版本,后续更新可以前往官网查询:https://docs.nvidia.com/vgpu/gpus-supported-by-vgpu.html

GPU架构GPU名称首个支持的版本最后支持的版本
MaxwellTesla M104.019.x
MaxwellTesla M602.016.x
MaxwellTesla M62.016.x
PascalTesla P1005.016.x
PascalTesla P405.016.x
PascalTesla P45.016.x
PascalTesla P65.016.x
VoltaTesla V1006.019.x
TuringQuadro RTX 60008.019.x
TuringQuadro RTX 6000 passive10.019.x
TuringQuadro RTX 80008.019.x
TuringQuadro RTX 8000 passive10.019.x
TuringTesla T47.1待定
AmpereNVIDIA A214.0待定
AmpereNVIDIA A1012.2待定
AmpereNVIDIA A1613.0待定
AmpereNVIDIA A4012.0待定
AmpereNVIDIA RTX A500012.2待定
AmpereNVIDIA RTX A550014.0待定
AmpereNVIDIA RTX A600012.0待定
AdaNVIDIA L216.3待定
AdaNVIDIA L415.2待定
AdaNVIDIA L2016.3待定
AdaNVIDIA L4015.2待定
AdaNVIDIA L40S16.1待定
AdaNVIDIA RTX 5000 Ada16.1待定
AdaNVIDIA RTX 5880 Ada17.0待定
AdaNVIDIA RTX 6000 Ada15.2待定
BlackwellNVIDIA RTX PRO 600019.0待定

安装前设置BIOS


为了能顺利安装vGPU,我们需要提前在BIOS里面开启以下相关设置

  • 开启VT-d --必须开启,英特尔叫vt-d,AMD叫iommu,一般在北桥那里
  • 开启SRIOV --如有,一般在PCI子设备系统那里
  • 开启Above 4G --如有,一般在PCI子设备系统那里
  • 关闭安全启动 --在security菜单 secure boot 改disabled
  • 推荐使用UEFI引导启动 -- 在boot引导项

安装NVIDIA vGPU Host驱动

进入维护模式

1)在ESXI8界面开启SSH服务,并进入维护模式(把ESXI8里运行的虚拟机关闭电源否则无法进入维护模式)后面要通过SSH工具登录到ESXI后台安装驱动
开启SSH服务,并进入维护模式
2)将下载下来的NVIDIA VGPU驱动进行解压,把Host_Drivers文件夹里的nvd-gpu-mgmt-daemon_580.65.05-0.0.0000.zipNVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240.zip并上传到ESXI的/tmp路径

安装vGPU host驱动

1)通过SSH工具登录到ESXI,安装NVIDIA vGPU host驱动

# 安装 NVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240.zip
esxcli software component apply -d /tmp/NVD-VGPU*.zip
# 安装 nvd-gpu-mgmt-daemon_580.65.05-0.0.0000.zip
esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip

2)安装记录如下:

Last login: Sat Aug 17 23:47:48 on ttys001
july@JulysiMac ~ % ssh root@10.10.10.251
(root@10.10.10.251) Password:
The time and date of this login have been sent to the system logs.

WARNING:
 All commands run on the ESXi shell are logged and may be included in
 support bundles. Do not provide passwords directly on the command line.
 Most tools can prompt for secrets or accept them from standard input.

VMware offers powerful and supported automation tools. Please
see https://developer.vmware.com for details.

The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
[root@ESXI8:~] ls /tmp
NVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240.zip  vmware-root
nvd-gpu-mgmt-daemon_580.65.05-0.0.0000.zip        vmware-uid_0
[root@ESXI8:~] esxcli software component apply -d /tmp/NVD-VGPU*.zip
Installation Result
 Message: Operation finished successfully.
 Components Installed: NVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240
 Components Removed:
 Components Skipped:
 Reboot Required: false
 DPU Results:
[root@ESXI8:~] esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip
Installation Result
 Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
 Components Installed: nvd-gpu-mgmt-daemon_580.65.05-0.0.0000
 Components Removed:
 Components Skipped:
 Reboot Required: true
 DPU Results:

3) 安装完成可以执行nvidia-smi命令来验证驱动是否正常,输出类似如下信息:

[root@ESXI8:~] nvidia-smi
Sat Aug 17 16:14:41 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.05              Driver Version: 580.65.05      CUDA Version: N/A      |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA L4                      On  |   00000000:01:00.0 Off |                  N/A |
| 24%   54C    P8              26W / 75W       25MiB /  24576MiB   |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A   1050448      G   Xorg                                          4MiB |
|    1   N/A  N/A   1050467      G   Xorg                                          4MiB |
+---------------------------------------------------------------------------------------+

如果执行nvidia-smi没有输出,提示no devices found可能是你BIOS没设置好或者驱动版本与你的显卡不兼容。


修改默认设置(可选):

  • 3.1 关闭ECC纠错
    开启ECC的话,会占用一部分显存,比如8GB的P4(8192MB)开启ECC的话就只有7680MB,所以为了使用全部显存这里选择关闭ECC

    # 关闭ECC
    nvidia-smi -e 0
    # 如果你要开启则
    nvidia-smi -e 1
  • 3.2 切换GPU策略为均等分配
    默认策略是动态抢占,谁忙谁就用的多,A\Q系列限制60帧 B系列限制45帧。我们需要将它切换到均等分配的策略,均等分配的话当你开1个虚拟机的时候则有100%性能,开2个VM则有50%性能,开3个VM则有33%性能,3个VM里关掉一个又会变回50%性能。均等分配模式下是不限制帧率的。

    # 将 所有 vGPU 调度策略设置为均等份额调度器,并采用默认时间片长度
    esxcli system module parameters set -m nvidia -p "NVreg_RegistryDwords=RmPVMRL=0x01"


  • 4)全部做完后退出维护模式(在UI界面或者使用命令退出都行),然后重启ESXI。

    # 命令退出维护模式
    esxcli system maintenanceMode set --enable false
    # 重启
    reboot

    VCSA开启vGPU设置

    图形设备设置

    vGPU相关设置都需要在vCenter进行,所以得把ESXI主机接入到vCenter。登录到vCenter将显卡和ESXI主机从默认的共享类型(VSGA)改为直接共享类型(SR-IOV)
    步骤:vCenter → ESXI主机 → 配置 → 图形 → 图形设备 → 编辑 → 直接共享 → vGPU模式 → 混合大小 → 确定
    显卡设备开启直接共享类型
    命令下开启混合大小模式:
    一些VCSA版本过低的话,在页面上是没有vGPU模式选项的,那么可以在Esxi ssh里用命令开启,重启也不会失效。

    # VCSA8开启混合大小模式,把下边的device-id值改为自己显卡实际所在的PCI设备地址
    esxcli graphics device set --device-id=0000:06:00.0 --type SharedPassthru --vgpu-mode=MixedSize
    # 刷新让其生效
    esxcli graphics host refresh
    # 查看是否处于混合大小模式
    esxcli graphics device list
    # 输出如下结果说明混合大小模式以开启
    0000:06:00.0
     Vendor Name: NVIDIA Corporation
     Device Name: Tesla L4
     Module Name: nvidia
     Graphics Type: SharedPassthru MixedSize


    vGPU模式
    从vGPU 18版本开始,vGPU模式支持相同大小模式和混合大小模式。
    相同大小模式: 如其中一台虚拟机选了nvidia_l4-4q模型后,后面的虚拟机都将只能使用了nvidia_l4-4q模型,相同大小模式。
    混合大小模式: 如其中一台虚拟机选了nvidia_l4-4q模型后,后面的虚拟机既可以使用nvidia_l4-4q模型又可以使用其他模型,混合大小模式。

    主机图形设置

    步骤:vCenter → ESXI主机 → 配置 → 图形 → 主机图形 → 编辑 → 直接共享 → 确定
    主机图形开启直接共享类型


    共享GPU分配策略
    GPU分配策略有2种模式,最佳性能模式和GPU整合模式。
    最佳性能模式:最大化利用所有GPU资源,避免单块GPU过载;适用AI推理、实时渲染、科学计算的用户
    GPU整合模式:先填满一块GPU,再开始使用下一块;适用测试或开发环境,面向于对性能要求不高的用户


    然后就可以在虚拟机配置文件添加vGPU设备了,选择添加PCI设备,然后选择自己要使用的模型

    比如我这里给Ubuntu分配个24G显存,因为L4显卡总显存就24GB,如果把显存都分配给了这台虚拟机,那么其他虚拟机就没得用了,按自己需求给就行。


    其中 NVIDIA GRID vGPU nvidia_l4-24q 是 mdev 的名字,nvidia_l4--显卡名,24--24G 显存,q 代表 vWS
    关于最后一位字母,如下:
    A = Virtual Applications (vApps)适用于虚拟应用/共享桌面等场景
    B = Virtual Desktops (vPC)-适用于拥有标准PC应用程序、浏览器和多媒体的虚拟桌面。常用于办公场景
    Q = Virtual Workstations (vWS)-适用于专业级图形应用程序,如Al、深度学习和数据科学。性能最佳

    为虚拟机安装Guest驱动(Win11)

    安装驱动

    1)安装Win11虚拟机略过,自行在ESXI上安装好Win11虚拟机并安装好VM Tools工具。(如果你装的是Win10,则你的系统版本需要在22h2及以上才能正常使用vGPU。因为这是vGPU19.0版本的最低要求。)然后在VCSA上面添加好vGPU的PCI设备,选择自己需要的模型。

    2)将下载下来的NVIDIA vGPU驱动进行解压,把Guest_Drivers文件夹里的580.88_grid_win10_win11_server2022_dch_64bit_international.exe上传到虚拟机

    3)安装驱动的话,一直下一步直至安装完成即可。

    授权驱动

    NVIDIA vGPU系列产品并非免费给消费者使用的,而是给企业用户专门定制的。需要对GRID驱动购买许可才能正常使用vGPU,驱动不授权的话,试用期到期将会锁住限制在15帧。这里我用开源社区nvlts项目来给驱动进行永久授权(个人测试使用,商用注意规避风险
    1)下载nvlts,并解压放到C盘,如C:\nvlts

    # nvtls 1.0.3
    https://dl.yangwenqing.com/webos/link/6b00d5a713984ea8beee6516adb9a6b9/nvlts_1.0.3_windows_amd64.zip


    2)打开CMD窗口执行以下命令,因为我们用的是Q系列vWS模型,所以授权的时候也要使用vWS的配置文件。

    # 进到nvlts目录
    cd c:\nvlts
    # 进行授权
    nvlts.exe -g -r -c configs\vWS.json


    之后我们可以执行nvidia-smi -q | findstr /i "license"来查看是否永久授权成功。

    C:\nvlts>nvidia-smi -q | findstr /i "license"
        vGPU Software Licensed Product
            License Status                                 : Licensed (Expiry: Permanent)# 说明永久授权成功

    开启RDP


    注意:我们的vGPU虚拟机是需要使用远程方式来连接虚拟机的,这样才会调用GPU,如果直接在浏览器Web端操作虚拟机是不会调用到vGPU资源的,Windows虚拟机可以使用RDP协议远程连接到虚拟机。以下是Win开启RDP远程的操作:
    1)开启RDP远程桌面
    在系统设置开启RDP远程桌面

    2)允许RDP显卡加速
    RDP 支持无显卡运行,在远程桌面的时候默认是不调用显卡,可以开启它,让它支持显卡加速。
    首先打开虚拟机上的组策略gpedit.msc,依次找到计算机配置->管理模板->Windows组件->远程桌面服务->远程桌面会话主机->远程会话环境在右边选择将硬件图形适配器应用于所有远程桌面服务会话 右键编辑,选择已启用,确定保存。

    3)解除RDP 30帧限制
    RDP 默认的帧率限制在30帧,可以设置为60帧传输。
    在注册表打开该路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

    在空白处右键->新建->DWORD(32位)值,命名为DWMFRAMEINTERVAL,双击刚添加的这一项,基数选择为十进制,数值数据填写15,确定保存重启生效。

    4)关闭防火墙
    关闭Windows防火墙,或者放行3389远程桌面端口

    5)关闭睡眠/屏幕
    在系统设置中,把屏幕超时改为从不

    为虚拟机安装Guest驱动(Ubuntu 2504)

    安装Ubuntu 2504虚拟机略过,自行在ESXI上安装好Ubuntu虚拟机并安装好VM Tools工具。(安装Ubuntu虚拟机请采用UEFI安装,不要使用BIOS安装)然后在VCSA上面添加好vGPU的PCI设备,选择自己需要的模型。

    内核知识

    您需要知道的内核小知识:



    因为NVIDIA Driver需要对应内核才能正常安装驱动,比如535版本可能需要在6.5内核,550版本可能需要在6.8内核...一般我们安装Ubuntu的时候,系统会默认将内核升级到最新版本,所以我们在打驱动时需要将内核指定到对应版本才能安装NVIDIA Driver。Ubuntu推荐使用mainline内核管理程序来快速切换任意版本的Linux内核。

    1)查看当前系统内核版本,如果内核满足驱动安装,那么直接跳过安装内核步骤直接去安装驱动即可。

    uname -r

    2)安装 mainline 的软件包,需要添加它的软件源,然后用 apt 安装。

    sudo add-apt-repository ppa:cappelikan/ppa -y
    sudo apt update && sudo apt install mainline -y

    3)安装好后,可以指定想要安装的内核版本。比如要安装 6.8.12 版本:

    # 安装`6.8.12` 内核
    sudo mainline install 6.8.12
    # 以下信息是安装过程
    mainline 1.4.13
    Updating Kernels...
    Downloading 6.8.12-060812-generic
    ▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░ 27%  19/54 MB - file 3/4

    4)内核安装好后,你需要知道系统里已经安装了哪些内核

    # 查看当前已安装的内核列表
    dpkg --list | grep linux-image
    # 你会看到类似下面的输出:
    rc  linux-image-6.14.0-29-generic                  6.14.0-29.29~24.04.1                     amd64        Signed kernel image generic
    hi  linux-image-unsigned-6.8.12-060812-generic     6.8.12-060812.202501300202               amd64        Linux kernel image for version 6.8.12 on 64 bit x86 SMP

    这里linux-image-6.14.0-29-genericlinux-image-unsigned-6.8.12-060812-generic 就是已安装的内核包名
    5)修改 GRUB 配置,指定内核启动,我们将通过修改 /etc/default/grub 文件来设置默认内核

    # nano编辑grub文件
    sudo nano /etc/default/grub
    # 例如,如果你想将 linux-image-unsigned-6.8.12-060812-generic 设置为默认,配置行可能看起来像这样:
    GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.12-060812-generic"
    # 配置grub读秒,让你有足够的时间在启动时看到 GRUB 菜单并进行选择
    GRUB_TIMEOUT=5
    # 确保这一行是 ‘menu’ 而不是 ‘hidden’
    GRUB_TIMEOUT_STYLE=menu

    我的完整grub参数如下:

    # If you change this file, run 'update-grub' afterwards to update
    # /boot/grub/grub.cfg.
    # For full documentation of the options in this file, see:
    #   info -f grub -n 'Simple configuration'
    
    GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.12-060812-generic"
    GRUB_TIMEOUT_STYLE=menu
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX=""
    
    # If your computer has multiple operating systems installed, then you
    # probably want to run os-prober. However, if your computer is a host
    # for guest OSes installed via LVM or raw disk devices, running
    # os-prober can cause damage to those guest OSes as it mounts
    # filesystems to look for things.
    #GRUB_DISABLE_OS_PROBER=false
    
    # Uncomment to enable BadRAM filtering, modify to suit your needs
    # This works with Linux (no patch required) and with any kernel that obtains
    # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
    
    # Uncomment to disable graphical terminal
    #GRUB_TERMINAL=console
    
    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    #GRUB_GFXMODE=640x480
    
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    #GRUB_DISABLE_LINUX_UUID=true
    
    # Uncomment to disable generation of recovery mode menu entries
    #GRUB_DISABLE_RECOVERY="true"
    
    # Uncomment to get a beep at grub start
    #GRUB_INIT_TUNE="480 440 1"

    6)更新并重启系统

    sudo update-grub && reboot

    7) 重启后,系统就会自动切换到指定的内核版本

    # 登录进来提示
    Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.8.12-060812-generic x86_64)
    # uname -r
    6.8.12-060812-generic

    8)把不需要的旧内核清除一下,腾出空间

    sudo apt autoremove -y

    这样就可以去安装Guest驱动了,如果你的gcc版本过低的话也需要升级。这样才能打上驱动。


    安装驱动

    1) 安装显卡驱动前先将需要的依赖文件打上

    # 安装ssh工具,使用第三方SSH工具(putty,终端)连接到Ubuntu,PVE里面控制台无法复制命令
    sudo apt-get install openssh-server
    # 需要所需依赖
    sudo apt install build-essential linux-headers-generic libglvnd-dev pkg-config -y
    # 安装dkms
    sudo apt install dkms -y
    # 安装32位兼容库
    sudo dpkg --add-architecture i386
    sudo apt update
    sudo apt install libc6:i386 -y

    2)屏蔽自带的显卡驱动
    创建blacklist-nouveau.conf文件
    sudo nano /etc/modprobe.d/blacklist-nouveau.conf

    # 在blacklist-nouveau.conf文件添加如下内容:
    blacklist nouveau
    options nouveau modeset=0
    # 重载内核initramfs
    sudo update-initramfs -u
    # 重启Ubuntu
    sudo reboot

    重启完成后检查nouveau是否已禁用,没有任何输出说明已经禁用

    lsmod | grep nouveau
    # 切换到文本命令行控制台
    sudo chvt 3
    # 关闭图形界面服务
    sudo service gdm stop

    3)安装显卡GRID驱动,将NVIDIA-Linux-x86_64-580.65.06-grid.run上传到/root目录下

    # 切换root权限
    sudo -i
    # 给可执行权限
    cd /root && chmod +x NVIDIA-Linux-x86_64-580.65.06-grid.run
    # 安装驱动(默认回车直至安装完成即可)
    ./NVIDIA-Linux-x86_64-580.65.06-grid.run --dkms

    4)使用nvidia-smi验证驱动是否正常

    ubuntu@ubuntu-Standard-PC-Q35-ICH9-2009:~$ nvidia-smi
    Thu Aug 28 23:02:49 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 580.65.06              Driver Version: 580.65.06      CUDA Version: 13.0     |
    +-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  GRID T4-1Q                     On  |   00000000:01:00.0 Off |                  N/A |
    | N/A   N/A    P0            N/A  /  N/A  |      11MiB /   4096MiB |      0%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |    0   N/A  N/A            1454      G   /usr/lib/xorg/Xorg                       10MiB |
    +-----------------------------------------------------------------------------------------+

    授权驱动

    下载nvlts,并解压到/opt

    # 创建存放nvlts
    mkdir /opt/nvlts && cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf && cd /opt/nvlts
    # 下载nvtls 1.0.3
    wget -O /opt/nvlts/nvlts_1.0.3_linux_amd64.tar.gz "https://dl.yangwenqing.com/webos/link/2b88beefd12e41e3a03ce3faeae9ebdb/nvlts_1.0.3_linux_amd64.tar.gz"
    # 解压nvlts
    tar zxvf nvlts*.tar.gz
    # 配置自启动项
    mkdir -p /etc/systemd/system/nvidia-gridd.service.d
    cp /opt/nvlts/systemd/vWS.conf /etc/systemd/system/nvidia-gridd.service.d/nvlts.conf
    systemctl daemon-reload
    # 执行授权
    ./nvlts -g -r -c configs/vWS.json

    验证授权

    # 重启服务
    sudo service nvidia-gridd restart
    # 验证授权获取情况
    nvidia-smi -q | grep License
    # 看到有Licensed字样,就授权好了。
    ubuntu@ubuntu-Standard-PC-Q35-ICH9-2009:~$ nvidia-smi -q | grep License
        vGPU Software Licensed Product
            License Status                    : Licensed (Expiry: Permanent)


    如果你需要用vGPU跑大模型,可能还需要安装CUDA/CuDNN,vGPU19.0支持最新的CUDA 13.0版本,当然cuda12 cuda11版本也是可以安装。

    安装CUDA

    打开官网:https://developer.nvidia.com/cuda-toolkit-archive
    选择CUDA 13.0,如下图选择Linux及对应的架构、系统、版本和安装形式

    复制网站给我们的安装命令,依次在终端中输入:

    # 下载cuda 13 安装程序
    wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.65.06_linux.run
    # 执行安装cuda程序
    sudo sh cuda_13.0.0_580.65.06_linux.run

    输入accept接受条款

    ┌──────────────────────────────────────────────────────────────────────────────┐
    │  End User License Agreement                                                  │
    │  --------------------------                                                  │
    │                                                                              │
    │  NVIDIA Software License Agreement and CUDA Supplement to                    │
    │  Software License Agreement.                                                 │
    │                                                                              │
    │  The CUDA Toolkit End User License Agreement applies to the                  │
    │  NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA                    │
    │  Display Driver, NVIDIA Nsight tools (Visual Studio Edition),                │
    │  and the associated documentation on CUDA APIs, programming                  │
    │  model and development tools. If you do not agree with the                   │
    │  terms and conditions of the license agreement, then do not                  │
    │  download or use the software.                                               │
    │                                                                              │
    │  Last updated: January 12, 2025                                              │
    │                                                                              │
    │                                                                              │
    │  Preface                                                                     │
    │  -------                                                                     │
    │                                                                              │
    │──────────────────────────────────────────────────────────────────────────────│
    │ Do you accept the above EULA? (accept/decline/quit):                         │
    │ accept                                                                       │
    └──────────────────────────────────────────────────────────────────────────────┘

    注意:由于之前已经安装过驱动了,这次不要再安装驱动。在Driver这里按ENTER键将勾去掉!将2项CUDA选项勾选然后选择Install

    ┌──────────────────────────────────────────────────────────────────────────────┐
    │ CUDA Installer                                                               │
    │ - [ ] Driver                                                                 │
    │      [ ] 580.65.06                                                           │
    │ + [X] CUDA Toolkit 13.0                                                      │
    │   [X] CUDA Documentation 13.0                                                │
    │ - [ ] Kernel Objects                                                         │
    │      [ ] nvidia-fs                                                           │
    │   Options                                                                    │
    │   Install                                                                    │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │                                                                              │
    │ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
    └──────────────────────────────────────────────────────────────────────────────┘

    安装完成后,使用nano命令来配置环境变量:
    nano ~/.bashrc

    # 在最后添加以下变量信息
    export PATH=$PATH:/usr/local/cuda-13.0/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-13.0/lib64

    最后,使其生效

    source ~/.bashrc

    执行nvcc -V即可查看CUDA版本

    root@ubuntu-Standard-PC-Q35-ICH9-2009:~# nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2025 NVIDIA Corporation
    Built on Wed_Jul_16_07:30:01_PM_PDT_2025
    Cuda compilation tools, release 13.0, V13.0.48
    Build cuda_13.0.r13.0/compiler.36260728_0

    安装CuDNN

    打开官网:https://developer.nvidia.com/cudnn-downloads
    选择CuDNN 9.12.0,如下图选择Linux及对应的架构、系统、版本和安装形式

    复制网站给我们的安装命令,依次在终端中输入:

    wget https://developer.download.nvidia.com/compute/cudnn/9.12.0/local_installers/cudnn-local-repo-ubuntu2404-9.12.0_1.0-1_amd64.deb
    sudo dpkg -i cudnn-local-repo-ubuntu2404-9.12.0_1.0-1_amd64.deb
    sudo cp /var/cudnn-local-repo-ubuntu2404-9.12.0/cudnn-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    sudo apt-get -y install cudnn9-cuda-13

    FAQ问答

    Q1:我的是A5000/A6000显卡带视频输出接口,怎样才能使用vGPU呢?

    A1:A5000/A6000显卡默认是显示模式的,如果要使用vGPU功能,需要先切换为无显示模式才能使用vGPU。
    切换模式需要使用NVIDIA的displaymodeselector工具,该工具只支持在Window和linux平台使用,ESXI目前是没办法直接用的。如果你是ESXI平台,可以将显卡拆下来放到Win/Linux物理机又或者将显卡直通到Win/Linux的虚拟机里切换好在来安装vGPU。
    工具下载

    # displaymodeselector工具 Windows版本
    https://share.feijipan.com/s/fqFt9mRH
    # displaymodeselector工具 Linux版本
    https://share.feijipan.com/s/AFFt9s8c

    displaymodeselector工具切换教学(Window为例)
    在CMD窗口,执行一下命令:

    .\displaymodeselector.exe --gpumode

    然后根据提示关闭就行,关闭后就可以进行vGPU的安装。

    Q2:为啥我在网页连接的虚拟机打完显卡驱动后,就不能操作了呢?

    A2:请配置好远程桌面或者安装第三方远程工具,确认能通过远程连上虚拟机再来安装显卡驱动,如果你没配置就安装了显卡驱动,则需要先删除显卡设备,配置好远程再添加上显卡设备。因为你一旦安装好显卡驱动后系统就会呈现双显示器状态,这样就会导致Web网页虚拟机控制台黑屏,或者是副屏状态,使得无法操作虚拟机。如要使用GPU资源请通过远程操作虚拟机。

    如果你要简单的在Web操作虚拟机,不想借助外部的远程工具,可以用ToDesk远程到虚拟机,把显示屏设置改为仅控制台窗口显示,这样ESXI的Web显示就能操作了。(注意:Web控制台的窗口是独立的虚拟显卡并不调用vGPU)

    Q3:为啥帧率限制在60帧,可以解除帧率限制?

    A3:可以的,vGPU调度器默认采用Best Effort(尽力而为)策略,A|Q系列会被限制在60帧,B系列会限制在45帧。如要解除帧率限制则改为Equal Share(均等份额)策略即可。只需要在esxi ssh中执行以下命令

    # 将 所有 vGPU 调度策略设置为均等份额调度器,并采用默认时间片长度
    esxcli system module parameters set -m nvidia -p "NVreg_RegistryDwords=RmPVMRL=0x01"
    # 重启Esxi,即可生效
    reboot

    均等份额策略:物理 GPU 由其上所有运行的 vGPU 平均共享。当 vGPU 数量变化时,每个 vGPU 获得的份额会动态调整。如开1个VM则有100%性能,开2个VM则有50%性能,开3个VM则有33%性能,3个VM关掉一个又会变回50%性能。
    更多调度器参数设置可见官方文档:vGPU调度策略说明

    Q4:此产品许可证不支持共享 PCI 直通适配器。无法启动虚拟机。

    A4:你的ESXI的产品没激活或者没有使用Enterprise Plus企业激活秘钥。vGPU需要企业增强版的秘钥才能完整使用vGPU,这里附上个ESXI8的Enterprise Plus神秘代码:4V492-44210-48830-931GK-2PRJ4

    广告:PROXMOX-VE 技术支持,疑难解答,有需要可以闲鱼与我联系↓↓↓

    PVE技术支持
    最后修改:2026 年 06 月 13 日
    如果觉得我的文章对你有用,请随意赞赏