I’m trying to render offscreen on a headless server (no X installed) with 4x Titan X but I can’t get passed vkCreateInstance. Is there something that I could do to debug this?
Details:
eric@quark:~$ echo $LD_LIBRARY_PATH
/home/eric/VulkanSDK/1.0.30.0/x86_64/lib:/usr/lib/nvidia-370:
eric@quark:~$ nvidia-smi
Fri Nov 4 16:59:40 2016
±----------------------------------------------------------------------------+
| NVIDIA-SMI 370.28 Driver Version: 370.28 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 TITAN X (Pascal) On | 0000:02:00.0 Off | N/A |
| 23% 32C P8 16W / 250W | 0MiB / 12189MiB | 0% Default |
±------------------------------±---------------------±---------------------+
| 1 TITAN X (Pascal) On | 0000:03:00.0 Off | N/A |
| 23% 36C P8 15W / 250W | 0MiB / 12189MiB | 0% Default |
±------------------------------±---------------------±---------------------+
| 2 TITAN X (Pascal) On | 0000:82:00.0 Off | N/A |
| 23% 36C P8 17W / 250W | 0MiB / 12189MiB | 0% Default |
±------------------------------±---------------------±---------------------+
| 3 TITAN X (Pascal) On | 0000:83:00.0 Off | N/A |
| 23% 35C P8 15W / 250W | 0MiB / 12189MiB | 0% Default |
±------------------------------±---------------------±---------------------+
±----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
±----------------------------------------------------------------------------+
eric@quark:~$ ~/VulkanSDK/1.0.30.0/x86_64/bin/vulkaninfo
VULKAN INFO
Vulkan API Version: 1.0.30
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_vktrace_layer.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_threading.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_unique_objects.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_core_validation.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_screenshot.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_swapchain.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_object_tracker.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_api_dump.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_image.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /home/eric/VulkanSDK/1.0.30.0/x86_64/etc/explicit_layer.d/VkLayer_parameter_validation.json, version “1.0.0”
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version “1.0.0”
ERROR: [loader] Code 0 : Couldn’t get vkCreateInstance via vk_icdGetInstanceProcAddr for ICD libGLX_nvidia.so.0
Cannot create Vulkan instance.
/var/lib/jenkins/workspace/Create-Linux-VulkanSDK/Vulkan-LoaderAndValidationLayers/demos/vulkaninfo.c:680: failed with VK_ERROR_INCOMPATIBLE_DRIVER
Figured that out, you’ll actually need to run Xorg or any other suitable renderer backend. It cannot create a Vulkan instance because fails to connect to X. Exporting DISPLAY=:0 is required too. -_____-
Sorry for the late reply. Our next driver release will support direct to display which, even if you are not interested in presenting your frames, will allow you to use Vulkan without X running.
We tried to use the latest driver on Amazon EC2 GPU instances, which have GRID K520, and got the following:
WARNING: The NVIDIA GRID K520 GPU installed in this system is supported
through the NVIDIA 367.xx legacy Linux graphics drivers. Please
visit http://www.nvidia.com/object/unix.html for more information.
The 375.26 NVIDIA Linux graphics driver will ignore this GPU.
So are we stuck using X11 with this hardware? Disappointing.
nvidia-smi
Tue Jul 11 19:53:24 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... Off | 0000:03:00.0 Off | 0 |
| N/A 34C P0 38W / 250W | 305MiB / 16276MiB | 64% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-PCIE... Off | 0000:82:00.0 Off | 0 |
| N/A 33C P0 40W / 250W | 305MiB / 16276MiB | 88% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 177361 C ./isng.e 305MiB |
| 1 177372 C ./isng.e 305MiB |
+-----------------------------------------------------------------------------+
I mixed up the driver versions it seems (this makes more sense): I have a PC at home I’m using as well, with a GTX 980 Ti which is on the XXX.66 I believe.