diff --git a/debian/control b/debian/control
index 2db9e4c6..e33f33a9 100644
--- a/debian/control
+++ b/debian/control
@@ -69,6 +69,191 @@ Description: NVIDIA metapackage${nvidia:VariantDesc}
  .
  Building the kernel module has been tested up to Linux ${nvidia:kmod:tested:Linux}.
 
+Package: nvidia-alternative
+Architecture: i386 amd64
+Multi-Arch: foreign
+Pre-Depends:
+ dpkg (>= 1.17.21),
+ ${nvidia:legacy-check},
+Depends:
+ glx-alternative-nvidia (>= 0.9),
+ ${misc:Depends}
+Provides:
+ ${nvidia}-alternative--kmod-alias,
+Conflicts:
+ libgldispatch0-nvidia,
+ libglvnd0-nvidia,
+ libopengl0-glvnd-nvidia,
+ libglx0-glvnd-nvidia,
+ libgl1-glvnd-nvidia-glx,
+ libegl1-glvnd-nvidia,
+ libgles1-glvnd-nvidia,
+ libgles2-glvnd-nvidia,
+Breaks:
+ nvidia-driver (<< 343.22-2~),
+ libcuda1 (<< 352.63),
+ nvidia-tesla-alternative (>> 0),
+Description: allows the selection of NVIDIA as GLX provider${nvidia:VariantDesc}
+ In setups with several NVIDIA driver versions installed (e.g. current and
+ legacy) this metapackage registers an alternative to allow easy switching
+ between the different versions.
+ .
+ Use 'update-glx --config nvidia' to select a version.
+ .
+ This package does not depend on the corresponding NVIDIA libraries.
+ In order to install the NVIDIA driver and libraries, install the
+ ${nvidia}-driver package instead.
+
+Package: nvidia-kernel-support
+Section: non-free/kernel
+Architecture: amd64
+Multi-Arch: foreign
+Depends:
+ ${nvidia}-alternative (= ${binary:Version}),
+ ${nvidia}-alternative--kmod-alias,
+ nvidia-kernel-common (>= 20151021),
+ nvidia-modprobe (>= 352),
+ ${misc:Depends}
+Provides:
+ nvidia-kernel-support-any,
+ ${nvidia}-kernel-support--v1,
+Breaks:
+ glx-alternative-nvidia (<< 0.6.91),
+Replaces:
+ glx-alternative-nvidia (<< 0.6.91),
+Description: NVIDIA binary kernel module support files${nvidia:VariantDesc}
+ The NVIDIA binary driver provides optimized hardware acceleration of
+ OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
+ for graphics cards using NVIDIA chip sets.
+ .
+ This package provides supporting configuration for the kernel module.
+
+Package: nvidia-kernel-dkms
+Section: non-free/kernel
+Architecture: amd64
+Multi-Arch: foreign
+Pre-Depends:
+ nvidia-installer-cleanup,
+Depends:
+ dkms,
+ ${nvidia}-kernel-support--v1,
+ ${misc:Depends}
+Recommends:
+ ${nvidia}-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}]
+ | ${libcuda1} (>= ${nvidia:Version}),
+Provides:
+ ${nvidia}-kernel-${nvidia:Version},
+Description: NVIDIA binary kernel module DKMS source${nvidia:VariantDesc}
+ This package builds the NVIDIA Xorg binary kernel module needed by
+ ${nvidia}-driver, using DKMS.
+ Provided that you have the kernel header packages installed, the kernel
+ module will be built for your running kernel and automatically rebuilt for
+ any new kernel headers that are installed.
+ .
+ The NVIDIA binary driver provides optimized hardware acceleration of
+ OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
+ for graphics cards using NVIDIA chip sets.
+ .
+ ${nvidia:Models}
+ .
+ See /usr/share/doc/${nvidia}-kernel-dkms/README.txt.gz
+ for a complete list of supported GPUs and PCI IDs.
+ .
+ This package contains the blobs for building kernel modules for the
+ ${nvidia:kmod:blob:archlist}.
+ Building the kernel modules has been tested up to Linux ${nvidia:kmod:tested:Linux}.
+
+Package: nvidia-kernel-source
+Section: non-free/kernel
+Architecture: amd64
+Depends:
+ debhelper-compat (= ${nvidia:debhelper-compat}),
+ make:any,
+ quilt,
+ xz-utils,
+ ${misc:Depends}
+Recommends:
+ module-assistant | kernel-package,
+ ${nvidia}-kernel-support,
+Suggests:
+ ${nvidia}-driver (>= ${nvidia:Version}) [!ppc64el],
+Description: NVIDIA binary kernel module source${nvidia:VariantDesc}
+ This package provides the source for the NVIDIA Xorg binary kernel module
+ needed by ${nvidia}-driver in a form suitable
+ for use by module-assistant or kernel-package.
+ .
+ The NVIDIA binary driver provides optimized hardware acceleration of
+ OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
+ for graphics cards using NVIDIA chip sets.
+ .
+ PLEASE read /usr/share/doc/${nvidia}-kernel-source/README.Debian.gz
+ for building information. If you want the kernel module to be automatically
+ installed via DKMS, install ${nvidia}-kernel-dkms instead.
+ .
+ ${nvidia:Models}
+ .
+ See /usr/share/doc/${nvidia}-kernel-source/README.txt.gz
+ for a complete list of supported GPUs and PCI IDs.
+ .
+ This package contains the blobs for building kernel modules for the
+ ${nvidia:kmod:blob:archlist}.
+ Building the kernel modules has been tested up to Linux ${nvidia:kmod:tested:Linux}.
+
+Package: xserver-xorg-video-nvidia
+Section: non-free/x11
+Architecture: amd64 i386 armhf
+Pre-Depends:
+ nvidia-installer-cleanup [${nvidia:arch:has-driver}],
+ ${nvidia:legacy-check},
+Depends:
+ xserver-xorg-video-nvidia-legacy-390xx [${nvidia:arch:has-no-driver}],
+ lib${nvidia}-glcore (= ${binary:Version}) [${nvidia:arch:has-driver}],
+ ${nvidia}-alternative (= ${binary:Version}) [${nvidia:arch:has-driver}],
+ nvidia-support [${nvidia:arch:has-driver}],
+ ${nvidia:xorgDepends},
+ ${shlibs:Depends}, ${misc:Depends}
+Recommends:
+ ${nvidia}-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}],
+ ${nvidia}-vdpau-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}],
+ ${nvidia:kmod:binary},
+ ${nvidia-settings} [${nvidia:arch:has-driver}],
+Suggests:
+ ${nvidia:kmod:source},
+Provides:
+ xserver-xorg-video-nvidia-any [${nvidia:arch:has-driver}],
+ ${nvidia:xorgProvides},
+Breaks:
+ glx-alternative-nvidia (<< 0.6.91),
+Replaces:
+ glx-alternative-nvidia (<< 0.6.91),
+Description: NVIDIA binary Xorg driver${nvidia:VariantDesc}
+ ${nvidia:no-driver-notice}The NVIDIA binary driver provides optimized hardware acceleration of
+ OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
+ for graphics cards using NVIDIA chip sets.
+ .
+ ${nvidia:kmod:Description}
+ .
+ ${nvidia:Models}
+ .
+ See /usr/share/doc/${nvidia}-driver/README.txt.gz
+ for a complete list of supported GPUs and PCI IDs.
+
+Package: nvidia-legacy-check
+Architecture: amd64
+Multi-Arch: foreign
+Pre-Depends:
+ debconf | debconf-2.0,
+ pciutils,
+ nvidia-installer-cleanup (>= 20151021),
+Depends:
+ ${misc:Depends}
+Description: check for NVIDIA GPUs requiring a legacy driver
+ This package checks whether the system contains NVIDIA GPUs that are no longer
+ supported by the main driver line and require a legacy driver.
+ .
+ If such hardware is present, a (preseedable) debconf question will be asked to
+ confirm the installation of the current driver line.
+
 Package: nvidia-driver-bin
 Section: non-free/x11
 Architecture: amd64
@@ -92,6 +277,27 @@ Description: NVIDIA driver support binaries${nvidia:VariantDesc}
  .
  This package contains supporting binaries for the driver.
 
+Package: libnvidia-cfg1
+Architecture: amd64
+Multi-Arch: same
+Pre-Depends:
+ ${misc:Pre-Depends}
+Depends:
+ ${nvidia}-alternative (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Provides:
+ libnvidia-cfg1-any,
+Breaks:
+ libgl1-${nvidia}-glx (<< 355.11-5),
+Replaces:
+ libgl1-${nvidia}-glx (<< 355.11-5),
+Description: NVIDIA binary OpenGL/GLX configuration library${nvidia:VariantDesc}
+ The NVIDIA binary driver provides optimized hardware acceleration of
+ OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
+ for graphics cards using NVIDIA chip sets.
+ .
+ This package contains the libnvidia-cfg.so.1 runtime library.
+
 Package: nvidia-driver-libs
 Architecture: i386 amd64
 Multi-Arch: same
@@ -189,61 +395,6 @@ Description: NVIDIA metapackage (non-GLVND OpenGL/EGL etc. 32-bit libraries)${nv
  ${nvidia}-driver-libs-nonglvnd
  on amd64 with foreign architecture i386 enabled.
 
-Package: xserver-xorg-video-nvidia
-Section: non-free/x11
-Architecture: amd64 i386 armhf
-Pre-Depends:
- nvidia-installer-cleanup [${nvidia:arch:has-driver}],
- ${nvidia:legacy-check},
-Depends:
- xserver-xorg-video-nvidia-legacy-390xx [${nvidia:arch:has-no-driver}],
- lib${nvidia}-glcore (= ${binary:Version}) [${nvidia:arch:has-driver}],
- ${nvidia}-alternative (= ${binary:Version}) [${nvidia:arch:has-driver}],
- nvidia-support [${nvidia:arch:has-driver}],
- ${nvidia:xorgDepends},
- ${shlibs:Depends}, ${misc:Depends}
-Recommends:
- ${nvidia}-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}],
- ${nvidia}-vdpau-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}],
- ${nvidia:kmod:binary},
- ${nvidia-settings} [${nvidia:arch:has-driver}],
-Suggests:
- ${nvidia:kmod:source},
-Provides:
- xserver-xorg-video-nvidia-any [${nvidia:arch:has-driver}],
- ${nvidia:xorgProvides},
-Breaks:
- glx-alternative-nvidia (<< 0.6.91),
-Replaces:
- glx-alternative-nvidia (<< 0.6.91),
-Description: NVIDIA binary Xorg driver${nvidia:VariantDesc}
- ${nvidia:no-driver-notice}The NVIDIA binary driver provides optimized hardware acceleration of
- OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
- for graphics cards using NVIDIA chip sets.
- .
- ${nvidia:kmod:Description}
- .
- ${nvidia:Models}
- .
- See /usr/share/doc/${nvidia}-driver/README.txt.gz
- for a complete list of supported GPUs and PCI IDs.
-
-Package: nvidia-legacy-check
-Architecture: amd64
-Multi-Arch: foreign
-Pre-Depends:
- debconf | debconf-2.0,
- pciutils,
- nvidia-installer-cleanup (>= 20151021),
-Depends:
- ${misc:Depends}
-Description: check for NVIDIA GPUs requiring a legacy driver
- This package checks whether the system contains NVIDIA GPUs that are no longer
- supported by the main driver line and require a legacy driver.
- .
- If such hardware is present, a (preseedable) debconf question will be asked to
- confirm the installation of the current driver line.
-
 Package: libglx-nvidia0
 Architecture: i386 amd64
 Multi-Arch: same
@@ -495,6 +646,38 @@ Description: NVIDIA EGL installable client driver (ICD)
  This metapackage provides the NVIDIA installable client driver (ICD) for
  EGL via GLVND which supports NVIDIA GPUs.
 
+Package: nvidia-vdpau-driver
+Section: non-free/video
+Architecture: i386 amd64
+Multi-Arch: same
+Pre-Depends:
+ nvidia-installer-cleanup,
+ ${nvidia:legacy-check},
+ ${misc:Pre-Depends}
+Depends:
+ libvdpau1 (>= 0.9),
+ ${nvidia}-alternative (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Recommends:
+ ${nvidia:kmod:binary},
+Suggests:
+ ${nvidia:kmod:source},
+Enhances:
+ libvdpau1,
+Provides:
+ vdpau-driver,
+Description: Video Decode and Presentation API for Unix - NVIDIA driver${nvidia:VariantDescShort}
+ These libraries provide the Video Decode and Presentation API for Unix.
+ They provide accelerated video playback (incl. H.264) for the supported
+ graphics cards.
+ .
+ This package contains the NVIDIA VDPAU driver.
+ .
+ See /usr/share/doc/${nvidia}-vdpau-driver/README.txt.gz
+ for more information.
+ .
+ ${nvidia:kmod:Description}
+
 Package: nvidia-vulkan-common
 Architecture: i386 amd64
 Multi-Arch: foreign
@@ -652,189 +835,6 @@ Description: NVIDIA binary Vulkan ray tracing (rtcore) library${nvidia:VariantDe
  This package contains the private rtcore library used by the NVIDIA
  implementation of Vulkan.
 
-Package: libnvidia-cfg1
-Architecture: amd64
-Multi-Arch: same
-Pre-Depends:
- ${misc:Pre-Depends}
-Depends:
- ${nvidia}-alternative (= ${binary:Version}),
- ${shlibs:Depends}, ${misc:Depends}
-Provides:
- libnvidia-cfg1-any,
-Breaks:
- libgl1-${nvidia}-glx (<< 355.11-5),
-Replaces:
- libgl1-${nvidia}-glx (<< 355.11-5),
-Description: NVIDIA binary OpenGL/GLX configuration library${nvidia:VariantDesc}
- The NVIDIA binary driver provides optimized hardware acceleration of
- OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
- for graphics cards using NVIDIA chip sets.
- .
- This package contains the libnvidia-cfg.so.1 runtime library.
-
-Package: nvidia-alternative
-Architecture: i386 amd64
-Multi-Arch: foreign
-Pre-Depends:
- dpkg (>= 1.17.21),
- ${nvidia:legacy-check},
-Depends:
- glx-alternative-nvidia (>= 0.9),
- ${misc:Depends}
-Provides:
- ${nvidia}-alternative--kmod-alias,
-Conflicts:
- libgldispatch0-nvidia,
- libglvnd0-nvidia,
- libopengl0-glvnd-nvidia,
- libglx0-glvnd-nvidia,
- libgl1-glvnd-nvidia-glx,
- libegl1-glvnd-nvidia,
- libgles1-glvnd-nvidia,
- libgles2-glvnd-nvidia,
-Breaks:
- nvidia-driver (<< 343.22-2~),
- libcuda1 (<< 352.63),
- nvidia-tesla-alternative (>> 0),
-Description: allows the selection of NVIDIA as GLX provider${nvidia:VariantDesc}
- In setups with several NVIDIA driver versions installed (e.g. current and
- legacy) this metapackage registers an alternative to allow easy switching
- between the different versions.
- .
- Use 'update-glx --config nvidia' to select a version.
- .
- This package does not depend on the corresponding NVIDIA libraries.
- In order to install the NVIDIA driver and libraries, install the
- ${nvidia}-driver package instead.
-
-Package: nvidia-kernel-support
-Section: non-free/kernel
-Architecture: amd64
-Multi-Arch: foreign
-Depends:
- ${nvidia}-alternative (= ${binary:Version}),
- ${nvidia}-alternative--kmod-alias,
- nvidia-kernel-common (>= 20151021),
- nvidia-modprobe (>= 352),
- ${misc:Depends}
-Provides:
- nvidia-kernel-support-any,
- ${nvidia}-kernel-support--v1,
-Breaks:
- glx-alternative-nvidia (<< 0.6.91),
-Replaces:
- glx-alternative-nvidia (<< 0.6.91),
-Description: NVIDIA binary kernel module support files${nvidia:VariantDesc}
- The NVIDIA binary driver provides optimized hardware acceleration of
- OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
- for graphics cards using NVIDIA chip sets.
- .
- This package provides supporting configuration for the kernel module.
-
-Package: nvidia-kernel-dkms
-Section: non-free/kernel
-Architecture: amd64
-Multi-Arch: foreign
-Pre-Depends:
- nvidia-installer-cleanup,
-Depends:
- dkms,
- ${nvidia}-kernel-support--v1,
- ${misc:Depends}
-Recommends:
- ${nvidia}-driver (>= ${nvidia:Version}) [${nvidia:arch:has-driver}]
- | ${libcuda1} (>= ${nvidia:Version}),
-Provides:
- ${nvidia}-kernel-${nvidia:Version},
-Description: NVIDIA binary kernel module DKMS source${nvidia:VariantDesc}
- This package builds the NVIDIA Xorg binary kernel module needed by
- ${nvidia}-driver, using DKMS.
- Provided that you have the kernel header packages installed, the kernel
- module will be built for your running kernel and automatically rebuilt for
- any new kernel headers that are installed.
- .
- The NVIDIA binary driver provides optimized hardware acceleration of
- OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
- for graphics cards using NVIDIA chip sets.
- .
- ${nvidia:Models}
- .
- See /usr/share/doc/${nvidia}-kernel-dkms/README.txt.gz
- for a complete list of supported GPUs and PCI IDs.
- .
- This package contains the blobs for building kernel modules for the
- ${nvidia:kmod:blob:archlist}.
- Building the kernel modules has been tested up to Linux ${nvidia:kmod:tested:Linux}.
-
-Package: nvidia-kernel-source
-Section: non-free/kernel
-Architecture: amd64
-Depends:
- debhelper-compat (= ${nvidia:debhelper-compat}),
- make:any,
- quilt,
- xz-utils,
- ${misc:Depends}
-Recommends:
- module-assistant | kernel-package,
- ${nvidia}-kernel-support,
-Suggests:
- ${nvidia}-driver (>= ${nvidia:Version}) [!ppc64el],
-Description: NVIDIA binary kernel module source${nvidia:VariantDesc}
- This package provides the source for the NVIDIA Xorg binary kernel module
- needed by ${nvidia}-driver in a form suitable
- for use by module-assistant or kernel-package.
- .
- The NVIDIA binary driver provides optimized hardware acceleration of
- OpenGL/GLX/EGL/GLES applications via a direct-rendering X Server
- for graphics cards using NVIDIA chip sets.
- .
- PLEASE read /usr/share/doc/${nvidia}-kernel-source/README.Debian.gz
- for building information. If you want the kernel module to be automatically
- installed via DKMS, install ${nvidia}-kernel-dkms instead.
- .
- ${nvidia:Models}
- .
- See /usr/share/doc/${nvidia}-kernel-source/README.txt.gz
- for a complete list of supported GPUs and PCI IDs.
- .
- This package contains the blobs for building kernel modules for the
- ${nvidia:kmod:blob:archlist}.
- Building the kernel modules has been tested up to Linux ${nvidia:kmod:tested:Linux}.
-
-Package: nvidia-vdpau-driver
-Section: non-free/video
-Architecture: i386 amd64
-Multi-Arch: same
-Pre-Depends:
- nvidia-installer-cleanup,
- ${nvidia:legacy-check},
- ${misc:Pre-Depends}
-Depends:
- libvdpau1 (>= 0.9),
- ${nvidia}-alternative (= ${binary:Version}),
- ${shlibs:Depends}, ${misc:Depends}
-Recommends:
- ${nvidia:kmod:binary},
-Suggests:
- ${nvidia:kmod:source},
-Enhances:
- libvdpau1,
-Provides:
- vdpau-driver,
-Description: Video Decode and Presentation API for Unix - NVIDIA driver${nvidia:VariantDescShort}
- These libraries provide the Video Decode and Presentation API for Unix.
- They provide accelerated video playback (incl. H.264) for the supported
- graphics cards.
- .
- This package contains the NVIDIA VDPAU driver.
- .
- See /usr/share/doc/${nvidia}-vdpau-driver/README.txt.gz
- for more information.
- .
- ${nvidia:kmod:Description}
-
 Package: nvidia-smi
 Section: non-free/utils
 Architecture: amd64 i386 armhf
@@ -855,6 +855,23 @@ Description: NVIDIA System Management Interface${nvidia:VariantDesc}
  See the output from the --help command line option for supported models and
  further information.
 
+Package: libnvidia-ml1
+Architecture: i386 amd64
+Multi-Arch: same
+Pre-Depends:
+ ${misc:Pre-Depends}
+Depends:
+ ${nvidia}-alternative (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Provides:
+ libnvidia-ml.so.1 (= ${nvidia:Version}),
+Homepage: https://developer.nvidia.com/nvidia-management-library-NVML
+Description: NVIDIA Management Library (NVML) runtime library${nvidia:VariantDesc}
+ The NVIDIA Management Library (NVML) provides a monitoring and management API.
+ It provides a direct access to the queries and commands exposed via nvidia-smi.
+ .
+ This package contains the nvidia-ml runtime library.
+
 Package: nvidia-cuda-mps
 Section: non-free/utils
 Architecture: amd64
@@ -1089,23 +1106,6 @@ Description: NVIDIA Optical Flow runtime library${nvidia:VariantDesc}
  .
  This package contains the Optical Flow runtime library.
 
-Package: libnvidia-ml1
-Architecture: i386 amd64
-Multi-Arch: same
-Pre-Depends:
- ${misc:Pre-Depends}
-Depends:
- ${nvidia}-alternative (= ${binary:Version}),
- ${shlibs:Depends}, ${misc:Depends}
-Provides:
- libnvidia-ml.so.1 (= ${nvidia:Version}),
-Homepage: https://developer.nvidia.com/nvidia-management-library-NVML
-Description: NVIDIA Management Library (NVML) runtime library${nvidia:VariantDesc}
- The NVIDIA Management Library (NVML) provides a monitoring and management API.
- It provides a direct access to the queries and commands exposed via nvidia-smi.
- .
- This package contains the nvidia-ml runtime library.
-
 Package: nvidia-opencl-common
 Architecture: i386 amd64
 Multi-Arch: foreign
