Comment 11 for bug 1769857

Mariusz DomaƄski (mario.7) wrote :

I can confirm this is still an issue.

My setup is:
Ubuntu 18.04
MSI GE60
Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
Intel HD 4600 + GeForce GTX 760M
nvidia-driver-396 (396.54-0ubuntu0~gpu18.04.1 from grphics-drivers PPA)
nvidia-prime for switching cards

With nvidia-drm.modeset=1 until some vulkan app is run as root the vulkaninfo crashes like this:

==========
VULKANINFO
==========

Vulkan Instance Version: 1.1.82

ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INTEL-MESA: warning: Haswell Vulkan support is incomplete
INTEL-MESA: warning: ../../../src/intel/vulkan/anv_device.c:1150: FINISHME: Implement pop-free point clipping

Instance Extensions:
====================
Instance Extensions count = 17
 VK_EXT_acquire_xlib_display : extension revision 1
 VK_EXT_debug_report : extension revision 9
 VK_EXT_debug_utils : extension revision 1
 VK_EXT_direct_mode_display : extension revision 1
 VK_EXT_display_surface_counter : extension revision 1
 VK_KHR_device_group_creation : extension revision 1
 VK_KHR_display : extension revision 23
 VK_KHR_external_fence_capabilities : extension revision 1
 VK_KHR_external_memory_capabilities : extension revision 1
 VK_KHR_external_semaphore_capabilities: extension revision 1
 VK_KHR_get_display_properties2 : extension revision 1
 VK_KHR_get_physical_device_properties2: extension revision 1
 VK_KHR_get_surface_capabilities2 : extension revision 1
 VK_KHR_surface : extension revision 25
 VK_KHR_wayland_surface : extension revision 6
 VK_KHR_xcb_surface : extension revision 6
 VK_KHR_xlib_surface : extension revision 6
Layers: count = 3
=======
VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.82, layer version 1
 Layer Extensions count = 0
 Devices count = 2
  GPU id : 0 (Intel(R) Haswell Mobile)
  Layer-Device Extensions count = 0
  GPU id : 1 (GeForce GTX 760M)
  Layer-Device Extensions count = 0

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1
 Layer Extensions count = 0
 Devices count = 2
  GPU id : 0 (Intel(R) Haswell Mobile)
  Layer-Device Extensions count = 0
  GPU id : 1 (GeForce GTX 760M)
  Layer-Device Extensions count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1
 Layer Extensions count = 0
 Devices count = 2
  GPU id : 0 (Intel(R) Haswell Mobile)
  Layer-Device Extensions count = 0
  GPU id : 1 (GeForce GTX 760M)
  Layer-Device Extensions count = 0

Presentable Surfaces:
=====================
GPU id : 0 (Intel(R) Haswell Mobile)
Surface type : VK_KHR_xcb_surface
Formats: count = 2
 B8G8R8A8_SRGB
 B8G8R8A8_UNORM
Present Modes: count = 3
 IMMEDIATE_KHR
 MAILBOX_KHR
 FIFO_KHR

VkSurfaceCapabilitiesKHR:
=========================
 minImageCount = 2
 maxImageCount = 0
 currentExtent:
  width = 256
  height = 256
 minImageExtent:
  width = 256
  height = 256
 maxImageExtent:
  width = 256
  height = 256
 maxImageArrayLayers = 1
 supportedTransform:
  VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
 currentTransform:
  VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
 supportedCompositeAlpha:
  VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
  VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
 supportedUsageFlags:
  VK_IMAGE_USAGE_TRANSFER_SRC_BIT
  VK_IMAGE_USAGE_TRANSFER_DST_BIT
  VK_IMAGE_USAGE_SAMPLED_BIT
  VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT

VkSurfaceCapabilities2EXT:
==========================
 supportedSurfaceCounters:
  None
GPU id : 1 (GeForce GTX 760M)
Surface type : VK_KHR_xcb_surface
vulkaninfo: /build/vulkan-tools-WIuZIg/vulkan-tools-1.1.82.0+dfsg1/vulkaninfo/vulkaninfo.c:1253: AppDumpSurfaceFormats: Assertion `!err' failed.
Aborted (core dumped)

I have added some logs to vulkaninfo to check what is the value of vkGetPhysicalDeviceSurfaceFormatsKHR function that leads to abort and it is: -3
 (VK_ERROR_INITIALIZATION_FAILED)
According to specification this error value should not be returned by this function but here it is...

On nvidia forum there is similar issue reported but unfortunately without conclusion: https://devtalk.nvidia.com/default/topic/998521/linux/no-vulkan-applications-run-with-378-13-drivers-on-ubuntu-gnome-16-10-nvidia-geforce-840m-gpu/