Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 578050 - x11-drivers/nvidia-drivers: add support for libglvnd
Summary: x11-drivers/nvidia-drivers: add support for libglvnd
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-23 07:56 UTC by Wolfram Schlich (RETIRED)
Modified: 2016-03-24 17:27 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfram Schlich (RETIRED) gentoo-dev 2016-03-23 07:56:22 UTC
x11-drivers/nvidia-drivers should support libglvnd as an option:

https://devtalk.nvidia.com/default/topic/925607/unix-graphics-announcements-and-news/linux-solaris-and-freebsd-driver-364-12-beta-/
--8<--
Changed the default OpenGL installation type to use the GLVND GLX client libraries rather than the legacy non-GLVND libraries.
--8<--

https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/
--8<--
Next, OpenGL Vendor-Neutral Dispatch (GLVND) is important for two major reasons:

(1) It redefines the Linux OpenGL ABI in such a way that multiple OpenGL implementations can cleanly coexist on the file system: over time, this should put an end to the age-old Linux libGL.so collision problems.

(2) It cleanly defines what symbols should be exported by each library, in order to use EGL with full OpenGL, rather than just EGL + OpenGL ES. Using EGL with full OpenGL on Linux isn't new, but the GLVND division of libOpenGL.so for OpenGL symbols, libGLX.so for GLX symbols, and libEGL.so for EGL symbols is nice. The sample code referenced below links against libEGL.so and libOpenGL.so.
--8<--

https://devtalk.nvidia.com/default/topic/915640/unix-graphics-announcements-and-news/multiple-glx-client-libraries-in-the-nvidia-linux-driver-installer-package/
--8<--
Selecting GLVND or non-GLVND at installation time

In order to provide better compatibility with existing applications, the NVIDIA Linux driver installer package will be providing the option to install either a GLVND-based OpenGL driver stack, or a legacy, non-GLVND based stack, beginning with the upcoming 361.28 driver release. The default will be to install a non-GLVND OpenGL driver for the lifetime of the 361.xx series.

A new "--glvnd-glx-client" command line option to nvidia-installer in the NVIDIA Linux .run installer package may be used to override the default installation type, and install a GLVND-based driver. In future releases where GLVND will be the default, "--no-glvnd-glx-client" may be used to force the installation of a non-GLVND-based driver.
--8<--
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2016-03-24 12:44:43 UTC
Do you find that USE=compat doesn't already cover this?
Comment 2 Manuel Lauss 2016-03-24 13:04:16 UTC
(In reply to Jeroen Roovers from comment #1)
> Do you find that USE=compat doesn't already cover this?

It does.

I'd like to propose to move all of the lib*_nvidia* libraries (not just vdpau) to /usr/lib, and leave the rest (which are essentially the libglvnd libraries) at /usr/lib/opengl/nvidia. Maybe they can be ignored in the future when a libglvnd ebuild is available as well (and nvidia stops packaging them)

Also, the Vulkan entrypoint lives in libGLX_nvidia.so, which might not be found
by the linker when nvidia isn't the active eselect opengl profile.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2016-03-24 17:27:19 UTC
OK, USE=compat does it, then. For any other issues, please do file separate bug reports.