nVidia vGPU Guide – Linux Troubleshooting

X Server (the GUI) crashes at startup

While it is expected that the GUI can’t be used from the VMware console after installing the nVidia driver it isn’t expected to crash out to a CLI. If this happens it means that X Server is crashing and it will prevent you from accessing the GUI with either X11VNC or Horizon.

To fix this issue you need to look at your /etc/X11/xorg.conf file. Upon driver installation nVidia will update this file (if you didn’t say no). Typically this leads to a bad file.

You can build a good xorg.conf file using the nvidia-xconfig command. First step is to run lspci to get the busID for the card. Typically it’s something like 02:02.0.

Then you need to run the following command and replace the busID with yours:

sudo nvidia-xconfig --busid="PCI:2:2:0" --allow-empty-initial-configuration

This will generate a new xorg.conf file. Reboot and the GUI should now be fixed.

Note: If the Horizon agent is already installed it will need to be re-installed after this.

How to tell if the nVidia Driver is properly installed in the VM

nvidia-smi

This should return details about the GPU model and driver version.

How to tell if the nVidia GPU is being used (Method 1)

glxinfo | egrep "OpenGL vendor|OpenGL renderer"

How to tell if the nVidia GPU is being used (Method 2)

Try to open the nVidia X Server Settings UI from the launcher or via the command below

nvidia-settings

If the nVidia GPU is not being used then you will not be able to open the nVidia X Server Settings UI.

How to test Frames Per Second

Issue the following command and wait for the output
glxgears

nVidia SMI Returns “No devices were found”

Follow the steps on the Drivers page to ensure both the ESXi host and the VM are running drivers from the same vGPU version.

Driver versions can be checked on the ESXi host and within the VM using the nvidia-smi command.

Test nVidia GPU without Horizon

In order to test the nVidia GPU without Horizon you can use X11VNC. This package can be installed and the following command can be run to start it on console 0 (where the nVidia GPU should be running)

sudo x11vnc --forever --display :0 2>&1 1>&vncerror &

Source: nVidia Documentation