Vulkan stopped working after upgrade from 364.x to 375.26

Everything was working just fine, Vulkan demos compiled and worked, but I wanted to fix the issue with charger state not being recognized properly, so I installed the 375.26 driver. Now I get this when running vulkaninfo:

markaos@ideapad:~$ DISPLAY=:0 vulkaninfo 
===========
VULKAN INFO
===========

Vulkan API Version: 1.0.39

INFO: [loader] Code 0 : Found manifest file /home/markaos/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/markaos/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json, version "1.0.0"
Cannot create Vulkan instance.
/build/vulkan-Z8I619/vulkan-1.0.39.0+dfsg1/demos/vulkaninfo.c:698: failed with VK_ERROR_INCOMPATIBLE_DRIVER
markaos@ideapad:~$

(it’s the same without DISPLAY=:0).
I have GT755M. Driver is working for OpenGL apps, it only doesn’t provide Vulkan support anymore.

Any ideas how to fix it?

PS: OS is 64bit Ubuntu 16.04

I cannot reproduce this issue with 375.26 on my Ubuntu 16.04 system.

  • How did you install 364.xx (through a package provided by your distribution, or the .run package)?
  • How did you install 375.26 (ibid)?

In 375.26, our driver will return VK_ERROR_INCOMPATIBLE_DRIVER only if the major or minor Vulkan API version don’t match the version requested by the application, which shouldn’t be the case here.

Another way to see a VK_ERROR_INCOMPATIBLE_DRIVER is if the loader was not able to find a suitable ICD (e.g., the NVIDIA Vulkan driver).

See this block in loader.c:

// If no ICDs were added to instance list and res is unchanged
// from it's initial value, the loader was unable to find
// a suitable ICD.
if (VK_SUCCESS == res && (ptr_instance->icd_terms == NULL || !one_icd_successful)) {
    res = VK_ERROR_INCOMPATIBLE_DRIVER;
}

I wonder if the driver was somehow not properly installed. Can you verify the content of /etc/vulkan/icd.d/nvidia_icd.json and check that “library_path” under the “ICD” section points to a DSO that is accessible through the standard library search paths (e.g., /usr/lib/x86_64-linux-gnu/)?

Also, you might get more information by running:

$ VK_LOADER_DEBUG=all vulkaninfo

I use this PPA in my system: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa - I don’t know how “official” is it, but drivers from this PPA worked without any problems in the past (except official driver bugs, of course).

Before replying, I tried upgrading to 378.13 (again from the PPA) just to check it and Vulkan is working again, so if it really was a driver bug, then it’s fixed. Thanks for your response (you actually made me upgrade the driver).

Well, I just checked if I can downgrade back to 375.26 using the package manager to check if the issue is still there and it seems that this package was from your PPA (probably added during compilation of ffmpeg with NVENC enabled - using http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf ). Maybe there’s driver with Vulkan disabled in this PPA?

So the question now is, do you want me to downgrade to 375.26 from your PPA and check Vulkan with it, or is enough to know it now works on 378.13 from the Graphics Drivers PPA (double checked it comes from there)?

I am not completely sure what is in that package you linked. It is very possible that the Vulkan driver isn’t in it.

If you don’t have specific CUDA needs where you were told to use this particular package, I recommend just installing the NVIDIA drivers through your distribution packages.