diff mbox series

[v1,1/1] package/nvidia-driver: bump verstion to 515.48.07

Message ID 20220626134142.9304-1-raphael.pavlidis@gmail.com
State Rejected
Headers show
Series [v1,1/1] package/nvidia-driver: bump verstion to 515.48.07 | expand

Commit Message

Raphael Pavlidis June 26, 2022, 1:41 p.m. UTC
Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
---
 package/nvidia-driver/nvidia-driver.hash |  6 +++---
 package/nvidia-driver/nvidia-driver.mk   | 24 +++++++-----------------
 2 files changed, 10 insertions(+), 20 deletions(-)

Comments

Vincent Fazio June 27, 2022, 12:36 p.m. UTC | #1
Raphael

> -----Original Message-----
> From: buildroot <buildroot-bounces@buildroot.org> On Behalf Of Raphael
> Pavlidis via buildroot
> Sent: Sunday, June 26, 2022 8:42 AM
> To: buildroot@buildroot.org
> Cc: Yann E . MORIN <yann.morin.1998@free.fr>; Raphael Pavlidis
> <raphael.pavlidis@gmail.com>
> Subject: [External] - [Buildroot] [PATCH v1 1/1] package/nvidia-driver: bump
> verstion to 515.48.07
> 
> Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
> ---
>  package/nvidia-driver/nvidia-driver.hash |  6 +++---
>  package/nvidia-driver/nvidia-driver.mk   | 24 +++++++-----------------
>  2 files changed, 10 insertions(+), 20 deletions(-)
> 
> diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-
> driver/nvidia-driver.hash
> index 7f2248d0f9..06cf292c58 100644
> --- a/package/nvidia-driver/nvidia-driver.hash
> +++ b/package/nvidia-driver/nvidia-driver.hash
> @@ -1,4 +1,4 @@
>  # Locally computed
> -sha256
> 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275
> NVIDIA-Linux-x86-390.132.run
> -sha256
> b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d
> NVIDIA-Linux-x86_64-390.132-no-compat32.run
> -sha256
> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
> LICENSE
> +sha256
> e28764cc5b13c32e76370513daeafc05c289b77ee0511552450f1a00e31ae1e3
> NVIDIA-Linux-x86_64-515.48.07.run
> +sha256
> 9ec1515cb214261ae4081a6fc9489800b5fef41c6a8d669e84e4ab1de7f3dc14
> NVIDIA-Linux-x86_64-515.48.07-no-compat32.run
> +sha256
> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
> LICENSE
> diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-
> driver/nvidia-driver.mk
> index 54c2aa46d8..d12fa543bd 100644
> --- a/package/nvidia-driver/nvidia-driver.mk
> +++ b/package/nvidia-driver/nvidia-driver.mk
> @@ -4,7 +4,7 @@
>  #
> 
> ##########################################################
> ######################
> 
> -NVIDIA_DRIVER_VERSION = 390.132
> +NVIDIA_DRIVER_VERSION = 515.48.07

I don't think the discussion has been had on the ML, but I know we've discussed in the IRC channel that there may be a need to duplicate the nvidia-driver package and differentiate between the latest production branch and the legacy branch.

It's my understanding the new production branch does not support older GPUs which have been historically used in embedded systems [1]

>  NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64)
>  NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-
> x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION)
>  NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-
> $(NVIDIA_DRIVER_VERSION)$(if $(BR2_x86_64),-no-compat32).run
> @@ -42,7 +42,7 @@ NVIDIA_DRIVER_PROVIDES += libgl libegl libgles
>  # So we only install the legacy library for now.
>  NVIDIA_DRIVER_LIBS_GL = \
>         libGLX.so.0 \
> -       libGL.so.$(NVIDIA_DRIVER_VERSION) \
> +       libGL.so.1.7.0 \
>         libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION)
> 
>  NVIDIA_DRIVER_LIBS_EGL = \
> @@ -57,11 +57,13 @@ NVIDIA_DRIVER_LIBS_GLES = \
>         libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION)
> 
>  NVIDIA_DRIVER_LIBS_MISC = \
> +       libnvidia-allocator.so.$(NVIDIA_DRIVER_VERSION) \
> +       libnvidia-cfg.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \
> -       libnvidia-egl-wayland.so.1.0.2 \
> +       libnvidia-egl-wayland.so.1.1.9 \
>         libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \
> -       tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
> +       libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
>         libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION):vdpau/ \
>         libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION)
> 
> @@ -71,30 +73,19 @@ NVIDIA_DRIVER_LIBS += \
>         $(NVIDIA_DRIVER_LIBS_GLES) \
>         $(NVIDIA_DRIVER_LIBS_MISC)
> 
> -# Install the gl.pc file
> -define NVIDIA_DRIVER_INSTALL_GL_DEV
> -       $(INSTALL) -D -m 0644 $(@D)/libGL.la $(STAGING_DIR)/usr/lib/libGL.la
> -       $(SED) 's:__GENERATED_BY__:Buildroot:'
> $(STAGING_DIR)/usr/lib/libGL.la
> -       $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
> -       $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
> -       $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc
> $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
> -       $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc
> $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
> -endef
> -
>  # Those libraries are 'private' libraries requiring an agreement with
>  # NVidia to develop code for those libs. There seems to be no restriction
>  # on using those libraries (e.g. if the user has such an agreement, or
>  # wants to run a third-party program developed under such an agreement).
>  ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_PRIVATE_LIBS),y)
>  NVIDIA_DRIVER_LIBS += \
> -       libnvidia-ifr.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-fbc.so.$(NVIDIA_DRIVER_VERSION)
>  endif
> 
>  # We refer to the destination path; the origin file has no directory
> component
>  NVIDIA_DRIVER_LIBS += \
>         nvidia_drv.so:xorg/modules/drivers/ \
> -       libglx.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/
> +
> libglxserver_nvidia.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensio
> ns/
> 
>  # libglx needs a symlink according to the driver README. It has no SONAME
>  define NVIDIA_DRIVER_SYMLINK_LIBGLX
> @@ -109,7 +100,6 @@ NVIDIA_DRIVER_LIBS += \
>         libcuda.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-compiler.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvcuvid.so.$(NVIDIA_DRIVER_VERSION) \
> -       libnvidia-fatbinaryloader.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-ptxjitcompiler.so.$(NVIDIA_DRIVER_VERSION) \
>         libnvidia-encode.so.$(NVIDIA_DRIVER_VERSION)
>  ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS),y)
> --
> 2.35.1

The installer framework for both drivers are similar and I have a branch languishing somewhere that abstracts this and replicates the C implementation in Python that works for the BR package(s). I need to find the time to update it and submit it.

> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
> CAUTION: This email originated from outside of the organization. Do not click
> links or open attachments unless you recognize the sender and know the
> content is safe.

1: https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/
Raphael Pavlidis June 27, 2022, 2:48 p.m. UTC | #2
Hi Vincent,
thanks for the info. I did not know that the newest Nvidia driver does 
not support legacy GPUs. Alternatively, I could create a new package 
with the name nvidia-driver-latest.

What do you mean by: "replicates the C implementation in Python that 
works for the BR package(s)"

On 27.06.22 14:36, Vincent Fazio wrote:
> Raphael
> 
>> -----Original Message-----
>> From: buildroot <buildroot-bounces@buildroot.org> On Behalf Of Raphael
>> Pavlidis via buildroot
>> Sent: Sunday, June 26, 2022 8:42 AM
>> To: buildroot@buildroot.org
>> Cc: Yann E . MORIN <yann.morin.1998@free.fr>; Raphael Pavlidis
>> <raphael.pavlidis@gmail.com>
>> Subject: [External] - [Buildroot] [PATCH v1 1/1] package/nvidia-driver: bump
>> verstion to 515.48.07
>>
>> Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
>> ---
>>   package/nvidia-driver/nvidia-driver.hash |  6 +++---
>>   package/nvidia-driver/nvidia-driver.mk   | 24 +++++++-----------------
>>   2 files changed, 10 insertions(+), 20 deletions(-)
>>
>> diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-
>> driver/nvidia-driver.hash
>> index 7f2248d0f9..06cf292c58 100644
>> --- a/package/nvidia-driver/nvidia-driver.hash
>> +++ b/package/nvidia-driver/nvidia-driver.hash
>> @@ -1,4 +1,4 @@
>>   # Locally computed
>> -sha256
>> 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275
>> NVIDIA-Linux-x86-390.132.run
>> -sha256
>> b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d
>> NVIDIA-Linux-x86_64-390.132-no-compat32.run
>> -sha256
>> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
>> LICENSE
>> +sha256
>> e28764cc5b13c32e76370513daeafc05c289b77ee0511552450f1a00e31ae1e3
>> NVIDIA-Linux-x86_64-515.48.07.run
>> +sha256
>> 9ec1515cb214261ae4081a6fc9489800b5fef41c6a8d669e84e4ab1de7f3dc14
>> NVIDIA-Linux-x86_64-515.48.07-no-compat32.run
>> +sha256
>> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
>> LICENSE
>> diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-
>> driver/nvidia-driver.mk
>> index 54c2aa46d8..d12fa543bd 100644
>> --- a/package/nvidia-driver/nvidia-driver.mk
>> +++ b/package/nvidia-driver/nvidia-driver.mk
>> @@ -4,7 +4,7 @@
>>   #
>>
>> ##########################################################
>> ######################
>>
>> -NVIDIA_DRIVER_VERSION = 390.132
>> +NVIDIA_DRIVER_VERSION = 515.48.07
> 
> I don't think the discussion has been had on the ML, but I know we've discussed in the IRC channel that there may be a need to duplicate the nvidia-driver package and differentiate between the latest production branch and the legacy branch.
> 
> It's my understanding the new production branch does not support older GPUs which have been historically used in embedded systems [1]
> 
>>   NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64)
>>   NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-
>> x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION)
>>   NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-
>> $(NVIDIA_DRIVER_VERSION)$(if $(BR2_x86_64),-no-compat32).run
>> @@ -42,7 +42,7 @@ NVIDIA_DRIVER_PROVIDES += libgl libegl libgles
>>   # So we only install the legacy library for now.
>>   NVIDIA_DRIVER_LIBS_GL = \
>>          libGLX.so.0 \
>> -       libGL.so.$(NVIDIA_DRIVER_VERSION) \
>> +       libGL.so.1.7.0 \
>>          libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION)
>>
>>   NVIDIA_DRIVER_LIBS_EGL = \
>> @@ -57,11 +57,13 @@ NVIDIA_DRIVER_LIBS_GLES = \
>>          libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION)
>>
>>   NVIDIA_DRIVER_LIBS_MISC = \
>> +       libnvidia-allocator.so.$(NVIDIA_DRIVER_VERSION) \
>> +       libnvidia-cfg.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \
>> -       libnvidia-egl-wayland.so.1.0.2 \
>> +       libnvidia-egl-wayland.so.1.1.9 \
>>          libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \
>> -       tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
>> +       libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
>>          libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION):vdpau/ \
>>          libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION)
>>
>> @@ -71,30 +73,19 @@ NVIDIA_DRIVER_LIBS += \
>>          $(NVIDIA_DRIVER_LIBS_GLES) \
>>          $(NVIDIA_DRIVER_LIBS_MISC)
>>
>> -# Install the gl.pc file
>> -define NVIDIA_DRIVER_INSTALL_GL_DEV
>> -       $(INSTALL) -D -m 0644 $(@D)/libGL.la $(STAGING_DIR)/usr/lib/libGL.la
>> -       $(SED) 's:__GENERATED_BY__:Buildroot:'
>> $(STAGING_DIR)/usr/lib/libGL.la
>> -       $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
>> -       $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
>> -       $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc
>> $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
>> -       $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc
>> $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
>> -endef
>> -
>>   # Those libraries are 'private' libraries requiring an agreement with
>>   # NVidia to develop code for those libs. There seems to be no restriction
>>   # on using those libraries (e.g. if the user has such an agreement, or
>>   # wants to run a third-party program developed under such an agreement).
>>   ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_PRIVATE_LIBS),y)
>>   NVIDIA_DRIVER_LIBS += \
>> -       libnvidia-ifr.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-fbc.so.$(NVIDIA_DRIVER_VERSION)
>>   endif
>>
>>   # We refer to the destination path; the origin file has no directory
>> component
>>   NVIDIA_DRIVER_LIBS += \
>>          nvidia_drv.so:xorg/modules/drivers/ \
>> -       libglx.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/
>> +
>> libglxserver_nvidia.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensio
>> ns/
>>
>>   # libglx needs a symlink according to the driver README. It has no SONAME
>>   define NVIDIA_DRIVER_SYMLINK_LIBGLX
>> @@ -109,7 +100,6 @@ NVIDIA_DRIVER_LIBS += \
>>          libcuda.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-compiler.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvcuvid.so.$(NVIDIA_DRIVER_VERSION) \
>> -       libnvidia-fatbinaryloader.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-ptxjitcompiler.so.$(NVIDIA_DRIVER_VERSION) \
>>          libnvidia-encode.so.$(NVIDIA_DRIVER_VERSION)
>>   ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS),y)
>> --
>> 2.35.1
> 
> The installer framework for both drivers are similar and I have a branch languishing somewhere that abstracts this and replicates the C implementation in Python that works for the BR package(s). I need to find the time to update it and submit it.
> 
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
>> CAUTION: This email originated from outside of the organization. Do not click
>> links or open attachments unless you recognize the sender and know the
>> content is safe.
> 
> 1: https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/
Vincent Fazio June 27, 2022, 3:23 p.m. UTC | #3
Raphael

> -----Original Message-----
> From: Raphael Pavlidis <raphael.pavlidis@googlemail.com>
> Sent: Monday, June 27, 2022 9:48 AM
> To: Vincent Fazio <vfazio@xes-inc.com>
> Cc: Yann E . MORIN <yann.morin.1998@free.fr>; Raphael Pavlidis
> <raphael.pavlidis@gmail.com>; buildroot@buildroot.org
> Subject: Re: [External] - [Buildroot] [PATCH v1 1/1] package/nvidia-driver:
> bump verstion to 515.48.07
> 
> Hi Vincent,
> thanks for the info. I did not know that the newest Nvidia driver does
> not support legacy GPUs. Alternatively, I could create a new package
> with the name nvidia-driver-latest.

We may want to name it after the driver series? "Latest" may change and drop support for GPUs previously supported, which could break BR configurations tied to "nvidia-driver-latest". There may be a better alternative such as having a menu where multiple options are available like we do with, say, GCC, or other similar packages where multiple versions are available. I haven't really taken the time to think this part out.

> 
> What do you mean by: "replicates the C implementation in Python that
> works for the BR package(s)"

The NVIDIA installer is a small C binary that parses a manifest file to figure out how to deploy the binaries contained in the driver package. Unfortunately it's compiled for the target architecture and it has a few hard-coded assumptions in it that don’t work for BR based deployments which is why nvidia-driver currently uses the .mk to copy the appropriate files out. I wrote an implementation in Python that could be used by the current nvidia-driver and any subsequent package that uses the same manifest logic. This obviously requires a host-python but means the deployment logic for the binaries doesn't need to be hand rolled for each nvidia-driver-<package>.mk file as they can use a shared installer backend for all versions we decide to add a support for. Unfortunately I haven't looked at it in nearly 2 years so it will take some time to get it refreshed and updated.

> 
> On 27.06.22 14:36, Vincent Fazio wrote:
> > Raphael
> >
> >> -----Original Message-----
> >> From: buildroot <buildroot-bounces@buildroot.org> On Behalf Of
> Raphael
> >> Pavlidis via buildroot
> >> Sent: Sunday, June 26, 2022 8:42 AM
> >> To: buildroot@buildroot.org
> >> Cc: Yann E . MORIN <yann.morin.1998@free.fr>; Raphael Pavlidis
> >> <raphael.pavlidis@gmail.com>
> >> Subject: [External] - [Buildroot] [PATCH v1 1/1] package/nvidia-driver:
> bump
> >> verstion to 515.48.07
> >>
> >> Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
> >> ---
> >>   package/nvidia-driver/nvidia-driver.hash |  6 +++---
> >>   package/nvidia-driver/nvidia-driver.mk   | 24 +++++++-----------------
> >>   2 files changed, 10 insertions(+), 20 deletions(-)
> >>
> >> diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-
> >> driver/nvidia-driver.hash
> >> index 7f2248d0f9..06cf292c58 100644
> >> --- a/package/nvidia-driver/nvidia-driver.hash
> >> +++ b/package/nvidia-driver/nvidia-driver.hash
> >> @@ -1,4 +1,4 @@
> >>   # Locally computed
> >> -sha256
> >> 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275
> >> NVIDIA-Linux-x86-390.132.run
> >> -sha256
> >>
> b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d
> >> NVIDIA-Linux-x86_64-390.132-no-compat32.run
> >> -sha256
> >>
> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
> >> LICENSE
> >> +sha256
> >> e28764cc5b13c32e76370513daeafc05c289b77ee0511552450f1a00e31ae1e3
> >> NVIDIA-Linux-x86_64-515.48.07.run
> >> +sha256
> >> 9ec1515cb214261ae4081a6fc9489800b5fef41c6a8d669e84e4ab1de7f3dc14
> >> NVIDIA-Linux-x86_64-515.48.07-no-compat32.run
> >> +sha256
> >>
> bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526
> >> LICENSE
> >> diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-
> >> driver/nvidia-driver.mk
> >> index 54c2aa46d8..d12fa543bd 100644
> >> --- a/package/nvidia-driver/nvidia-driver.mk
> >> +++ b/package/nvidia-driver/nvidia-driver.mk
> >> @@ -4,7 +4,7 @@
> >>   #
> >>
> >>
> ##########################################################
> >> ######################
> >>
> >> -NVIDIA_DRIVER_VERSION = 390.132
> >> +NVIDIA_DRIVER_VERSION = 515.48.07
> >
> > I don't think the discussion has been had on the ML, but I know we've
> discussed in the IRC channel that there may be a need to duplicate the
> nvidia-driver package and differentiate between the latest production
> branch and the legacy branch.
> >
> > It's my understanding the new production branch does not support older
> GPUs which have been historically used in embedded systems [1]
> >
> >>   NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64)
> >>   NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-
> >> x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION)
> >>   NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-
> x86$(NVIDIA_DRIVER_SUFFIX)-
> >> $(NVIDIA_DRIVER_VERSION)$(if $(BR2_x86_64),-no-compat32).run
> >> @@ -42,7 +42,7 @@ NVIDIA_DRIVER_PROVIDES += libgl libegl libgles
> >>   # So we only install the legacy library for now.
> >>   NVIDIA_DRIVER_LIBS_GL = \
> >>          libGLX.so.0 \
> >> -       libGL.so.$(NVIDIA_DRIVER_VERSION) \
> >> +       libGL.so.1.7.0 \
> >>          libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION)
> >>
> >>   NVIDIA_DRIVER_LIBS_EGL = \
> >> @@ -57,11 +57,13 @@ NVIDIA_DRIVER_LIBS_GLES = \
> >>          libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION)
> >>
> >>   NVIDIA_DRIVER_LIBS_MISC = \
> >> +       libnvidia-allocator.so.$(NVIDIA_DRIVER_VERSION) \
> >> +       libnvidia-cfg.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \
> >> -       libnvidia-egl-wayland.so.1.0.2 \
> >> +       libnvidia-egl-wayland.so.1.1.9 \
> >>          libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \
> >> -       tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
> >> +       libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION):vdpau/ \
> >>          libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION)
> >>
> >> @@ -71,30 +73,19 @@ NVIDIA_DRIVER_LIBS += \
> >>          $(NVIDIA_DRIVER_LIBS_GLES) \
> >>          $(NVIDIA_DRIVER_LIBS_MISC)
> >>
> >> -# Install the gl.pc file
> >> -define NVIDIA_DRIVER_INSTALL_GL_DEV
> >> -       $(INSTALL) -D -m 0644 $(@D)/libGL.la
> $(STAGING_DIR)/usr/lib/libGL.la
> >> -       $(SED) 's:__GENERATED_BY__:Buildroot:'
> >> $(STAGING_DIR)/usr/lib/libGL.la
> >> -       $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
> >> -       $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
> >> -       $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc
> >> $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
> >> -       $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc
> >> $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
> >> -endef
> >> -
> >>   # Those libraries are 'private' libraries requiring an agreement with
> >>   # NVidia to develop code for those libs. There seems to be no restriction
> >>   # on using those libraries (e.g. if the user has such an agreement, or
> >>   # wants to run a third-party program developed under such an
> agreement).
> >>   ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_PRIVATE_LIBS),y)
> >>   NVIDIA_DRIVER_LIBS += \
> >> -       libnvidia-ifr.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-fbc.so.$(NVIDIA_DRIVER_VERSION)
> >>   endif
> >>
> >>   # We refer to the destination path; the origin file has no directory
> >> component
> >>   NVIDIA_DRIVER_LIBS += \
> >>          nvidia_drv.so:xorg/modules/drivers/ \
> >> -       libglx.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/
> >> +
> >>
> libglxserver_nvidia.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensio
> >> ns/
> >>
> >>   # libglx needs a symlink according to the driver README. It has no
> SONAME
> >>   define NVIDIA_DRIVER_SYMLINK_LIBGLX
> >> @@ -109,7 +100,6 @@ NVIDIA_DRIVER_LIBS += \
> >>          libcuda.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-compiler.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvcuvid.so.$(NVIDIA_DRIVER_VERSION) \
> >> -       libnvidia-fatbinaryloader.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-ptxjitcompiler.so.$(NVIDIA_DRIVER_VERSION) \
> >>          libnvidia-encode.so.$(NVIDIA_DRIVER_VERSION)
> >>   ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS),y)
> >> --
> >> 2.35.1
> >
> > The installer framework for both drivers are similar and I have a branch
> languishing somewhere that abstracts this and replicates the C
> implementation in Python that works for the BR package(s). I need to find
> the time to update it and submit it.
> >
> >>
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot@buildroot.org
> >> https://lists.buildroot.org/mailman/listinfo/buildroot
> >> CAUTION: This email originated from outside of the organization. Do not
> click
> >> links or open attachments unless you recognize the sender and know the
> >> content is safe.
> >
> > 1: https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/
diff mbox series

Patch

diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-driver/nvidia-driver.hash
index 7f2248d0f9..06cf292c58 100644
--- a/package/nvidia-driver/nvidia-driver.hash
+++ b/package/nvidia-driver/nvidia-driver.hash
@@ -1,4 +1,4 @@ 
 # Locally computed
-sha256 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275  NVIDIA-Linux-x86-390.132.run
-sha256 b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d  NVIDIA-Linux-x86_64-390.132-no-compat32.run
-sha256 bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526  LICENSE
+sha256  e28764cc5b13c32e76370513daeafc05c289b77ee0511552450f1a00e31ae1e3  NVIDIA-Linux-x86_64-515.48.07.run
+sha256  9ec1515cb214261ae4081a6fc9489800b5fef41c6a8d669e84e4ab1de7f3dc14  NVIDIA-Linux-x86_64-515.48.07-no-compat32.run
+sha256  bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526  LICENSE
diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk
index 54c2aa46d8..d12fa543bd 100644
--- a/package/nvidia-driver/nvidia-driver.mk
+++ b/package/nvidia-driver/nvidia-driver.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-NVIDIA_DRIVER_VERSION = 390.132
+NVIDIA_DRIVER_VERSION = 515.48.07
 NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64)
 NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION)
 NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-$(NVIDIA_DRIVER_VERSION)$(if $(BR2_x86_64),-no-compat32).run
@@ -42,7 +42,7 @@  NVIDIA_DRIVER_PROVIDES += libgl libegl libgles
 # So we only install the legacy library for now.
 NVIDIA_DRIVER_LIBS_GL = \
 	libGLX.so.0 \
-	libGL.so.$(NVIDIA_DRIVER_VERSION) \
+	libGL.so.1.7.0 \
 	libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION)
 
 NVIDIA_DRIVER_LIBS_EGL = \
@@ -57,11 +57,13 @@  NVIDIA_DRIVER_LIBS_GLES = \
 	libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION)
 
 NVIDIA_DRIVER_LIBS_MISC = \
+	libnvidia-allocator.so.$(NVIDIA_DRIVER_VERSION) \
+	libnvidia-cfg.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \
-	libnvidia-egl-wayland.so.1.0.2 \
+	libnvidia-egl-wayland.so.1.1.9 \
 	libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \
-	tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
+	libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \
 	libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION):vdpau/ \
 	libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION)
 
@@ -71,30 +73,19 @@  NVIDIA_DRIVER_LIBS += \
 	$(NVIDIA_DRIVER_LIBS_GLES) \
 	$(NVIDIA_DRIVER_LIBS_MISC)
 
-# Install the gl.pc file
-define NVIDIA_DRIVER_INSTALL_GL_DEV
-	$(INSTALL) -D -m 0644 $(@D)/libGL.la $(STAGING_DIR)/usr/lib/libGL.la
-	$(SED) 's:__GENERATED_BY__:Buildroot:' $(STAGING_DIR)/usr/lib/libGL.la
-	$(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
-	$(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
-	$(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
-	$(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
-endef
-
 # Those libraries are 'private' libraries requiring an agreement with
 # NVidia to develop code for those libs. There seems to be no restriction
 # on using those libraries (e.g. if the user has such an agreement, or
 # wants to run a third-party program developed under such an agreement).
 ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_PRIVATE_LIBS),y)
 NVIDIA_DRIVER_LIBS += \
-	libnvidia-ifr.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-fbc.so.$(NVIDIA_DRIVER_VERSION)
 endif
 
 # We refer to the destination path; the origin file has no directory component
 NVIDIA_DRIVER_LIBS += \
 	nvidia_drv.so:xorg/modules/drivers/ \
-	libglx.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/
+	libglxserver_nvidia.so.$(NVIDIA_DRIVER_VERSION):xorg/modules/extensions/
 
 # libglx needs a symlink according to the driver README. It has no SONAME
 define NVIDIA_DRIVER_SYMLINK_LIBGLX
@@ -109,7 +100,6 @@  NVIDIA_DRIVER_LIBS += \
 	libcuda.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-compiler.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvcuvid.so.$(NVIDIA_DRIVER_VERSION) \
-	libnvidia-fatbinaryloader.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-ptxjitcompiler.so.$(NVIDIA_DRIVER_VERSION) \
 	libnvidia-encode.so.$(NVIDIA_DRIVER_VERSION)
 ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS),y)