Vulkan SDK: No physical device found (Ubuntu 14.04 with NVIDIA 367.35 driver on GTX 460 + 1070)

Hello,

I’m currently trying to use the vulkan SDK in order to do parallel computing on my GPUs.
But no physical device is found according to vulkaninfo (as for my first C++ program in which vkEnumeratePhysicalDevices returns 0).
I followed the steps described in the “getting started” page included within the SDK install package.

Could someone help me to make it work ?

If you need more information (see below), do not hesitate.
Thanks in advance.
Bruno

Some information about the computer:
OS: Linux - Ubuntu 14.04
GPUs: GeForce GTX 460 (running X) and GeForce GTX 1070 (just as accelerator)
NVIDIA driver version: 367.35
Vulkan SDK version: 1.0.21.1

Output of vulkaninfo :

===========
VULKAN INFO
===========

Vulkan API Version: 1.0.21

INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_object_tracker.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_unique_objects.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_api_dump.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_parameter_validation.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_swapchain.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_threading.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_screenshot.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_image.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_vktrace_layer.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/bruno/vulkan/VulkanSDK/1.0.21.1/x86_64/etc/explicit_layer.d/VkLayer_core_validation.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /etc/vulkan/icd.d/nvidia_icd.json, version "1.0.0"

Instance Extensions:
====================
Instance Extensions	count = 4
	VK_KHR_surface                      : extension revision 25
	VK_KHR_xcb_surface                  : extension revision  6
	VK_KHR_xlib_surface                 : extension revision  6
	VK_EXT_debug_report                 : extension revision  2
Layers: count = 11
=======
VK_LAYER_LUNARG_object_tracker (LunarG Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_GOOGLE_unique_objects (Google Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 0

VK_LAYER_LUNARG_api_dump (LunarG debug layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 0

VK_LAYER_LUNARG_parameter_validation (LunarG Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_LUNARG_swapchain (LunarG Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_GOOGLE_threading (Google Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_LUNARG_screenshot (LunarG image capture layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 0

VK_LAYER_LUNARG_image (LunarG Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_LUNARG_vktrace (Vktrace tracing library) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 0

VK_LAYER_LUNARG_core_validation (LunarG Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.21, layer version 1
	Layer Extensions	count = 1
		VK_EXT_debug_report                 : extension revision  3
	Devices 	count = 0

Presentable Surface formats:
============================
None found

I downgraded NVIDIA driver from 367.35 (latest) to 367.27, the last identified version that provides full Vulkan support.
See https://developer.nvidia.com/vulkan-driver
Still no physical device found.

Same problem.

I think it because of Fermi architecture. Fermi does not support Vulkan.

Thanks for your comment.
It seems GTX 460 is Fermi, but the 1070 is Pascal so I should at least see one physical device…

I also tried the following :

  • NVIDIA driver 367.44 (latest)
  • NVIDIA beta driver 370.23 (VK incompatible driver error)
  • Vulkan SDK 1.0.8 because the nvidia_icd.json file mentions “api_version” : “1.0.8”

Annnd, still no physical device :’(

Still no idea of why it didn’t work with old config.
Now I’m on Ubuntu 16.04 with only the GTX 1070 and everything works fine.
Maybe it was Ubuntu 14.04 or the presence of the GTX 460…