涉及版本
OS: ESXi 8.0 u2
OS: Ubuntu 22.04
kernel: Linux ubuntu 5.15.0-89-generic
nvidia-driver: 535.129.03
配置
ESXi 主机配置
- 主机 BIOS 开启 VT-d。
- 配置显卡直通。
虚拟机配置
- CPU 开启 I/O MMU,关闭硬件虚拟化
- 引导选项 关闭安全引导
- 添加 PCI设备
虚拟机内安装驱动
#禁用nouveau
touch /etc/modprobe.d/blacklist-nvidia-nouveau.conf
cat >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf << EOF
blacklist nouveau
options nouveau modeset=0
EOF
touch /etc/modprobe.d/nvidia.conf
cat >> /etc/modprobe.d/nvidia.conf << EOF
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
EOF
sudo update-initramfs -u
sudo reboot
wget "https://us.download.nvidia.cn/XFree86/Linux-x86_64/535.129.03/NVIDIA-Linux-x86_64-535.129.03.run" -O NVIDIA-Linux-x86_64-535.129.03.run
sudo apt install build-essential
sudo apt install pkg-config libglvnd-dev
sudo chmod u+x NVIDIA-Linux-x86_64-535.129.03.run
# 如不带 -m=kernel-open 参数,kernel日志中会出现 RmInitAdapter failed! (0x26:0x56:1482) 报错。
./NVIDIA-Linux-x86_64-535.129.03.run -m=kernel-open
其他
#该日志并不影响驱动安装
kernel: nvidia: loading out-of-tree module taints kernel.
kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
#lshw -C display
*-display
description: VGA compatible controller
product: NVIDIA Corporation
vendor: NVIDIA Corporation
physical id: 1
bus info: pci@0000:02:01.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list
configuration: driver=nvidia latency=0
resources: irq:40 memory:fd000000-fdffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:a00(size=128)
lsmod | grep nvidia
nvidia_uvm 1519616 8
nvidia_drm 77824 0
nvidia_modeset 1445888 1 nvidia_drm
nvidia 7577600 128 nvidia_uvm,nvidia_modeset
drm_kms_helper 311296 2 vmwgfx,nvidia_drm
drm 622592 7 vmwgfx,drm_kms_helper,nvidia,nvidia_drm,ttm