Bug#864477: nvidia_icd.json does not refer to correct library when non-GLVND driver variant is installed
Alex Smith
asmith at feralinteractive.com
Mon Jun 12 08:40:08 UTC 2017
On 10 June 2017 at 16:36, Luca Boccassi <luca.boccassi at gmail.com> wrote:
>
> On Sat, 2017-06-10 at 14:19 +0200, Andreas Beckmann wrote:
> > On 2017-06-10 13:58, Luca Boccassi wrote:
> > > > This issue causes crashes on startup when the non-GLVND driver is
> > > > installed in our (Feral Interactive) games which support Vulkan,
> > > > specifically the Mad Max Vulkan beta branch and the just-released
> > > > Dawn
> >
> > I'm afraid, the vulkan stuff has not been widely tested, yet.
>
> I do try to give it a shot before uploading, but I only have Dota 2 on
> Steam. I have tested that one before uploading 375.66 and it was fine.
>
> > > > of War III, even when not launching the game with Vulkan enabled.
> >
> > Is it still checking whether vulkan were available (loading the
> > vulkan
> > loader library might be sufficient)? Otherwise I don't see how this
> > could be related ...
Yep, the problem is that we try to detect both GL and Vulkan support
at startup so both get loaded.
>
> >
> > > I'll try to propose this for the first point release though since
> > > it
> > > sounds pretty broken.
> >
> > Sounds like a plan :-)
> > And given the recent CVE frequency, we might need a newer upstream at
> > that time, too :-(
> >
> > I had a look at the nvidia-installer source and could not find
> > anything
> > that updates the json files. And since there is only one json variant
> > shipped, I'm curious how the modified one comes into existence.
> >
> > I haven't tried an installer-based installation in a chroot in a long
> > time ...
>
> I just did, and the file doesn't seem to be any different:
>
> # grep library /etc/vulkan/icd.d/nvidia_icd.json
> "library_path": "libGLX_nvidia.so.0",
> "library_path": "libGLX_nvidia.so.0",
>
> I used the non glvnd flags for the installer:
>
> # find / -name libOpenGL.so.0
> # find / -name libGLdispatch.so.0
> # find / -name libGLX.so.0
> # find / -name libOpenGL.so.0
> # find / -name libGL.so.1
>
>
> Alex, does this solution come from Nvidia's support? If you have tested
> that it works, we could modify it ourselves.
>
> Andreas, given we ship it in /usr/share, perhaps the easiest thing
> would be to modify in the maintainer scripts (via config-package-dev
> maybe) in the non-GLVND GLX package. What do you think?
Interesting... an NVIDIA engineer explicitly said to me that the
correct thing to do is use libGL.so.1 for non-GLVND and
libGLX_nvidia.so.0 for GLVND.
Seems like their installer is getting that wrong though - I've just
tested here too, if I install without GLVND from their installer I get
the wrong library path and a crash when I launch one of our affected
games.
I've pinged them about it again just to double check, I'll let you
know what they say.
Thanks,
Alex
>
> Kind regards,
> Luca Boccassi
More information about the pkg-nvidia-devel
mailing list