Fix Nvidia Graphics Drivers PPA Breaking Vulkan After A Recent Update (Ubuntu, Linux Mint)

Nvidia logo

It appears updating the Nvidia 410 or 415 drivers to the latest version from the Proprietary GPU Drivers PPA broke Vulkan for some users.

After updating either to Nvidia graphics drivers version 410.78 or 415.18, some Ubuntu (but Linux Mint and other Ubuntu-based Linux distributions users are probably affected as well) users are reporting that Vulkan no longer works, breaking any game (for example any DXVK / Proton game) or application that was using it.

This Reddit thread mentions some possible fixes for Vulkan not working after updating Nvidia graphics drivers from the PPA:

A. Try to reinstall the Nvidia Drivers. You can easily do this by using Synaptic Package Manager (install it using: sudo apt install synaptic), by searching for Nvidia, selecting all installed Nvidia driver packages, then going clicking on Mark for Reinstallation from the Package menu, and finally clicking the Apply button.

B. See if the libnvidia-gl-DRIVERVERSION is installed (this package is called libnvidia-gl-410 for the Nvidia 410 drivers, and libnvidia-gl-415 for Nvidia 415 drivers), and install it if it's not already installed. You can see if this package is installed by running:

apt-cache policy libnvidia-gl-DRIVERVERSION

C. Another way of fixing (via Twitter) Vulkan not working after a recent Nvidia graphics drivers update from the Ubuntu PPA is modifying the contents of the /usr/share/vulkan/icd.d/nvidia_icd.json file. Check if this file contains something like this:

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.84"
    }
}

If the library_path value is libGL.so.1, replace it with libGLX_nvidia.so.0. A reboot may be required.

If the file doesn't exist or is empty, create it using these commands:

sudo mkdir -p /usr/share/vulkan/icd.d
sudo nano /usr/share/vulkan/icd.d/nvidia_icd.json

The nano command opens /usr/share/vulkan/icd.d/nvidia_icd.json using the Nano command line text editor. Paste the following in the nvidia_icd.json:

  • for Nvidia 410:
{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.82"
    }
}

  • for Nvidia 415:
{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.84"
    }
}

Save the file (use Ctrl + O, then Enter to save it, and finally Ctrl + X to exit Nano). A system reboot may be required.

You can check if this was fixed by installing vulkan-tools:

sudo apt install vulkan-tools

And then running vulkaninfo in a terminal:

vulkaninfo

If you get an error, Vulkan support is broken on your Ubuntu or Linux Mint desktop. Here's the error I get when the /usr/share/vulkan/icd.d/nvidia_icd.json file is empty:

$ vulkaninfo
==========
VULKANINFO
==========

Vulkan Instance Version: 1.1.82

vulkaninfo: /build/vulkan-tools-ZnxIl9/vulkan-tools-1.1.82.0+dfsg1/vulkaninfo/vulkaninfo.c:564: AppGetGlobalLayerExtensions: Assertion `!err' failed.
Aborted (core dumped)

And the error displayed when the /usr/share/vulkan/icd.d/nvidia_icd.json file uses libGL.so.1 instead of libGLX_nvidia.so.0:

$ vulkaninfo
==========
VULKANINFO
==========

Vulkan Instance Version: 1.1.82

ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Attempt to retrieve either 'vkGetInstanceProcAddr' or 'vk_icdGetInstanceProcAddr' from ICD libGL.so.1 failed.
Cannot create Vulkan instance.
/build/vulkan-tools-ZnxIl9/vulkan-tools-1.1.82.0+dfsg1/vulkaninfo/vulkaninfo.c:825: failed with VK_ERROR_INCOMPATIBLE_DRIVER