Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 711942 - x11-drivers/nvidia-drivers-390.132-r1 - add support for libglvnd
Summary: x11-drivers/nvidia-drivers-390.132-r1 - add support for libglvnd
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 3 votes (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-09 10:34 UTC by Nikolay Kichukov
Modified: 2020-03-19 22:26 UTC (History)
10 users (show)

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


Attachments
A proposal of ebuild (nvidia-drivers-390.132-r2.ebuild,15.34 KB, text/plain)
2020-03-14 16:30 UTC, jorgicio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay Kichukov 2020-03-09 10:34:21 UTC
Recent upgrades of mesa and xorg-server include defaulting to +libglvnd, which breaks upgrades for those who are stuck to nvidia-drivers v390 due to having obsolete video cards.

Can we have libglvnd enabled for nvidia-drivers-390.132-r1.ebuild? It was already enabled for:
nvidia-drivers-440.59.ebuild
nvidia-drivers-435.21-r1.ebuild

According to nvidia devtalk:
https://devtalk.nvidia.com/default/topic/915640/multiple-glx-client-libraries-in-the-nvidia-linux-driver-installer-package/

libglvnd is supported in 361.xx and onwards.
Thanks!

Reproducible: Always

Steps to Reproduce:
1. Upgrade a system that has to use nvidia-drivers 390.xx series of the driver
2. Notice a block:
[blocks B      ] app-eselect/eselect-opengl ("app-eselect/eselect-opengl" is blocking x11-base/xorg-server-1.20.7, media-libs/mesa-19.3.4-r1)
[blocks B      ] x11-drivers/nvidia-drivers[-libglvnd(-)] ("x11-drivers/nvidia-drivers[-libglvnd(-)]" is hard blocking x11-base/xorg-server-1.20.7)

(xorg-server and mesa enabled libglvnd by default)
Comment 1 jorgicio 2020-03-13 15:00:37 UTC
(In reply to Nikolay Kichukov from comment #0)
> Recent upgrades of mesa and xorg-server include defaulting to +libglvnd,
> which breaks upgrades for those who are stuck to nvidia-drivers v390 due to
> having obsolete video cards.
> 
> Can we have libglvnd enabled for nvidia-drivers-390.132-r1.ebuild? It was
> already enabled for:
> nvidia-drivers-440.59.ebuild
> nvidia-drivers-435.21-r1.ebuild
> 
> According to nvidia devtalk:
> https://devtalk.nvidia.com/default/topic/915640/multiple-glx-client-
> libraries-in-the-nvidia-linux-driver-installer-package/
> 
> libglvnd is supported in 361.xx and onwards.
> Thanks!
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. Upgrade a system that has to use nvidia-drivers 390.xx series of the
> driver
> 2. Notice a block:
> [blocks B      ] app-eselect/eselect-opengl ("app-eselect/eselect-opengl" is
> blocking x11-base/xorg-server-1.20.7, media-libs/mesa-19.3.4-r1)
> [blocks B      ] x11-drivers/nvidia-drivers[-libglvnd(-)]
> ("x11-drivers/nvidia-drivers[-libglvnd(-)]" is hard blocking
> x11-base/xorg-server-1.20.7)
> 
> (xorg-server and mesa enabled libglvnd by default)

I confirm I'm having the same issue.

In the meanwhile, you could add the USE="-libglvnd" in your make.conf, at least until this issue is resolved.
Comment 2 jorgicio 2020-03-14 16:30:45 UTC
Created attachment 619032 [details]
A proposal of ebuild

I created this modified ebuild and tested it using a custom overlay. It provides the libglvnd support. Tried here and working.

If you're using Nvidia Optimus with Bumblebee and Primus, you may do some tweak to make it work.
Comment 3 Ionen Wolkens 2020-03-15 03:22:33 UTC
For 340 (which can't support this), maybe some warning could be added instead? Then again 340 is no longer supported by nvidia and will likely end up too broken to be usable soon'ish (390 still has 2 years of support).

I would appreciate if something is done about these soon (430.64 too), users are doing multiple support requests everyday because they do not understand what is causing the blocker.
Comment 4 Larry the Git Cow gentoo-dev 2020-03-15 20:35:35 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e83944ea39f816e1aeb5fee5f3414b379e9594f4

commit e83944ea39f816e1aeb5fee5f3414b379e9594f4
Author:     Jeroen Roovers <jer@gentoo.org>
AuthorDate: 2020-03-15 20:33:33 +0000
Commit:     Jeroen Roovers <jer@gentoo.org>
CommitDate: 2020-03-15 20:35:29 +0000

    x11-drivers/nvidia-drivers: Update 390 branch
    
    - Add USE=libglvnd
    - Raise kernel version compatibility
    
    Package-Manager: Portage-2.3.94, Repoman-2.3.21
    Closes: https://bugs.gentoo.org/show_bug.cgi?id=709930
    Closes: https://bugs.gentoo.org/show_bug.cgi?id=711942
    Signed-off-by: Jeroen Roovers <jer@gentoo.org>

 .../nvidia-drivers-390.132-r2.ebuild               | 583 +++++++++++++++++++++
 1 file changed, 583 insertions(+)
Comment 5 Nathan Zachary gentoo-dev 2020-03-19 19:40:23 UTC
Though the ebuild was modified to add support for libglvnd, was it actually tested using an nvidia card and the 390.132 driver?  The driver builds properly, but the nvidia GLX module doesn't initialise, so GLX falls back to llvmpipe:

# glxinfo | grep -i render
direct rendering: Yes
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 9.0.1, 128 bits)
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_MESA_ycbcr_texture, GL_NV_conditional_render, GL_NV_depth_clamp,
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance,
    GL_EXT_polygon_offset_clamp, GL_EXT_read_format_bgra, GL_EXT_render_snorm,
    GL_MESA_shader_integer_functions, GL_NV_conditional_render,
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 

# glxinfo | grep -i opengl
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 9.0.1, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 20.0.1
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 20.0.1
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.0.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
# glxinfo | grep -i nvidia
# 

When starting X, I see the following error in the log:

[ 91296.570] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[ 91296.570] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[ 91296.570] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[ 91296.570] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[ 91296.570] (EE) NVIDIA(0):     reinstalling the NVIDIA driver. 

If there needs to be a separate bug for this problem, please let me know and I will file one accordingly.

Cheers,
Nathan Zachary
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2020-03-19 21:13:39 UTC
(In reply to Nathan Zachary from comment #5)
> Though the ebuild was modified to add support for libglvnd, was it actually
> tested using an nvidia card and the 390.132 driver?

Of course it was.

> If there needs to be a separate bug for this problem, please let me know and
> I will file one accordingly.

Then why did you reopen this one?
Comment 7 Nathan Zachary gentoo-dev 2020-03-19 22:26:35 UTC
@Jeroen Roovers,

I apologise for reopening the bug.  I didn't know your preferred workflow.  Some developers prefer that bugs be reopened in order to audit any related changes, and some prefer new bugs.  I have opened bug 713546 for further tracking.  Thank you for taking the time to respond.