本文内容来源于网络博主,本贴只用于记录,原帖链接已经附上,如有侵权,浏览后删帖。
实例一、书童级如何完美直通独立显卡,独立输出画面,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为演示。
二、进入到ESXI硬件管理器里面把2080TI的显卡硬件直接直通
注意:直通完成后需要重新启动ESXI
三、编辑WIN10虚拟机,把2080TI的PCI直通设备添加进去
四、开启SSH命令服务
五、SSH连接进ESXI,MAC电脑直接用终端,WIN电脑可以用putty软件或CMD命令窗
ssh root@10.10.10.254 IP地址为你的ESXI后台地址
六、配置强制直通显卡
vi /etc/vmware/esx.conf
滑动到最后输入
i
/device/显卡设备号/owner = “passthru”
显卡设备号可以在编辑虚拟机里面找到,然后按
esc
:wq
编辑win10虚拟机高级选项
在里面添加配置
键 hypervisor.cpuid.v0
值 FALSE
配置完成后,重新启动ESXI
(*)遇到的问题:Esxi8直通显卡后,重起依旧提示“已启用 / 需要重新引导” https://www.hotxf.com/57
解决办法:使用root用户登录到ESXI的SSH上面去
禁止ESXI使用核显命令
root@xx:~# esxcli system settings kernel set -s vga -v FALSE
恢复ESXI使用核显命令
root@xx:~# esxcli system settings kernel set -s vga -v TRUE
重启ESXI即可生效
七、进入win10虚拟机安装显卡驱动即可
实例二、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跑分不报错。
主要参考资料:
- https://blog.csdn.net/weixin_45409343/article/details/122478397
- Windows: opencl call failed