我很高兴拥有混合图形系统(讽刺)。
我有一张 Nvidia GeForce GTX 960m 显卡和 Intel 集成显卡。lspci
此英特尔卡的名称为Intel Corporation 4th Gen Core Processor Integrated Graphics Controller
。但我相信给出处理器的名称就足够了(英特尔酷睿 i7-4720HQ)来识别Intel显卡。
昨天,我安装了 VMware Workstation 12.5.5,以便在 Debian 9 (RC3) 主机系统上设置 Windows 10 作为任务。不幸的是,我意识到我的虚拟机使用的是 Intel 卡而不是 Nvidia 卡。
让我显示输出sudo optirun nvidia-smi
:
Mon May 15 09:14:40 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39 Driver Version: 375.39 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960M Off | 0000:01:00.0 Off | N/A |
| N/A 46C P0 N/A / N/A | 5MiB / 4044MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 8844 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+
此输出是在 VM 运行 3DMark 2.3.3 时收集的。虚拟机启动为:optirun vmware
我知道你们中有些人可能会说“你可以不是在您的来宾虚拟机上使用 Nvidia 卡”。但我的问题是不是关于GPU直通...
如果我必须通过 PCI 卡通过 Nvidia 卡到达虚拟机,我会使用 qemu/kvm - 而不是 VMware Workstation。
我想做或看到的只是以下内容:
- 跑步
optirun vmware
- 请参阅将 VMware VM(或
vmx
)列为在 Nvidia GPU 上运行的进程(nvidia-smi
将是指示符)。 (抱歉,VMware VM 或vmx
我的意思是我的来宾虚拟机)
我怎样才能强迫这种行为?我承认我只是想跑workstation
过去optirun
,但我不知道还能做什么。
答案1
我知道这是一个旧线程,但我也很高兴拥有大黄蜂系统(讽刺加剧),但是解决方案是这样的,因为肯定有人仍然需要修复这个问题(感谢 Vmware 在 2023 年仍然没有修复这个问题):
使用最新的 Nvidia 驱动程序(nvidia-driver 或 nvidia-legacy-driver)
确保 bumblebee 正常工作(安装 bumblebee-nvidia,并检查是否
/etc/bumblebee/xorg.conf.nvidia
根据“$ lspci | grep VGA
”给出的硬件地址启用 BusID(如果需要)另请记住,Vmware请勿使用 PRIMUSRUN 进行工作所以我们需要旧的 VirtualGL 方法,要启用它,请确保编辑:
~/.vmware/preferences
文件并添加以下选项:mks.gl.allowBlacklistedDrivers = TRUE
以避免 Nvidia 驱动程序或 bumblebee 被 Vmware 列入黑名单的任何问题。
设置完一切后,使用命令:
$ optirun vmware &
或$ optirun vmplayer &
基于您正在使用的 vmware 解决方案。
要验证 vmware 是否在 Nvidia 卡上运行,请使用 nvidia-smi,因为 optirun 的输出有时会撒谎。
$ nvidia-smi
输出应该是:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.89.02 Driver Version: 525.89.02 CUDA Version: 12.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 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 67C P0 24W / 60W | 220MiB / 6144MiB | 32% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 48987 G /usr/lib/xorg/Xorg 6MiB |
| 0 N/A N/A 49784 C+G ...lib/vmware/bin/mksSandbox 211MiB |
+-----------------------------------------------------------------------------+
其中...lib/vmware/bin/mksSandbox
vmware 进程运行在 Nvidia 上。