Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 624064 - x11-drivers/nvidia-drivers-384.47 should install /etc/vulkan/icd.d/nvidia_icd.json
Summary: x11-drivers/nvidia-drivers-384.47 should install /etc/vulkan/icd.d/nvidia_icd...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal with 1 vote (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-06 23:02 UTC by Tomáš "tpruzina" Pružina (amd64 [ex]AT)
Modified: 2017-07-26 08:37 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
nvidia_icd.json (nvidia_icd.json,653 bytes, application/json)
2017-07-16 21:00 UTC, Tomáš "tpruzina" Pružina (amd64 [ex]AT)
Details
arch-like patch for ebuild (nvidia_icd.patch,456 bytes, patch)
2017-07-25 02:52 UTC, Tomáš "tpruzina" Pružina (amd64 [ex]AT)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-06 23:02:05 UTC
Having troubles with current ~amd64 package 384.47:

Initialisation fails with error code (VkResult == -7) which translates to ERROR_EXTENSION_NOT_PRESENT.

Reverting back to 381.22-r1 fixes the problem.
Comment 1 Daniel Augustin 2017-07-09 09:26:33 UTC
The new package doesnt install any vulkan files anymore.

hossie@powertux ~ $ equery f nvidia-drivers | grep -i vulkan
hossie@powertux ~ $

vulkaninfo clearly states

"VK_ERROR_INCOMPATIBLE_DRIVER"

From the release notes: http://www.nvidia.de/download/driverResults.aspx/120397/de

"Fixed a bug where nvidia-installer would install a wrong version of the Vulkan ICD configuration file when GLVND is disabled for the GLX client."

Maybe the files have moved or something...
Comment 2 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-16 21:00:30 UTC
Created attachment 485154 [details]
nvidia_icd.json
Comment 3 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-16 21:02:52 UTC
nvidia_icd.json is missing after unpack, only nvidia_icd.json.template does exist and is presumably used by nvidia installer:

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "__NV_VK_ICD__",
        "api_version" : "1.0.46"
    }
}

Comment 2 containes dirty workaround that "works for me".
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2017-07-22 05:39:50 UTC
Comment on attachment 485154 [details]
nvidia_icd.json

Is that "clean" enough to include in a revision?
Comment 5 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-24 00:21:09 UTC
(In reply to Jeroen Roovers from comment #4)
> Comment on attachment 485154 [details]
> nvidia_icd.json
> 
> Is that "clean" enough to include in a revision?

I would think so but I would feel much more comfortable if somebody with optimus laptop tried it first and confirmed it doesn't break anything. Nevertheless, even were it broken, it's probably net positive over current situation (vulkan doesn't work for anybody).
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2017-07-24 20:22:49 UTC
Please try with 384.59.
Comment 7 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 01:43:54 UTC
(In reply to Jeroen Roovers from comment #6)
> Please try with 384.59.

Tried with current ebuild (renamed .47 to .59), ICD is not present upon unpacking.

Arch does this:
https://aur.archlinux.org/cgit/aur.git/commit/?h=nvidia-full-beta-all&id=3f9841295b6651f54c702f4eaae65d5409f2b481

I suggest doing the same thing (+rename followed by doins) in our ebuild, should require no aditional effort unless nvidia decides to change the file again.
Comment 8 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 02:52:24 UTC
Created attachment 486790 [details, diff]
arch-like patch for ebuild

This works for me just fine.
Comment 9 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 03:11:06 UTC
Nevermind, took a while for git mirror to update portage tree, your 384.59 works just fine.
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2017-07-25 04:19:41 UTC
(In reply to Tomáš "tpruzina" Pružina (amd64 [ex]AT) from comment #9)
> Nevermind, took a while for git mirror to update portage tree, your 384.59
> works just fine.

I committed a single new ebuild with no revisions or later commits, so I don't see what you are talking about.

Assumed fixed.
Comment 11 Sven Hesse 2017-07-25 10:17:48 UTC
It's still broken for me with 384.59.

/etc/vulkan/icd.d/nvidia_icd.json is there now, but the contents is radically different from the version 381.22-r1 installs. It also doesn't reference libGLX_nvidia.so.0 anymore. No idea if that's correct now, though.

But in either case, with 384.59, Vulkan doesn't work. vulkanCapsViewer says no extensions are available, just like with 384.47. Printing out the extensions list myself with a small program only shows "VK_EXT_debug_report", i.e. no presentation, no nothing.
Comment 12 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 13:35:13 UTC
Regex doesn't apply properly.

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "__NV_VK_ICD__",
        "api_version" : "1.0.46"
    }
}
Comment 13 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 13:36:42 UTC
> sed -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json

missing inplace parameter "-i".
Comment 14 Jeroen Roovers (RETIRED) gentoo-dev 2017-07-25 15:40:07 UTC
(In reply to Tomáš "tpruzina" Pružina (amd64 [ex]AT) from comment #13)
> > sed -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json
> 
> missing inplace parameter "-i".

Right.
Comment 15 Jeroen Roovers (RETIRED) gentoo-dev 2017-07-25 15:41:54 UTC
Should be fixed in -r1.
Comment 16 Tomáš "tpruzina" Pružina (amd64 [ex]AT) 2017-07-25 18:23:29 UTC
Marking fixed, sorry for crappy testing.
Comment 17 Sven Hesse 2017-07-26 08:37:53 UTC
Yup, works now. Thanks! :)