Vulkan does not work on nvidia-384 due to incorrect nvidia_icd.json

Bug #1726809 reported by Alex Smith
42
This bug affects 9 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers-384 (Ubuntu)
Fix Released
High
Alberto Milone
Xenial
Fix Released
High
Alberto Milone
Zesty
Fix Released
High
Alberto Milone
Artful
Fix Released
High
Alberto Milone

Bug Description

SRU Request:

[Impact]
Vulkan support is broken because the packages ship a mix of GLVND and non GLVND GL and EGL libraries.

[Test Case]
1) Enable the -proposed repository, install the new nvidia-384 package, and reboot.

2) Install the utilities to check that the correct libraries can be found:

sudo apt install vulkan-utils mesa-utils-extra

3) Run and attach the output of the following commands (which should execute with no errors):

vulkaninfo

es2_info

[Regression Potential]
Low, as the libraries are the same that are installed by the upstream NVIDIA installer when the non-GLVND parameter is used.

________________________
The Vulkan nvidia_icd.json included with the nvidia-384 package has the wrong "library_path" set, meaning that no Vulkan apps can run. For example, running "vulkaninfo" gives the following:

ERROR: [loader] 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-8TJjRa/vulkan-1.0.61.1+dfsg1/demos/vulkaninfo.c:698: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Furthermore, none of our (Feral Interactive) Vulkan games are able to run when this driver package is installed.

The library path is set to "libGL.so.1", however since this package includes the GLVND version of the NVIDIA driver, that library is not a valid Vulkan ICD (it is the GLVND dispatch library). The correct ICD library path when using GLVND is "libGLX_nvidia.so.0" (this is what you get when you install the driver manually with NVIDIA's installer).

This is seen with nvidia-384_384.90-0ubuntu0.17.04.1_amd64.

The nvidia-384 package from the graphics-drivers PPA (version 384.90-0ubuntu0~gpu17.04.1) does not have this problem. However, as of today, the version from the main repository seems to be getting installed as an update in preference to the PPA version, which causes breakage.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nvidia-graphics-drivers-384 (Ubuntu):
status: New → Confirmed
Revision history for this message
liamdawe (liamdawe) wrote :

I can confirm this bug, it's happened to me when trying to use that driver, however the later driver series works fine.

Changed in nvidia-graphics-drivers-384 (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
importance: Undecided → High
status: Confirmed → In Progress
Revision history for this message
SunBear (sunbear-c22) wrote :

Thanks for posting the solution to the typo. Gratitude.... kudos Alex (and anyone else if you have contributed to this solution).

I found the file /usr/share/vulkan/icd.d/nvidia_icd.json and from it replaced the string "libGL.so.1" with "libGLX_nvidia.so.0" and Vulkan works again.

My system had upgraded to this driver at the start of this week. I had a new system installed 1 day ago and have the same issue. Hope the Maintainer can quickly correct the typo to avoid unnecessary user panic attacks.

Revision history for this message
Alberto Milone (albertomilone) wrote :

I have just uploaded a fix for 17.04 to the following PPA:
https://launchpad.net/~albertomilone/+archive/ubuntu/deleteme-nvidia

Can you test it, please?

Revision history for this message
Alex Smith (asmith-feral) wrote :

Looks like that's working here, thanks!

Revision history for this message
Alberto Milone (albertomilone) wrote : Re: [Bug 1726809] Re: Vulkan does not work on nvidia-384 due to incorrect nvidia_icd.json

Thanks for testing.

The fix seems to break Wayland. I need to investigate the problem before I
SRU the fix.

On 26 Oct 2017 12:11, "Alex Smith" <email address hidden> wrote:

Looks like that's working here, thanks!

--
You received this bug notification because you are a bug assignee.
https://bugs.launchpad.net/bugs/1726809

Title:
  Vulkan does not work on nvidia-384 due to incorrect nvidia_icd.json

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/+bug/
1726809/+subscriptions

Launchpad-Notification-Type: bug
Launchpad-Bug: distribution=ubuntu; sourcepackage=nvidia-graphics-drivers-384;
component=restricted; status=In Progress; importance=High; assignee=
<email address hidden>;
Launchpad-Bug-Information-Type: Public
Launchpad-Bug-Private: no
Launchpad-Bug-Security-Vulnerability: no
Launchpad-Bug-Commenters: albertomilone asmith-feral janitor liamdawe
sunbear-c22
Launchpad-Bug-Reporter: Alex Smith (asmith-feral)
Launchpad-Bug-Modifier: Alex Smith (asmith-feral)
Launchpad-Message-Rationale: Assignee
Launchpad-Message-For: albertomilone

tags: added: regression-update
description: updated
Changed in nvidia-graphics-drivers-384 (Ubuntu Xenial):
status: New → In Progress
Changed in nvidia-graphics-drivers-384 (Ubuntu Zesty):
status: New → In Progress
Changed in nvidia-graphics-drivers-384 (Ubuntu Artful):
status: New → In Progress
Changed in nvidia-graphics-drivers-384 (Ubuntu Xenial):
importance: Undecided → High
Changed in nvidia-graphics-drivers-384 (Ubuntu Zesty):
importance: Undecided → High
Changed in nvidia-graphics-drivers-384 (Ubuntu Artful):
importance: Undecided → High
Changed in nvidia-graphics-drivers-384 (Ubuntu Xenial):
assignee: nobody → Alberto Milone (albertomilone)
Changed in nvidia-graphics-drivers-384 (Ubuntu Zesty):
assignee: nobody → Alberto Milone (albertomilone)
Changed in nvidia-graphics-drivers-384 (Ubuntu Artful):
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Alex, or anyone else affected,

Accepted nvidia-graphics-drivers-384 into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/384.90-0ubuntu0.16.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nvidia-graphics-drivers-384 (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Changed in nvidia-graphics-drivers-384 (Ubuntu Zesty):
status: In Progress → Fix Committed
tags: added: verification-needed-zesty
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Alex, or anyone else affected,

Accepted nvidia-graphics-drivers-384 into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/384.90-0ubuntu0.17.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-zesty to verification-done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-zesty. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nvidia-graphics-drivers-384 (Ubuntu Artful):
status: In Progress → Fix Committed
tags: added: verification-needed-artful
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Alex, or anyone else affected,

Accepted nvidia-graphics-drivers-384 into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/384.90-0ubuntu3.17.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-384 - 384.90-0ubuntu4

---------------
nvidia-graphics-drivers-384 (384.90-0ubuntu4) bionic; urgency=medium

  * debian/rules,
    debian/templates/nvidia-graphics-drivers.links.in,
    debian/templates/nvidia-graphics-drivers.links32.in:
    - Ship the correct (non GLVND) libGL and libEGL libraries (LP: #1726809).

 -- Alberto Milone <email address hidden> Mon, 30 Oct 2017 16:01:58 +0100

Changed in nvidia-graphics-drivers-384 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Alex Smith (asmith-feral) wrote :

I've confirmed that the nvidia-384 package in zesty-proposed is working as expected (both GL and Vulkan apps work correctly).

Thanks!

Revision history for this message
Carlquist (victorcarlquist) wrote :

Hi!

I updated my drive to version 384.90-0ubuntu3.17.10.1. but the error continues to pop up.

ERROR: [loader] 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-L06RNr/vulkan-1.0.61.1+dfsg1/demos/vulkaninfo.c:704: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Thanks!

Revision history for this message
Carlquist (victorcarlquist) wrote :

I reinstalled the mesa-vulkan-drivers, now it's working!
Thank you!

tags: added: verification-done-artful verification-done-zesty
removed: verification-needed-artful verification-needed-zesty
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-384 - 384.90-0ubuntu3.17.10.1

---------------
nvidia-graphics-drivers-384 (384.90-0ubuntu3.17.10.1) artful-proposed; urgency=medium

  * debian/rules,
    debian/templates/nvidia-graphics-drivers.links.in,
    debian/templates/nvidia-graphics-drivers.links32.in:
    - Ship the correct (non GLVND) libGL and libEGL libraries (LP: #1726809).

 -- Alberto Milone <email address hidden> Mon, 30 Oct 2017 16:01:58 +0100

Changed in nvidia-graphics-drivers-384 (Ubuntu Artful):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for nvidia-graphics-drivers-384 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-384 - 384.90-0ubuntu0.17.04.2

---------------
nvidia-graphics-drivers-384 (384.90-0ubuntu0.17.04.2) zesty-proposed; urgency=medium

  * debian/rules,
    debian/templates/nvidia-graphics-drivers.links.in,
    debian/templates/nvidia-graphics-drivers.links32.in:
    - Ship the correct (non GLVND) libGL and libEGL libraries (LP: #1726809).

 -- Alberto Milone <email address hidden> Mon, 30 Oct 2017 17:32:58 +0100

Changed in nvidia-graphics-drivers-384 (Ubuntu Zesty):
status: Fix Committed → Fix Released
Revision history for this message
Alberto Milone (albertomilone) wrote :

I can confirm that the fix works in xenial too.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-384 - 384.90-0ubuntu0.16.04.2

---------------
nvidia-graphics-drivers-384 (384.90-0ubuntu0.16.04.2) xenial-proposed; urgency=medium

  * debian/rules,
    debian/templates/nvidia-graphics-drivers.links.in,
    debian/templates/nvidia-graphics-drivers.links32.in:
    - Ship the correct (non GLVND) libGL and libEGL libraries (LP: #1726809).

 -- Alberto Milone <email address hidden> Mon, 30 Oct 2017 17:49:28 +0100

Changed in nvidia-graphics-drivers-384 (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
anatoly techtonik (techtonik) wrote :

This needs to be ported to nvidia-387, which still has this bug. The problem is to locate where to report the isssue.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.