[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