My understanding is that libEGL.so.1 is GLVND-based, where libEGL.375.39 is
non-GLVND. I think both of them are at some level wrappers around
libEGL_nvidia.so, which is much larger than either of the libEGL.so and I guess
contains the meat of Nvidia's EGL implementation.
The GLVND one looks up the EGL implementations present by inspecting the files
in /usr/share/glvnd/egl_vendor.d/. A similar mechanism declares Vulkan
implementations with JSON files in /usr/share/vulkan/icd.d/, and, sure enough,
the nvidia-375 package places nvidia_icd.json in /usr/share/vulkan/icd.d/.
However, nvidia-375 doesn't put anything in /usr/share/glvnd/egl_vendor.d/, so
libEGL.so.1 doesn't find out about libEGL_nvidia.so and can't forward to it.
If I create /usr/share/glvnd/egl_vendor.d/ and copy in 10_nvidia.json from
Nvidia's runfile installer, my test case passes.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1674677
Title:
eglGetDisplay(EGL_DEFAULT_DISPLAY) returns EGL_NO_DISPLAY
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-367/+bug/1674677/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs