0

I am happy owner of hybrid-graphics system (sarcasm).

At my disposal I have a Nvidia GeForce GTX 960m graphics card with Intel integrated graphics card. The lspci names this Intel card as Intel Corporation 4th Gen Core Processor Integrated Graphics Controller. But I believe it would be enough to give the name of the processor (Intel Core i7-4720HQ) to identify the Intel graphics card.

Yesterday I have installed VMware Workstation 12.5.5 in order to setup Windows 10 as a quest on my Debian 9 (RC3) host system. Unfortunately I have realized that my virtual machine is using Intel card instead of Nvidia card.

Let my show output of 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 |
+-----------------------------------------------------------------------------+

This output was collected while the VM was running 3DMark 2.3.3. Virtual machine was started as: optirun vmware

I know that some of you might say "you can not use Nvidia card on your guest virtual machine". But my question is not about GPU passthrough...

If I had to PCI passtrough my Nvidia card to the virtual machine, I would use qemu/kvm - not VMware Workstation.

All I want to do or see is the following:

  1. Run optirun vmware
  2. See VMware VM (or vmx) listed as a process running on the Nvidia GPU (nvidia-smi would be the indicator). (Sorry, by VMware VM or vmx I mean my guest virtual machine)

How can I force this behavior? I admit that I tried only to run workstation through optirun but I don't know what else to do.

2 Answers 2

1

I know this is a old thread, but I'm happy owner of a bumblebee system too (sarcams intensifies), but theres the solution, because someone for sure still will need fix that insue (thanks to Vmware for do not still fix that in 2023):

  1. Use the latest Nvidia driver available (nvidia-driver or nvidia-legacy-driver)

  2. make sure bumblebee its working (install bumblebee-nvidia, and check for /etc/bumblebee/xorg.conf.nvidia to enable BusID based on the hardware address gave by "$ lspci | grep VGA" if needed)

  3. Also keep in mind that Vmware DO NOT WORK using PRIMUSRUN so we need the old VirtualGL aproach, to enable that, make sure you edit the:

    ~/.vmware/preferences file and add the following option:

    mks.gl.allowBlacklistedDrivers = TRUE

    to avoid any problem with Nvidia drivers or bumblebee being blacklisted by Vmware.

  4. After setup everything use the commands:

    $ optirun vmware & or $ optirun vmplayer & based in the vmware solution you are using.

To verify if vmware its running in Nvidia card use nvidia-smi, because the output of optirun sometimes lie.

$ nvidia-smi

The output should be:

+-----------------------------------------------------------------------------+
| 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 |
+-----------------------------------------------------------------------------+

Where ...lib/vmware/bin/mksSandbox its the vmware process running on Nvidia.

0

By chance I found this script. It comes with this instruction.

Unfortunately it does not support debian 9 (rc3), and i think that author just gave up on this project. I am not experienced enough to modify this script by myself, but with a bit of luck, someone will.

If anyone will find out how this script forces the vmware vm's to run on Nvidia card (through primusrun / optirun), please post an answer in this topic.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .