Created attachment 586800 [details] hacky workaround ebuild for USE=libglvnd The new nvidia beta driver finally adds support for render offloading (needs four patches for xorg-server to work) but this relies on fuctional glvnd. http://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/primerenderoffload.html Attaching a hacky-whacky workaround ebuild and env file which only works with the old lib32/lib64 locations for people needing this and to point out the rising urgency for Gentoo to have a functional glvnd setup.
Created attachment 586802 [details] env file for files dir, needed by hacky ebuild Adds an LD_LIBRARY_PATH set to the current install location of the nvidia libs to avoid reworking the nvidia-drivers ebuild and changing file locations.
Please attach patch for ebuild, not full ebuild, and with "Signed-off-by".
Created attachment 587016 [details, diff] Patch against nvidia-drivers-435.17.ebuild Adding a clean solution patch changing file locations to standard, skipping the media-libs/libglvnd provided libraries and eselect-opengl calls in the USE="libglvnd" case.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=418d6d42276aa1865217dcba35b1a21ff86c2c51 commit 418d6d42276aa1865217dcba35b1a21ff86c2c51 Author: Jeroen Roovers <jer@gentoo.org> AuthorDate: 2019-09-02 06:12:54 +0000 Commit: Jeroen Roovers <jer@gentoo.org> CommitDate: 2019-09-02 06:14:02 +0000 x11-drivers/nvidia-drivers: Version 435.21 Package-Manager: Portage-2.3.75, Repoman-2.3.17 Bug: https://bugs.gentoo.org/692170 Signed-off-by: Jeroen Roovers <jer@gentoo.org> profiles/base/package.use.mask | 3 + x11-drivers/nvidia-drivers/Manifest | 3 + x11-drivers/nvidia-drivers/metadata.xml | 3 +- .../nvidia-drivers/nvidia-drivers-435.21.ebuild | 603 +++++++++++++++++++++ 4 files changed, 611 insertions(+), 1 deletion(-)
Tested nvidia-drivers/nvidia-drivers-435.21 with USE="libglvnd" and USE="-libglvnd", both cases work fine so closing this.
(In reply to Maik from comment #5) > Tested nvidia-drivers/nvidia-drivers-435.21 with USE="libglvnd" and > USE="-libglvnd", both cases work fine so closing this. Thank you for testing. I am surprised it works as is without the original env.d addition.
The env.d addition was just a quick-n-dirty hack to emulate eselect-opengl behaviour. This was replaced by changing the library path to standard: + if use libglvnd; then + local GL_ROOT="/usr/$(get_libdir)" + else + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" + fi
It would be nice to add libglvnd USE flag to xorg-server as it pulls app-eselect/eselect-opengl unconditionally.
For xorg-server, see bug #692168