ESXI 6.7 passthrough GeForce GT 1030 to Ubuntu

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
Looking up the error it says faulty drivers. Never had to deal with that.
As you mentioned, try the card in another system and check if it is not broken. Also, if you borrow a friends card, try that one. Start with a fresh VM and download the latest Windows 10 image through the media creation tool at microsoft.com.
 

hakabe

Member
Jul 6, 2016
123
4
18
39
Try giving the GPU passthrough config x-vga=1 (which tells the VM/GPU that the output comes from the monitor)
i.e.
hostpci0: 03:00,x-vga=1,pcie=1
also blacklist these:
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist nvidia_drm
Also worth mentioning, that I've had issues with GPU passthroughs if the baremetal isn't running on UEFI.

Here's some hints too: https://www.reddit.com/r/VFIO/comments/ay5o0j
 
Last edited:

ewok2

New Member
Apr 7, 2021
27
1
1
Hello back again.
Long time to found a friend who accept to test my graphic card.
=> No card problem, it work fine in a Windows 7 computer.
=> Back on esxi I install a Windows 7 VM but it does not work (same a Win 10)

During this period my ESXI pass from 6.7 to 7.0
I test again with a Ubuntu VM and it is better...
with "hypervisor.cpuid.v0 = FALSE" and "svga.present = FALSE "
I get a VM running (no more screen via the ESXI web interface)

=> Connection to vm with a ssh -X
Things that works :
- xclock
- glxgears
- firefox
- and partialy yuzu => problem expalin at the end

The return of the following command :
Code:
$ lspci | grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)
Code:
$ glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.0, 256 bits)
Code:
nvidia-smi -L
GPU 0: GeForce GT 1030 (UUID: GPU-d6d4c15e-82c7-5403-9c17-b10ecd99adb5)
Code:
nvidia-smi
Tue May 18 18:02:00 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| 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  GeForce GT 1030     Off  | 00000000:03:00.0 Off |                  N/A |
| 35%   40C    P0    N/A /  30W |      0MiB /  2001MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
But I think it still does not work despite of the previous results...
nvidia-settings => open a empty windows
with following message in the consol
Code:
(nvidia-settings:2757): GLib-GObject-CRITICAL **: 18:02:52.955: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** Message: 18:02:52.957: PRIME: No offloading required. Abort
** Message: 18:02:52.957: PRIME: is it supported? no
yuzu => say it can't work because of the Open GL version
Code:
Your GPU may not support OpenGL 4.3, or you do not have the latest graphics driver.

GL Renderer:
llvmpipe (LLVM 11.0.0, 256 bits)
And this card is compatible of a OpenGl version higher than 4.3...

Any idea to go further ?
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
You tried hooking up the monitor to the GPU to see if you have an output?

Also, if Yuzu is the piece of software giving issues, isn't it better to look in that direction? Had to google for it and see it's a Nintendo Switch emulator.
For what I see from what you posted, passthrough seems to be working.
 
Last edited:

ewok2

New Member
Apr 7, 2021
27
1
1
I just test a monitor but black screen...

Ok to test someting else as yuzu :) but I need a software that use the GPU ...
Any idee of a such software?
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
Try BOINC. Add a Nvidia supported project like Milyway@Home. See the project list on the BOINC main website.
Let it crunch on some workunits and check if they complete successfully and that they also get verified.
 
Last edited:

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
To be clear, I mentioned BOINC because if that works, it uses the GPU and you can confirm passthrough is working.
Do not expect output at this point through ssh -X <blabla> . That is another step to be taken/solved.
 

ewok2

New Member
Apr 7, 2021
27
1
1
So I have attach
Code:
boinccmd --project_attach  http://milkyway.cs.rpi.edu/milkyway/
and get :
Code:
sudo service boinc-client status
● boinc-client.service - Berkeley Open Infrastructure Network Computing Client
     Loaded: loaded (/lib/systemd/system/boinc-client.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-05-18 20:15:10 UTC; 1min 38s ago
       Docs: man:boinc(1)
   Main PID: 4051 (boinc)
      Tasks: 2 (limit: 4618)
     Memory: 5.4M
     CGroup: /system.slice/boinc-client.service
             └─4051 /usr/bin/boinc

May 18 20:15:10 vm-switch boinc[4051]: 18-May-2021 20:15:10 [---] gui_rpc_auth.cfg is empty - no GUI RPC password protection
May 18 20:15:10 vm-switch boinc[4051]: 18-May-2021 20:15:10 [---] Checking presence of 0 project files
May 18 20:15:10 vm-switch boinc[4051]: 18-May-2021 20:15:10 [---] This computer is not attached to any projects
May 18 20:15:10 vm-switch boinc[4051]: 18-May-2021 20:15:10 Initialization completed
May 18 20:15:10 vm-switch boinc[4051]: 18-May-2021 20:15:10 [---] Suspending GPU computation - computer is in use
May 18 20:16:36 vm-switch boinc[4051]: dir_open: Could not open directory 'projects/milkyway.cs.rpi.edu_milkyway' from '/var/lib/boinc-client'.
May 18 20:16:41 vm-switch boinc[4051]: 18-May-2021 20:16:41 [http://milkyway.cs.rpi.edu/milkyway/] Fetching scheduler list
May 18 20:16:43 vm-switch boinc[4051]: 18-May-2021 20:16:43 [http://milkyway.cs.rpi.edu/milkyway/] Master file download succeeded
May 18 20:16:48 vm-switch boinc[4051]: 18-May-2021 20:16:48 [http://milkyway.cs.rpi.edu/milkyway/] Sending scheduler request: Project initializa>
May 18 20:16:48 vm-switch boinc[4051]: 18-May-2021 20:16:48 [http://milkyway.cs.rpi.edu/milkyway/] Requesting new tasks for CPU and NVIDIA GPU
how to know if it is working ?
because nvidia-smi says No running processes found
Code:
nvidia-smi
Tue May 18 20:18:33 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.31       Driver Version: 465.31       CUDA Version: 11.3     |
|-------------------------------+----------------------+----------------------+
| 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 ...  Off  | 00000000:03:00.0 Off |                  N/A |
| 35%   38C    P0    N/A /  30W |      0MiB /  2001MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
 

ewok2

New Member
Apr 7, 2021
27
1
1
I try to change preference on the web site and restart the service boinc-client but still CPU to 100% and "Suspending GPU computation - computer is in use" ?

It seem's if there are some preference in a local file it will override but I do not found this file...
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
Usually an update should do the trick: boinccmd --project <project URL> update
There might still be CPU tasks running and cached, since they are not cancelled automatically. You can also try to detach and re-attach again to reset.
The config file is in /var/lib/boinc-client/global_prefs_override.xml for reference.

Edit: and CPU usage might be normal for feeding the GPU. Just check if there is GPU usage with nvidia-smi.
 

ewok2

New Member
Apr 7, 2021
27
1
1
The boinccmd --project <project URL> update works
Now CPU is more reasonnable :)

and
Code:
nvidia-smi
Tue May 18 20:52:15 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.31       Driver Version: 465.31       CUDA Version: 11.3     |
|-------------------------------+----------------------+----------------------+
| 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 ...  Off  | 00000000:03:00.0 Off |                  N/A |
| 37%   50C    P0    N/A /  30W |     85MiB /  2001MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      5523      C   ...ux-gnu__opencl_nvidia_101       83MiB |
+-----------------------------------------------------------------------------+
means that GPU is working I guess ?

This means I just have to understand why OpenGL 4.6 is not working ??? despite the fact that Nvidia 465.31 driver support it!
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
This looks good. Under processes something is running.
If you check the log for BOINC messages (/var/log/syslog or /var/log/boinc.log) you will see the GPU is detected and used.
I do think you have to figure the OpenGL thing out. Can't help you with that.
Just check if some of the workunits (2 or 3) complete and they get verified. Then you can be certain GPU passthrough is working.
 

ewok2

New Member
Apr 7, 2021
27
1
1
Manythanks, at least I know that it is no more a Graphic Card problem with ESXI and Passthrough :)
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
No problem, took me many years to get GPU passthrough working for me.
For ESXi, I use both, but use 6.7u3 (latest update) the most. Haven't played that much with GPU passthrough on ESXi 7.0 (u2) that much yet. Just stick with 7.0, you can always revert to 6.7. Can't give yo a clear answer on that right now.
 

ewok2

New Member
Apr 7, 2021
27
1
1
Ok thanks
Confiramtion with log that works:
Code:
boinc[1014]: 18-May-2021 21:17:39 [Milkyway@Home] Computation for task de_modfit_83_bundle4_4s_south4s_bgset_7_1621277702_322392_1 finished
boinc[1014]: 18-May-2021 21:17:39 [Milkyway@Home] Starting task de_modfit_82_bundle4_4s_south4s_bgset_7_1621277702_292076_1
 

superempie

Member
Sep 25, 2015
70
9
8
The Netherlands
You can verify on your MilkyWay@Home profile page. Look for Tasks and click on View. There you can track the status of the jobs.

Btw: you can also use this command: boinccmd --project <project URL> nomorework
And let BOINC crunch through all the tasks until everything in the queue is completed. Then you can issue an update and uninstall BOINC from your VM if you do not plan on using it any further.

Edit: this is how you check if the queue is empty: boinccmd --get_simple_gui_info | less
 
Last edited:

ewok2

New Member
Apr 7, 2021
27
1
1
Some news on my problem, the GPU works for GPU calculation but OpenGl does not works...

Still not working but it will be may be possible one days....
It seem's the Nvidia Driver for GeForce card does not allow the virtualization...
In this article it seem's a first Nvidia Driver will allow to virtualise a linux on a Windows...
Nvidia Driver virtualizatio
Maybe the following driver will allow to virtualise Linux on Vmware...