Not a bug, but an ebuild enhancement request: Newer nvidia drivers have their core GL libraries named lib*_nvidia*.so*, the old libGL.so file is just the new glvnd wrapper (with USE=-compat). This makes it possible to have all of the main nvidia libraries in /usr/<libdir>, and just keep the rest in /usr/<libdir/opengl/nvidia/lib, which can then just be omitted when a libglvnd ebuild is introduced (and mesa has been adapted as well). This is also important for Vulkan support, since the main entrypoint is located in libGLX_nvidia.so, which ld might not find when eselect opengl somehow didn't add the libpath. So I'd like to propose this patch, which achieves this, and doesn't break anything, at least on my test systems: --- nvidia-drivers-364.12-r1.ebuild~ 2016-03-25 04:25:26.000000000 +0100 +++ nvidia-drivers-364.12-r1.ebuild 2016-03-30 19:58:55.407838848 +0200 @@ -421,14 +421,14 @@ src_install-libs() { if use X; then NV_GLX_LIBRARIES=( "libEGL.so.1 ${GL_ROOT}" - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libEGL_nvidia.so.${NV_SOVER}" "libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}" "libGLESv1_CM.so.1 ${GL_ROOT}" - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv1_CM_nvidia.so.${NV_SOVER}" "libGLESv2.so.2 ${GL_ROOT}" - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv2_nvidia.so.${NV_SOVER}" "libGLX.so.0 ${GL_ROOT}" - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLX_nvidia.so.${NV_SOVER}" "libGLdispatch.so.0 ${GL_ROOT}" "libOpenCL.so.1.0.0 ${CL_ROOT}" "libOpenGL.so.0 ${GL_ROOT}" Thanks.
This is fixed in latest nvidia-drivers (as of 02.2020, 440.xx series).