[elrepo-devel] RHEL 7.6 and libglvnd

Phil Perry phil at elrepo.org
Sun Nov 4 09:50:43 EST 2018


On 03/11/18 12:17, Phil Perry wrote:
> On 02/11/18 18:46, Michael Lampe via elrepo-devel wrote:
>> Now that EL7 has libglvnd and a libglvnd-enabled mesa, nvidia-x11-drv 
>> packaging could also be changed to better integrate the nvidia stuff 
>> into the system. Are there any plans for doing this?
>>
>> -Michael
> 
> Hi Michael,
> 
> Yes, I noted libglvnd is now in rhel7.6 so now would be an ideal time to 
> look at it. We could have packages ready to roll out once CentOS/SL 
> catch up with their el7.6 releases.
> 
> So what needs to happen? Presumably we can drop libs from our nvidia 
> package that are now provided by libglvnd, or are there any benefits to 
> using the nvidia driver versions over those provided in the distro 
> libglvnd.
> 

OK, been working on this yesterday, and made the following commit:

https://github.com/elrepo/packages/commit/dccf6d48b0e4014e756b6fbe6ce0f99162c189ea

which removes components from the nvidia-x11-drv package that are 
shipped in libglvnd* and mesa-lib* packages.

> Historically we have always installed libs to /usr/lib{64}/nvidia to 
> avoid file conflicts, but presumably now we could also move all those 
> nvidia libs into /usr/lib{64} and do away with 
> /etc/ld.so.conf.d/nvidia.conf which would make things much cleaner.
> 

As a consequence, there are no more filename conflicts so all the nvidia 
libs are now installed to %{_libdir} and we don't need a custom ld.so.conf

> Any other changes you'd like to see made at the same time?
> 

I've also added the Wayland libs as Wayland support for GNOME has been 
included as a tech preview since rhel7.5. Rumour has it that a GNOME 
Wayland session will be the default in RHEL8.

So I've built and tested the above, and all seems to be working as expected.

Still to do - need to fix the 32-bit libs, as the dependencies on 
libglvnd* and mesa-lib* will need to be arch specific. Probably the 
cleanest way to do this is to build a proper i686 package, rather than 
the somewhat ugly practice we have been using of shipping 32-bit libs in 
a x86_64 rpm package:

nvidia-x11-drv-32bit-410.73-1.el7.elrepo.x86_64.rpm

So, how do we want to do that? We could just do 2 packages:

nvidia-x11-drv-410.73-1.el7.elrepo.x86_64.rpm
nvidia-x11-drv-410.73-1.el7.elrepo.i686.rpm

where the i686.rpm just contains the multiarch 32-bit libs and would 
obsolete nvidia-x11-drv-32bit-410.73-1.el7.elrepo.x86_64.rpm

Alternatively we could split out the libs into separate sub-packages on 
both arch's:

nvidia-x11-drv-410.73-1.el7.elrepo.x86_64.rpm
nvidia-x11-drv-libs-410.73-1.el7.elrepo.x86_64.rpm
nvidia-x11-drv-libs-410.73-1.el7.elrepo.i686.rpm

such that the content of the nvidia-x11-drv-libs packages match (other 
than the arch) and everything else is in nvidia-x11-drv.

Thoughts?



More information about the elrepo-devel mailing list