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

Reply via email to