diff mbox series

[5/10,SRU,Hwe-5.4,L-R-M] UBUNTU: [packaging] add nvidia 450 and 450-server drivers

Message ID 20200825154756.3753617-6-alberto.milone@canonical.com
State New
Headers show
Series [1/10,B,SRU] UBUNTU: [packaging] add signed modules for nvidia 450 and 450-server | expand

Commit Message

Alberto Milone Aug. 25, 2020, 3:47 p.m. UTC
While the 450 series replaces the 440 series (through transitional
packages), the 450-server series is only an addition to the
440-server series.

This requires calling the update-version script when
cranking.

BugLink: https://bugs.launchpad.net/bugs/1887674

Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
---
 debian/control.d/meta-nvidia              | 50 +++++++++++++++++------
 debian/control.d/nvidia                   | 46 +++++++++++++++++++--
 debian/control.d/transitionals-nvidia-440 | 13 ++++++
 debian/control.d/upgrade-meta-nvidia-440  | 17 ++++++++
 debian/dkms-versions                      |  3 +-
 debian/rules                              | 25 ++++++++----
 6 files changed, 129 insertions(+), 25 deletions(-)
 create mode 100644 debian/control.d/transitionals-nvidia-440
 create mode 100644 debian/control.d/upgrade-meta-nvidia-440

Comments

Khalid Elmously Aug. 28, 2020, 5:05 a.m. UTC | #1
On 2020-08-25 17:47:51 , Alberto Milone wrote:
> While the 450 series replaces the 440 series (through transitional
> packages), the 450-server series is only an addition to the
> 440-server series.
> 
> This requires calling the update-version script when
> cranking.
> 
> BugLink: https://bugs.launchpad.net/bugs/1887674
> 
> Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
> ---
>  debian/control.d/meta-nvidia              | 50 +++++++++++++++++------
>  debian/control.d/nvidia                   | 46 +++++++++++++++++++--
>  debian/control.d/transitionals-nvidia-440 | 13 ++++++
>  debian/control.d/upgrade-meta-nvidia-440  | 17 ++++++++
>  debian/dkms-versions                      |  3 +-
>  debian/rules                              | 25 ++++++++----
>  6 files changed, 129 insertions(+), 25 deletions(-)
>  create mode 100644 debian/control.d/transitionals-nvidia-440
>  create mode 100644 debian/control.d/upgrade-meta-nvidia-440
> 
> diff --git a/debian/control.d/meta-nvidia b/debian/control.d/meta-nvidia
> index 35f38f5..3cb0f94 100644
> --- a/debian/control.d/meta-nvidia
> +++ b/debian/control.d/meta-nvidia
> @@ -24,17 +24,17 @@ Description: Extra drivers for nvidia-435 for generic${variant:suffix}
>   Install extra signed nvidia-435 modules compatible with
>   generic${variant:suffix}
>  
> -Package: linux-modules-nvidia-440-generic${variant:suffix}
> +Package: linux-modules-nvidia-450-generic${variant:suffix}
>  Build-Profiles: <!stage1>
>  Architecture: amd64
>  Section: kernel
> -Provides: ${dkms:nvidia-440-modules}
> +Provides: ${dkms:nvidia-450-modules}
>  Depends:
>   ${misc:Depends},
> - linux-modules-nvidia-440-@ABI@-generic (= ${binary:Version}),
> - ${nvk:nvidia-440}
> -Description: Extra drivers for nvidia-440 for generic${variant:suffix}
> - Install extra signed nvidia-440 modules compatible with
> + linux-modules-nvidia-450-@ABI@-generic (= ${binary:Version}),
> + ${nvk:nvidia-450}
> +Description: Extra drivers for nvidia-450 for generic${variant:suffix}
> + Install extra signed nvidia-450 modules compatible with
>   generic${variant:suffix}
>  
>  Package: linux-modules-nvidia-418-server-generic${variant:suffix}
> @@ -63,6 +63,19 @@ Description: Extra drivers for nvidia-440-server for generic${variant:suffix}
>   Install extra signed nvidia-440-server modules compatible with
>   generic${variant:suffix}
>  
> +Package: linux-modules-nvidia-450-server-generic${variant:suffix}
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Provides: ${dkms:nvidia-450-server-modules}
> +Depends:
> + ${misc:Depends},
> + linux-modules-nvidia-450-server-@ABI@-generic (= ${binary:Version}),
> + ${nvk:nvidia-450-server}
> +Description: Extra drivers for nvidia-450-server for generic${variant:suffix}
> + Install extra signed nvidia-450-server modules compatible with
> + generic${variant:suffix}
> +
>  Package: linux-modules-nvidia-390-lowlatency${variant:suffix}
>  Build-Profiles: <!stage1>
>  Architecture: amd64
> @@ -89,17 +102,17 @@ Description: Extra drivers for nvidia-435 for lowlatency${variant:suffix}
>   Install extra signed nvidia-435 modules compatible with
>   lowlatency${variant:suffix}
>  
> -Package: linux-modules-nvidia-440-lowlatency${variant:suffix}
> +Package: linux-modules-nvidia-450-lowlatency${variant:suffix}
>  Build-Profiles: <!stage1>
>  Architecture: amd64
>  Section: kernel
> -Provides: ${dkms:nvidia-440-modules}
> +Provides: ${dkms:nvidia-450-modules}
>  Depends:
>   ${misc:Depends},
> - linux-modules-nvidia-440-@ABI@-lowlatency (= ${binary:Version}),
> - ${nvk:nvidia-440}
> -Description: Extra drivers for nvidia-440 for lowlatency${variant:suffix}
> - Install extra signed nvidia-440 modules compatible with
> + linux-modules-nvidia-450-@ABI@-lowlatency (= ${binary:Version}),
> + ${nvk:nvidia-450}
> +Description: Extra drivers for nvidia-450 for lowlatency${variant:suffix}
> + Install extra signed nvidia-450 modules compatible with
>   lowlatency${variant:suffix}
>  
>  Package: linux-modules-nvidia-418-server-lowlatency${variant:suffix}
> @@ -127,3 +140,16 @@ Depends:
>  Description: Extra drivers for nvidia-440-server for lowlatency${variant:suffix}
>   Install extra signed nvidia-440-server modules compatible with
>   lowlatency${variant:suffix}
> +
> +Package: linux-modules-nvidia-450-server-lowlatency${variant:suffix}
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Provides: ${dkms:nvidia-450-server-modules}
> +Depends:
> + ${misc:Depends},
> + linux-modules-nvidia-450-server-@ABI@-lowlatency (= ${binary:Version}),
> + ${nvk:nvidia-450-server}
> +Description: Extra drivers for nvidia-450-server for lowlatency${variant:suffix}
> + Install extra signed nvidia-450-server modules compatible with
> + lowlatency${variant:suffix}
> diff --git a/debian/control.d/nvidia b/debian/control.d/nvidia
> index c2a012d..383c55d 100644
> --- a/debian/control.d/nvidia
> +++ b/debian/control.d/nvidia
> @@ -36,7 +36,7 @@ Description: Linux kernel nvidia modules for version @ABI@
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
>  
> -Package: linux-modules-nvidia-440-@ABI@-generic
> +Package: linux-modules-nvidia-450-@ABI@-generic
>  Build-Profiles: <!stage1>
>  Architecture: amd64
>  Section: kernel
> @@ -51,7 +51,7 @@ Description: Linux kernel nvidia modules for version @ABI@
>   This package contains the Linux kernel nvidia modules for version @ABI@.
>   .
>   You likely do not want to install this package directly. Instead, install the
> - one of the linux-modules-nvidia-440-generic* meta-packages,
> + one of the linux-modules-nvidia-450-generic* meta-packages,
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
>  
> @@ -93,6 +93,25 @@ Description: Linux kernel nvidia modules for version @ABI@
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
>  
> +Package: linux-modules-nvidia-450-server-@ABI@-generic
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Priority: optional
> +Built-Using: ${linux:BuiltUsing}
> +Depends:
> + ${misc:Depends},
> + ${shlibs:Depends},
> + binutils,
> + linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
> +Description: Linux kernel nvidia modules for version @ABI@
> + This package contains the Linux kernel nvidia modules for version @ABI@.
> + .
> + You likely do not want to install this package directly. Instead, install the
> + one of the linux-modules-nvidia-450-server-generic* meta-packages,
> + which will ensure that upgrades work correctly, and that supporting packages are
> + also installed.
> +
>  Package: linux-modules-nvidia-390-@ABI@-lowlatency
>  Build-Profiles: <!stage1>
>  Architecture: amd64
> @@ -131,7 +150,7 @@ Description: Linux kernel nvidia modules for version @ABI@
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
>  
> -Package: linux-modules-nvidia-440-@ABI@-lowlatency
> +Package: linux-modules-nvidia-450-@ABI@-lowlatency
>  Build-Profiles: <!stage1>
>  Architecture: amd64
>  Section: kernel
> @@ -146,7 +165,7 @@ Description: Linux kernel nvidia modules for version @ABI@
>   This package contains the Linux kernel nvidia modules for version @ABI@.
>   .
>   You likely do not want to install this package directly. Instead, install the
> - one of the linux-modules-nvidia-440-lowlatency* meta-packages,
> + one of the linux-modules-nvidia-450-lowlatency* meta-packages,
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
>  
> @@ -187,3 +206,22 @@ Description: Linux kernel nvidia modules for version @ABI@
>   one of the linux-modules-nvidia-440-server-lowlatency* meta-packages,
>   which will ensure that upgrades work correctly, and that supporting packages are
>   also installed.
> +
> +Package: linux-modules-nvidia-450-server-@ABI@-lowlatency
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Priority: optional
> +Built-Using: ${linux:BuiltUsing}
> +Depends:
> + ${misc:Depends},
> + ${shlibs:Depends},
> + binutils,
> + linux-image-@ABI@-lowlatency | linux-image-unsigned-@ABI@-lowlatency,
> +Description: Linux kernel nvidia modules for version @ABI@
> + This package contains the Linux kernel nvidia modules for version @ABI@.
> + .
> + You likely do not want to install this package directly. Instead, install the
> + one of the linux-modules-nvidia-450-server-lowlatency* meta-packages,
> + which will ensure that upgrades work correctly, and that supporting packages are
> + also installed.
> diff --git a/debian/control.d/transitionals-nvidia-440 b/debian/control.d/transitionals-nvidia-440
> new file mode 100644
> index 0000000..987ecad
> --- /dev/null
> +++ b/debian/control.d/transitionals-nvidia-440
> @@ -0,0 +1,13 @@
> +Package: linux-modules-nvidia-440-generic
> +Architecture: amd64
> +Section: oldlibs
> +Depends: linux-modules-nvidia-450-generic
> +Description: Extra drivers for nvidia-440 for the generic flavour (dummy transitional package)
> + Transitional package for upgrades of -440 to -450.
> +
> +Package: linux-modules-nvidia-440-lowlatency
> +Architecture: amd64
> +Section: oldlibs
> +Depends: linux-modules-nvidia-450-lowlatency
> +Description: Extra drivers for nvidia-440 for the generic flavour (dummy transitional package)
> + Transitional package for upgrades of -440 to -450.
> diff --git a/debian/control.d/upgrade-meta-nvidia-440 b/debian/control.d/upgrade-meta-nvidia-440
> new file mode 100644
> index 0000000..bf8b527
> --- /dev/null
> +++ b/debian/control.d/upgrade-meta-nvidia-440
> @@ -0,0 +1,17 @@
> +Package: linux-modules-nvidia-440-generic${variant:suffix}
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Depends: linux-modules-nvidia-450-generic${variant:suffix}
> +Description: Transitional package for linux-modules-nvidia-450-generic${variant:suffix}
> + This is a transitional package for linux-modules-nvidia-450-generic${variant:suffix},
> + and can be safely removed after the installation is complete.
> +
> +Package: linux-modules-nvidia-440-lowlatency${variant:suffix}
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Depends: linux-modules-nvidia-450-lowlatency${variant:suffix}
> +Description: Transitional package for linux-modules-nvidia-450-lowlatency${variant:suffix}
> + This is a transitional package for linux-modules-nvidia-450-lowlatency${variant:suffix},
> + and can be safely removed after the installation is complete.
> diff --git a/debian/dkms-versions b/debian/dkms-versions
> index 6873db2..c372439 100644
> --- a/debian/dkms-versions
> +++ b/debian/dkms-versions
> @@ -1,8 +1,9 @@
>  zfs-linux 0.8.3-1ubuntu12.2
>  nvidia-graphics-drivers-390 390.138-0ubuntu0.20.04.1
>  nvidia-graphics-drivers-435 435.21-0ubuntu7
> -nvidia-graphics-drivers-440 440.100-0ubuntu0.20.04.1
> +nvidia-graphics-drivers-450 0
>  nvidia-graphics-drivers-418-server 418.152.00-0ubuntu0.20.04.1
>  nvidia-graphics-drivers-440-server 440.95.01-0ubuntu0.20.04.1
> +nvidia-graphics-drivers-450-server 0
>  virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1
>  wireguard-linux-compat 1.0.20200611-1ubuntu1~20.04.1
> diff --git a/debian/rules b/debian/rules
> index 3940bbf..91dcab6 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -15,15 +15,17 @@ src_kernel = $(shell echo "$(src_package)" | sed -e 's/restricted-modules-//')
>  
>  dkms_nvidia_390_version=$(shell gawk '/^nvidia-graphics-drivers-390 / { print $$2; }' debian/dkms-versions)
>  dkms_nvidia_435_version=$(shell gawk '/^nvidia-graphics-drivers-435 / { print $$2; }' debian/dkms-versions)
> -dkms_nvidia_440_version=$(shell gawk '/^nvidia-graphics-drivers-440 / { print $$2; }' debian/dkms-versions)
> +dkms_nvidia_450_version=$(shell gawk '/^nvidia-graphics-drivers-450 / { print $$2; }' debian/dkms-versions)
>  dkms_nvidia_418_server_version=$(shell gawk '/^nvidia-graphics-drivers-418-server / { print $$2; }' debian/dkms-versions)
>  dkms_nvidia_440_server_version=$(shell gawk '/^nvidia-graphics-drivers-440-server / { print $$2; }' debian/dkms-versions)
> +dkms_nvidia_450_server_version=$(shell gawk '/^nvidia-graphics-drivers-450-server / { print $$2; }' debian/dkms-versions)
>  
>  nvidia_390_upstream_version=$(shell echo "$(dkms_nvidia_390_version)" | cut -d '-' -f 1)
>  nvidia_435_upstream_version=$(shell echo "$(dkms_nvidia_435_version)" | cut -d '-' -f 1)
> -nvidia_440_upstream_version=$(shell echo "$(dkms_nvidia_440_version)" | cut -d '-' -f 1)
> +nvidia_450_upstream_version=$(shell echo "$(dkms_nvidia_450_version)" | cut -d '-' -f 1)
>  nvidia_418_server_upstream_version=$(shell echo "$(dkms_nvidia_418_server_version)" | cut -d '-' -f 1)
>  nvidia_440_server_upstream_version=$(shell echo "$(dkms_nvidia_440_server_version)" | cut -d '-' -f 1)
> +nvidia_450_server_upstream_version=$(shell echo "$(dkms_nvidia_450_server_version)" | cut -d '-' -f 1)
>  
>  # Get variants, assuming primary if debian/variants is not present
>  variants = --
> @@ -143,10 +145,10 @@ nvidia-%:
>  	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-435-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-435-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-435, pool/restricted/n/nvidia-graphics-drivers-435/nvidia-kernel-source-435_$(dkms_nvidia_435_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-435/nvidia-dkms-435_$(dkms_nvidia_435_version)_$(arch).deb)
>  	$(call install_control,linux-modules-nvidia-435-$(src_abi)-$*,$*,nvidia,435,postinst postrm prerm config templates)
>  
> -	install -d debian/linux-modules-nvidia-440-$(src_abi)-$*
> -	install -d debian/linux-modules-nvidia-440-$(src_abi)-$*/usr/lib/linux/triggers
> -	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-440, pool/restricted/n/nvidia-graphics-drivers-440/nvidia-kernel-source-440_$(dkms_nvidia_440_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440/nvidia-dkms-440_$(dkms_nvidia_440_version)_$(arch).deb)
> -	$(call install_control,linux-modules-nvidia-440-$(src_abi)-$*,$*,nvidia,440,postinst postrm prerm config templates)
> +	install -d debian/linux-modules-nvidia-450-$(src_abi)-$*
> +	install -d debian/linux-modules-nvidia-450-$(src_abi)-$*/usr/lib/linux/triggers
> +	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-450-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-450-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-450, pool/restricted/n/nvidia-graphics-drivers-450/nvidia-kernel-source-450_$(dkms_nvidia_450_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-450/nvidia-dkms-450_$(dkms_nvidia_450_version)_$(arch).deb)
> +	$(call install_control,linux-modules-nvidia-450-$(src_abi)-$*,$*,nvidia,450,postinst postrm prerm config templates)
>  
>  	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*
>  	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*/usr/lib/linux/triggers
> @@ -158,6 +160,11 @@ nvidia-%:
>  	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-440srv, pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-kernel-source-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-dkms-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb)
>  	$(call install_control,linux-modules-nvidia-440-server-$(src_abi)-$*,$*,nvidia,440srv,postinst postrm prerm config templates)
>  
> +	install -d debian/linux-modules-nvidia-450-server-$(src_abi)-$*
> +	install -d debian/linux-modules-nvidia-450-server-$(src_abi)-$*/usr/lib/linux/triggers
> +	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-450-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-450-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-450srv, pool/restricted/n/nvidia-graphics-drivers-450-server/nvidia-kernel-source-450-server_$(dkms_nvidia_450_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-450-server/nvidia-dkms-450-server_$(dkms_nvidia_450_server_version)_$(arch).deb)
> +	$(call install_control,linux-modules-nvidia-450-server-$(src_abi)-$*,$*,nvidia,450srv,postinst postrm prerm config templates)
> +
>  prepare-dkms:
>  	mkdir -p $(dkms_dir)
>  	ln -s /usr/src $(dkms_dir)/headers
> @@ -171,15 +178,17 @@ override_dh_auto_install: prepare-dkms $(flavours)
>  gencontrol_flags :=
>  gencontrol_flags += -Vdkms:nvidia-390-modules="nvidia-dkms-390 (= $(dkms_nvidia_390_version))"
>  gencontrol_flags += -Vdkms:nvidia-435-modules="nvidia-dkms-435 (= $(dkms_nvidia_435_version))"
> -gencontrol_flags += -Vdkms:nvidia-440-modules="nvidia-dkms-440 (= $(dkms_nvidia_440_version))"
> +gencontrol_flags += -Vdkms:nvidia-450-modules="nvidia-dkms-450 (= $(dkms_nvidia_450_version))"
>  gencontrol_flags += -Vdkms:nvidia-418-server-modules="nvidia-dkms-418-server (= $(dkms_nvidia_418_server_version))"
>  gencontrol_flags += -Vdkms:nvidia-440-server-modules="nvidia-dkms-440-server (= $(dkms_nvidia_440_server_version))"
> +gencontrol_flags += -Vdkms:nvidia-450-server-modules="nvidia-dkms-450-server (= $(dkms_nvidia_450_server_version))"
>  
>  gencontrol_flags += -Vnvk:nvidia-390="nvidia-kernel-common-390 (<= $(nvidia_390_upstream_version)-1), nvidia-kernel-common-390 (>= $(nvidia_390_upstream_version))"
>  gencontrol_flags += -Vnvk:nvidia-435="nvidia-kernel-common-435 (<= $(nvidia_435_upstream_version)-1), nvidia-kernel-common-435 (>= $(nvidia_435_upstream_version))"
> -gencontrol_flags += -Vnvk:nvidia-440="nvidia-kernel-common-440 (<= $(nvidia_440_upstream_version)-1), nvidia-kernel-common-440 (>= $(nvidia_440_upstream_version))"
> +gencontrol_flags += -Vnvk:nvidia-450="nvidia-kernel-common-450 (<= $(nvidia_450_upstream_version)-1), nvidia-kernel-common-450 (>= $(nvidia_450_upstream_version))"
>  gencontrol_flags += -Vnvk:nvidia-418-server="nvidia-kernel-common-418-server (<= $(nvidia_418_server_upstream_version)-1), nvidia-kernel-common-418-server (>= $(nvidia_418_server_upstream_version))"
>  gencontrol_flags += -Vnvk:nvidia-440-server="nvidia-kernel-common-440-server (<= $(nvidia_440_server_upstream_version)-1), nvidia-kernel-common-440-server (>= $(nvidia_440_server_upstream_version))"
> +gencontrol_flags += -Vnvk:nvidia-450-server="nvidia-kernel-common-450-server (<= $(nvidia_450_server_upstream_version)-1), nvidia-kernel-common-450-server (>= $(nvidia_450_server_upstream_version))"
>  
>  override_dh_gencontrol:
>  	dh_gencontrol -- $(gencontrol_flags)
> -- 
> 2.25.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
diff mbox series

Patch

diff --git a/debian/control.d/meta-nvidia b/debian/control.d/meta-nvidia
index 35f38f5..3cb0f94 100644
--- a/debian/control.d/meta-nvidia
+++ b/debian/control.d/meta-nvidia
@@ -24,17 +24,17 @@  Description: Extra drivers for nvidia-435 for generic${variant:suffix}
  Install extra signed nvidia-435 modules compatible with
  generic${variant:suffix}
 
-Package: linux-modules-nvidia-440-generic${variant:suffix}
+Package: linux-modules-nvidia-450-generic${variant:suffix}
 Build-Profiles: <!stage1>
 Architecture: amd64
 Section: kernel
-Provides: ${dkms:nvidia-440-modules}
+Provides: ${dkms:nvidia-450-modules}
 Depends:
  ${misc:Depends},
- linux-modules-nvidia-440-@ABI@-generic (= ${binary:Version}),
- ${nvk:nvidia-440}
-Description: Extra drivers for nvidia-440 for generic${variant:suffix}
- Install extra signed nvidia-440 modules compatible with
+ linux-modules-nvidia-450-@ABI@-generic (= ${binary:Version}),
+ ${nvk:nvidia-450}
+Description: Extra drivers for nvidia-450 for generic${variant:suffix}
+ Install extra signed nvidia-450 modules compatible with
  generic${variant:suffix}
 
 Package: linux-modules-nvidia-418-server-generic${variant:suffix}
@@ -63,6 +63,19 @@  Description: Extra drivers for nvidia-440-server for generic${variant:suffix}
  Install extra signed nvidia-440-server modules compatible with
  generic${variant:suffix}
 
+Package: linux-modules-nvidia-450-server-generic${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-450-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-450-server-@ABI@-generic (= ${binary:Version}),
+ ${nvk:nvidia-450-server}
+Description: Extra drivers for nvidia-450-server for generic${variant:suffix}
+ Install extra signed nvidia-450-server modules compatible with
+ generic${variant:suffix}
+
 Package: linux-modules-nvidia-390-lowlatency${variant:suffix}
 Build-Profiles: <!stage1>
 Architecture: amd64
@@ -89,17 +102,17 @@  Description: Extra drivers for nvidia-435 for lowlatency${variant:suffix}
  Install extra signed nvidia-435 modules compatible with
  lowlatency${variant:suffix}
 
-Package: linux-modules-nvidia-440-lowlatency${variant:suffix}
+Package: linux-modules-nvidia-450-lowlatency${variant:suffix}
 Build-Profiles: <!stage1>
 Architecture: amd64
 Section: kernel
-Provides: ${dkms:nvidia-440-modules}
+Provides: ${dkms:nvidia-450-modules}
 Depends:
  ${misc:Depends},
- linux-modules-nvidia-440-@ABI@-lowlatency (= ${binary:Version}),
- ${nvk:nvidia-440}
-Description: Extra drivers for nvidia-440 for lowlatency${variant:suffix}
- Install extra signed nvidia-440 modules compatible with
+ linux-modules-nvidia-450-@ABI@-lowlatency (= ${binary:Version}),
+ ${nvk:nvidia-450}
+Description: Extra drivers for nvidia-450 for lowlatency${variant:suffix}
+ Install extra signed nvidia-450 modules compatible with
  lowlatency${variant:suffix}
 
 Package: linux-modules-nvidia-418-server-lowlatency${variant:suffix}
@@ -127,3 +140,16 @@  Depends:
 Description: Extra drivers for nvidia-440-server for lowlatency${variant:suffix}
  Install extra signed nvidia-440-server modules compatible with
  lowlatency${variant:suffix}
+
+Package: linux-modules-nvidia-450-server-lowlatency${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-450-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-450-server-@ABI@-lowlatency (= ${binary:Version}),
+ ${nvk:nvidia-450-server}
+Description: Extra drivers for nvidia-450-server for lowlatency${variant:suffix}
+ Install extra signed nvidia-450-server modules compatible with
+ lowlatency${variant:suffix}
diff --git a/debian/control.d/nvidia b/debian/control.d/nvidia
index c2a012d..383c55d 100644
--- a/debian/control.d/nvidia
+++ b/debian/control.d/nvidia
@@ -36,7 +36,7 @@  Description: Linux kernel nvidia modules for version @ABI@
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
-Package: linux-modules-nvidia-440-@ABI@-generic
+Package: linux-modules-nvidia-450-@ABI@-generic
 Build-Profiles: <!stage1>
 Architecture: amd64
 Section: kernel
@@ -51,7 +51,7 @@  Description: Linux kernel nvidia modules for version @ABI@
  This package contains the Linux kernel nvidia modules for version @ABI@.
  .
  You likely do not want to install this package directly. Instead, install the
- one of the linux-modules-nvidia-440-generic* meta-packages,
+ one of the linux-modules-nvidia-450-generic* meta-packages,
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
@@ -93,6 +93,25 @@  Description: Linux kernel nvidia modules for version @ABI@
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
+Package: linux-modules-nvidia-450-server-@ABI@-generic
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-450-server-generic* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
+
 Package: linux-modules-nvidia-390-@ABI@-lowlatency
 Build-Profiles: <!stage1>
 Architecture: amd64
@@ -131,7 +150,7 @@  Description: Linux kernel nvidia modules for version @ABI@
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
-Package: linux-modules-nvidia-440-@ABI@-lowlatency
+Package: linux-modules-nvidia-450-@ABI@-lowlatency
 Build-Profiles: <!stage1>
 Architecture: amd64
 Section: kernel
@@ -146,7 +165,7 @@  Description: Linux kernel nvidia modules for version @ABI@
  This package contains the Linux kernel nvidia modules for version @ABI@.
  .
  You likely do not want to install this package directly. Instead, install the
- one of the linux-modules-nvidia-440-lowlatency* meta-packages,
+ one of the linux-modules-nvidia-450-lowlatency* meta-packages,
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
@@ -187,3 +206,22 @@  Description: Linux kernel nvidia modules for version @ABI@
  one of the linux-modules-nvidia-440-server-lowlatency* meta-packages,
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
+
+Package: linux-modules-nvidia-450-server-@ABI@-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-lowlatency | linux-image-unsigned-@ABI@-lowlatency,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-450-server-lowlatency* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
diff --git a/debian/control.d/transitionals-nvidia-440 b/debian/control.d/transitionals-nvidia-440
new file mode 100644
index 0000000..987ecad
--- /dev/null
+++ b/debian/control.d/transitionals-nvidia-440
@@ -0,0 +1,13 @@ 
+Package: linux-modules-nvidia-440-generic
+Architecture: amd64
+Section: oldlibs
+Depends: linux-modules-nvidia-450-generic
+Description: Extra drivers for nvidia-440 for the generic flavour (dummy transitional package)
+ Transitional package for upgrades of -440 to -450.
+
+Package: linux-modules-nvidia-440-lowlatency
+Architecture: amd64
+Section: oldlibs
+Depends: linux-modules-nvidia-450-lowlatency
+Description: Extra drivers for nvidia-440 for the generic flavour (dummy transitional package)
+ Transitional package for upgrades of -440 to -450.
diff --git a/debian/control.d/upgrade-meta-nvidia-440 b/debian/control.d/upgrade-meta-nvidia-440
new file mode 100644
index 0000000..bf8b527
--- /dev/null
+++ b/debian/control.d/upgrade-meta-nvidia-440
@@ -0,0 +1,17 @@ 
+Package: linux-modules-nvidia-440-generic${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: linux-modules-nvidia-450-generic${variant:suffix}
+Description: Transitional package for linux-modules-nvidia-450-generic${variant:suffix}
+ This is a transitional package for linux-modules-nvidia-450-generic${variant:suffix},
+ and can be safely removed after the installation is complete.
+
+Package: linux-modules-nvidia-440-lowlatency${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: linux-modules-nvidia-450-lowlatency${variant:suffix}
+Description: Transitional package for linux-modules-nvidia-450-lowlatency${variant:suffix}
+ This is a transitional package for linux-modules-nvidia-450-lowlatency${variant:suffix},
+ and can be safely removed after the installation is complete.
diff --git a/debian/dkms-versions b/debian/dkms-versions
index 6873db2..c372439 100644
--- a/debian/dkms-versions
+++ b/debian/dkms-versions
@@ -1,8 +1,9 @@ 
 zfs-linux 0.8.3-1ubuntu12.2
 nvidia-graphics-drivers-390 390.138-0ubuntu0.20.04.1
 nvidia-graphics-drivers-435 435.21-0ubuntu7
-nvidia-graphics-drivers-440 440.100-0ubuntu0.20.04.1
+nvidia-graphics-drivers-450 0
 nvidia-graphics-drivers-418-server 418.152.00-0ubuntu0.20.04.1
 nvidia-graphics-drivers-440-server 440.95.01-0ubuntu0.20.04.1
+nvidia-graphics-drivers-450-server 0
 virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1
 wireguard-linux-compat 1.0.20200611-1ubuntu1~20.04.1
diff --git a/debian/rules b/debian/rules
index 3940bbf..91dcab6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,15 +15,17 @@  src_kernel = $(shell echo "$(src_package)" | sed -e 's/restricted-modules-//')
 
 dkms_nvidia_390_version=$(shell gawk '/^nvidia-graphics-drivers-390 / { print $$2; }' debian/dkms-versions)
 dkms_nvidia_435_version=$(shell gawk '/^nvidia-graphics-drivers-435 / { print $$2; }' debian/dkms-versions)
-dkms_nvidia_440_version=$(shell gawk '/^nvidia-graphics-drivers-440 / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_450_version=$(shell gawk '/^nvidia-graphics-drivers-450 / { print $$2; }' debian/dkms-versions)
 dkms_nvidia_418_server_version=$(shell gawk '/^nvidia-graphics-drivers-418-server / { print $$2; }' debian/dkms-versions)
 dkms_nvidia_440_server_version=$(shell gawk '/^nvidia-graphics-drivers-440-server / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_450_server_version=$(shell gawk '/^nvidia-graphics-drivers-450-server / { print $$2; }' debian/dkms-versions)
 
 nvidia_390_upstream_version=$(shell echo "$(dkms_nvidia_390_version)" | cut -d '-' -f 1)
 nvidia_435_upstream_version=$(shell echo "$(dkms_nvidia_435_version)" | cut -d '-' -f 1)
-nvidia_440_upstream_version=$(shell echo "$(dkms_nvidia_440_version)" | cut -d '-' -f 1)
+nvidia_450_upstream_version=$(shell echo "$(dkms_nvidia_450_version)" | cut -d '-' -f 1)
 nvidia_418_server_upstream_version=$(shell echo "$(dkms_nvidia_418_server_version)" | cut -d '-' -f 1)
 nvidia_440_server_upstream_version=$(shell echo "$(dkms_nvidia_440_server_version)" | cut -d '-' -f 1)
+nvidia_450_server_upstream_version=$(shell echo "$(dkms_nvidia_450_server_version)" | cut -d '-' -f 1)
 
 # Get variants, assuming primary if debian/variants is not present
 variants = --
@@ -143,10 +145,10 @@  nvidia-%:
 	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-435-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-435-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-435, pool/restricted/n/nvidia-graphics-drivers-435/nvidia-kernel-source-435_$(dkms_nvidia_435_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-435/nvidia-dkms-435_$(dkms_nvidia_435_version)_$(arch).deb)
 	$(call install_control,linux-modules-nvidia-435-$(src_abi)-$*,$*,nvidia,435,postinst postrm prerm config templates)
 
-	install -d debian/linux-modules-nvidia-440-$(src_abi)-$*
-	install -d debian/linux-modules-nvidia-440-$(src_abi)-$*/usr/lib/linux/triggers
-	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-440, pool/restricted/n/nvidia-graphics-drivers-440/nvidia-kernel-source-440_$(dkms_nvidia_440_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440/nvidia-dkms-440_$(dkms_nvidia_440_version)_$(arch).deb)
-	$(call install_control,linux-modules-nvidia-440-$(src_abi)-$*,$*,nvidia,440,postinst postrm prerm config templates)
+	install -d debian/linux-modules-nvidia-450-$(src_abi)-$*
+	install -d debian/linux-modules-nvidia-450-$(src_abi)-$*/usr/lib/linux/triggers
+	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-450-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-450-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-450, pool/restricted/n/nvidia-graphics-drivers-450/nvidia-kernel-source-450_$(dkms_nvidia_450_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-450/nvidia-dkms-450_$(dkms_nvidia_450_version)_$(arch).deb)
+	$(call install_control,linux-modules-nvidia-450-$(src_abi)-$*,$*,nvidia,450,postinst postrm prerm config templates)
 
 	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*
 	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*/usr/lib/linux/triggers
@@ -158,6 +160,11 @@  nvidia-%:
 	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-440srv, pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-kernel-source-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-dkms-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb)
 	$(call install_control,linux-modules-nvidia-440-server-$(src_abi)-$*,$*,nvidia,440srv,postinst postrm prerm config templates)
 
+	install -d debian/linux-modules-nvidia-450-server-$(src_abi)-$*
+	install -d debian/linux-modules-nvidia-450-server-$(src_abi)-$*/usr/lib/linux/triggers
+	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-450-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-450-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-450srv, pool/restricted/n/nvidia-graphics-drivers-450-server/nvidia-kernel-source-450-server_$(dkms_nvidia_450_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-450-server/nvidia-dkms-450-server_$(dkms_nvidia_450_server_version)_$(arch).deb)
+	$(call install_control,linux-modules-nvidia-450-server-$(src_abi)-$*,$*,nvidia,450srv,postinst postrm prerm config templates)
+
 prepare-dkms:
 	mkdir -p $(dkms_dir)
 	ln -s /usr/src $(dkms_dir)/headers
@@ -171,15 +178,17 @@  override_dh_auto_install: prepare-dkms $(flavours)
 gencontrol_flags :=
 gencontrol_flags += -Vdkms:nvidia-390-modules="nvidia-dkms-390 (= $(dkms_nvidia_390_version))"
 gencontrol_flags += -Vdkms:nvidia-435-modules="nvidia-dkms-435 (= $(dkms_nvidia_435_version))"
-gencontrol_flags += -Vdkms:nvidia-440-modules="nvidia-dkms-440 (= $(dkms_nvidia_440_version))"
+gencontrol_flags += -Vdkms:nvidia-450-modules="nvidia-dkms-450 (= $(dkms_nvidia_450_version))"
 gencontrol_flags += -Vdkms:nvidia-418-server-modules="nvidia-dkms-418-server (= $(dkms_nvidia_418_server_version))"
 gencontrol_flags += -Vdkms:nvidia-440-server-modules="nvidia-dkms-440-server (= $(dkms_nvidia_440_server_version))"
+gencontrol_flags += -Vdkms:nvidia-450-server-modules="nvidia-dkms-450-server (= $(dkms_nvidia_450_server_version))"
 
 gencontrol_flags += -Vnvk:nvidia-390="nvidia-kernel-common-390 (<= $(nvidia_390_upstream_version)-1), nvidia-kernel-common-390 (>= $(nvidia_390_upstream_version))"
 gencontrol_flags += -Vnvk:nvidia-435="nvidia-kernel-common-435 (<= $(nvidia_435_upstream_version)-1), nvidia-kernel-common-435 (>= $(nvidia_435_upstream_version))"
-gencontrol_flags += -Vnvk:nvidia-440="nvidia-kernel-common-440 (<= $(nvidia_440_upstream_version)-1), nvidia-kernel-common-440 (>= $(nvidia_440_upstream_version))"
+gencontrol_flags += -Vnvk:nvidia-450="nvidia-kernel-common-450 (<= $(nvidia_450_upstream_version)-1), nvidia-kernel-common-450 (>= $(nvidia_450_upstream_version))"
 gencontrol_flags += -Vnvk:nvidia-418-server="nvidia-kernel-common-418-server (<= $(nvidia_418_server_upstream_version)-1), nvidia-kernel-common-418-server (>= $(nvidia_418_server_upstream_version))"
 gencontrol_flags += -Vnvk:nvidia-440-server="nvidia-kernel-common-440-server (<= $(nvidia_440_server_upstream_version)-1), nvidia-kernel-common-440-server (>= $(nvidia_440_server_upstream_version))"
+gencontrol_flags += -Vnvk:nvidia-450-server="nvidia-kernel-common-450-server (<= $(nvidia_450_server_upstream_version)-1), nvidia-kernel-common-450-server (>= $(nvidia_450_server_upstream_version))"
 
 override_dh_gencontrol:
 	dh_gencontrol -- $(gencontrol_flags)