直通独立显卡,独立输出画面,NVIDIA 2080TI 2070S,ESXI6.7-7.0适用

发布时间 2023-04-05 10:48:52作者: *(00)*

本文内容来源于网络博主,本贴只用于记录,原帖链接已经附上,如有侵权,浏览后删帖。

实例一、书童级如何完美直通独立显卡,独立输出画面,NVIDIA 2080TI 2070S,ESXI6.7-7.0适用

视频教程:https://www.bilibili.com/video/BV16e411W7dX/?spm_id_from=333.337.search-card.all.click&vd_source=8a6d5dcc80ac4b00f37f23826eaa6617

图文教程:https://vt.wooomooo.com/?p=14467

视频简介:

很多人问在ESXI下如何直通显卡,让显卡直接输出,那么这样就可以在多系统的情况下用独立的硬件性能了。


一、进入主板bios设置,只允许板载或者核显输出,PCIE独立显卡不输出

注意:每个主板如何设置请参考主板手册,我这里只用我们all in one主板BIOS为演示。

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

二、进入到ESXI硬件管理器里面把2080TI的显卡硬件直接直通

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

注意:直通完成后需要重新启动ESXI

三、编辑WIN10虚拟机,把2080TI的PCI直通设备添加进去

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

四、开启SSH命令服务

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

五、SSH连接进ESXI,MAC电脑直接用终端,WIN电脑可以用putty软件或CMD命令窗

ssh root@10.10.10.254     IP地址为你的ESXI后台地址

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

六、配置强制直通显卡

vi /etc/vmware/esx.conf

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

滑动到最后输入

i

/device/显卡设备号/owner =  “passthru”

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

显卡设备号可以在编辑虚拟机里面找到,然后按

esc
:wq

编辑win10虚拟机高级选项

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

在里面添加配置

键  hypervisor.cpuid.v0
值  FALSE

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

配置完成后,重新启动ESXI

七、进入win10虚拟机安装显卡驱动即可

VLOG | 书童级如何完美直通独立显卡,独立输出画面,NVIDIA  2080TI 2070S,ESXI6.7-7.0适用 – Vedio Talk - VLOG、科技、生活、乐分享

 

实例二、ESXi 7.0 开启 NVIDIA 2070 显卡直通 Win10 - 折腾成功的经历

https://zhuanlan.zhihu.com/p/558154956

Keywords: ESXi 7.0.3, NVIDIA GeForce 2070, Passthrough, Windows 10, walkthrough, no OpenCL

搜了半天攻略没想到最后有个大坑,写一下。本文部分文字借用自参考资料

0. 食用本文之前,假设你已经安装好了ESXi 7.0,并在里面装好了Windows虚拟机。本文不包括这一部分

1. 在机箱里装好显卡

2. 在管理—>硬件PCI设备中搜索nvidia,勾选其中一个后,选择切换直通 。这里我遇到一个很扯淡的情况,就是我的2070显示的4个设备里,随便勾选哪一个,四个勾选框就开始疯狂跳动,网页也基本卡死,点不到切换直通,换了浏览器也不行。最后多刷新几次,勾选了过后马上点才点到了。刷新看下,显示“活动”就弄好了。这步完成后不用重启。

 

3. 打开SSH(主机-操作-服务-启用SSH),然后ssh进入ESXi

3.1 输入 lspci -v | grep NVIDIA -A1 找到显卡

[root@localhost:~] lspci -v | grep NVIDIA -A1
0000:03:00.0 Display controller VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070]
         Class 0300: 10de:1f02
--
0000:03:00.1 Multimedia controller Audio device: NVIDIA Corporation TU106 High Definition Audio Controller
         Class 0403: 10de:10f9
--
0000:03:00.2 Serial bus controller USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller
         Class 0c03: 10de:1ada
--
0000:03:00.3 Serial bus controller : NVIDIA Corporation TU106 USB Type-C UCSI Controller
         Class 0c80: 10de:1adb

找到你显卡最主要的那一条,就是有显卡型号的那一条,比如我这里就是第一条。

然后记录下两个信息,

(1) 第一行开始0000开头的数字,比如我这里是 0000:03:00.0

(2) 第二行的Class最后面的两堆数字,比如我这里是 10de 和 1f02

 

3.2. 编辑这两个文件

echo '/device/0000:03:00.0/owner = "passthru"' >> /etc/vmware/esx.conf 

echo '10de  1f02  bridge   false' >> /etc/vmware/passthru.map
echo '10de  1f02  link     false' >> /etc/vmware/passthru.map
echo '10de  1f02  d3d0     false' >> /etc/vmware/passthru.map

其中第一个命令里device后面的序号 和 后面命令里前面两列echo的信息,换成你显卡的上面记录的信息。完成后退出SSH,现在仍然不用着急重启。

 

6. 打开虚拟机设置,重点为

6.1 预留全部内存

这是借的别人的图,7.0是一样的

6.2 添加高级参数:虚拟机选项——>高级——>编辑配置参数——>添加参数(hypervisor.cpuid.v0:FALSE

6.3 添加显卡进虚拟机:添加其它设备——>PCI设备 ,有多少加多少,比如上面我的显卡是4条,那就添加4个。如果提示不能添加,则需要关闭[虚拟机选项]里的VBS(基于虚拟化的安全性),和关闭CPU选项下面的所有“向客户机操作系统公开***”

7. 重启主机,完成后重启虚拟机。进设备管理器,【显示适配器】一开始可能识别到了,但是没装驱动所以显示出一个很怪的名字,不担心,直接等一会刷新,win10会自动装驱动

借的图,我是2070的卡

8. 上面都是基本公开的攻略。重点来了,下面我遇到的坑。首先虽然在设备管理器里有显卡,任务管理器里也显示,但使用率极低,打开视频或者游戏还是CPU狂装,gpu不动。

解决方案:在显卡上插个显示器,或者插一个显卡欺骗器(淘宝),然后注意,【在win10里面重启电脑】,不要用ESXi控制重启win10。

重启后,win10会检测到两个显示器,只保留其中显卡对应的拿一个。显示设置里,选择【仅在2上显示】,不行就改用另一个。怎么看改好没有——打开任务管理器,查看GPU,点击开始菜单,看看gpu负载上去没有,上去了就对了。否则,重新选一下显示的屏幕

 

9. 我还遇到另一个问题,就是这之后只要在ESXi里重启了win10,就会识别不出来显卡(任务管理器里没有)。解决也很简单,在win10内部重启一次即可。

 

10. 后续坑1:没有OpenCL。在GPU-Z里显示OpenCL不可用;passmark跑分也显示OpenCL不可用;命令行直接输入clinfo不报错但完全无输出。查了大量资料过后终于找到了解决(下面参考资料2)

方法:

(1) 在system32下搜索(也可直接用everything搜索)nvopencl,找到nvopencl32.dll和nvopencl64.dll两个文件的路径

(2) 打开注册表编辑器,展开到 HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors 。这里如果Khronos下面没有OpenCL目录,则需要手动添加。在Vendors下添加一个Dword32键

键的名称为上面搜到的nvopencl64.dll的路径,比如我的是C:\Windows\System32\DriverStore\FileRepository\nvmii.inf_amd64_995a8ca55addcada\nvopencl64.dll

键值为0即可

(3) 注册表编辑器展开到 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors],添加一个Dword32键

键的名称为上面搜到的nvopencl32.dll的路径,比如我的是C:\Windows\System32\DriverStore\FileRepository\nvmii.inf_amd64_995a8ca55addcada\nvopencl32.dll

键值为0即可

然后命令行输入clinfo就有一大堆信息了,GPU-Z显示OpenCL启用,passmark跑分不报错。

 

主要参考资料:

  1. https://blog.csdn.net/weixin_45409343/article/details/122478397
  2. Windows: opencl call failed