From 2dda6272668f195246ada72085543820046c39af Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Mon, 30 Mar 2026 22:08:30 -0400 Subject: [PATCH 1/2] Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos) --- archinstall/lib/hardware.py | 10 +--------- archinstall/lib/models/profile.py | 6 ++++++ archinstall/lib/profile/profiles_handler.py | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index 7d3d7d19ca..725b18bd44 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -44,7 +44,6 @@ class GfxPackage(Enum): LibvaMesaDriver = 'libva-mesa-driver' LibvaNvidiaDriver = 'libva-nvidia-driver' Mesa = 'mesa' - NvidiaDkms = 'nvidia-dkms' NvidiaOpenDkms = 'nvidia-open-dkms' VulkanIntel = 'vulkan-intel' VulkanRadeon = 'vulkan-radeon' @@ -62,12 +61,11 @@ class GfxDriver(Enum): IntelOpenSource = 'Intel (open-source)' NvidiaOpenKernel = 'Nvidia (open kernel module for newer GPUs, Turing+)' NvidiaOpenSource = 'Nvidia (open-source nouveau driver)' - NvidiaProprietary = 'Nvidia (proprietary)' VMOpenSource = 'VirtualBox (open-source)' def is_nvidia(self) -> bool: match self: - case GfxDriver.NvidiaProprietary | GfxDriver.NvidiaOpenSource | GfxDriver.NvidiaOpenKernel: + case GfxDriver.NvidiaOpenSource | GfxDriver.NvidiaOpenKernel: return True case _: return False @@ -126,12 +124,6 @@ def gfx_packages(self) -> list[GfxPackage]: GfxPackage.LibvaMesaDriver, GfxPackage.VulkanNouveau, ] - case GfxDriver.NvidiaProprietary: - packages += [ - GfxPackage.NvidiaDkms, - GfxPackage.Dkms, - GfxPackage.LibvaNvidiaDriver, - ] case GfxDriver.VMOpenSource: packages += [ GfxPackage.Mesa, diff --git a/archinstall/lib/models/profile.py b/archinstall/lib/models/profile.py index eb5a3a1fb5..398adb3f98 100644 --- a/archinstall/lib/models/profile.py +++ b/archinstall/lib/models/profile.py @@ -39,6 +39,12 @@ def parse_arg(cls, arg: _ProfileConfigurationSerialization) -> Self: greeter = arg.get('greeter', None) gfx_driver = arg.get('gfx_driver', None) + if gfx_driver == 'Nvidia (proprietary)': + raise ValueError( + 'The Nvidia proprietary driver (nvidia-dkms) has been removed from the Arch repos. ' + 'Please use "Nvidia (open kernel module for newer GPUs, Turing+)" instead.' + ) + return cls( profile, GfxDriver(gfx_driver) if gfx_driver else None, diff --git a/archinstall/lib/profile/profiles_handler.py b/archinstall/lib/profile/profiles_handler.py index 204494c9d3..02243ec0ac 100644 --- a/archinstall/lib/profile/profiles_handler.py +++ b/archinstall/lib/profile/profiles_handler.py @@ -222,7 +222,7 @@ def install_greeter(self, install_session: Installer, greeter: GreeterType) -> N def install_gfx_driver(self, install_session: Installer, driver: GfxDriver) -> None: debug(f'Installing GFX driver: {driver.value}') - if driver in [GfxDriver.NvidiaOpenKernel, GfxDriver.NvidiaProprietary]: + if driver in [GfxDriver.NvidiaOpenKernel]: headers = [f'{kernel}-headers' for kernel in install_session.kernels] # Fixes https://github.com/archlinux/archinstall/issues/585 install_session.add_additional_packages(headers) From bf72df8c3f7c861131f0a5fdea7ee020077682c1 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Tue, 31 Mar 2026 16:26:20 -0400 Subject: [PATCH 2/2] Remove libva-mesa-driver (now provided by mesa) --- archinstall/lib/hardware.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index 725b18bd44..aa8a600836 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -41,7 +41,6 @@ class GfxPackage(Enum): Dkms = 'dkms' IntelMediaDriver = 'intel-media-driver' LibvaIntelDriver = 'libva-intel-driver' - LibvaMesaDriver = 'libva-mesa-driver' LibvaNvidiaDriver = 'libva-nvidia-driver' Mesa = 'mesa' NvidiaOpenDkms = 'nvidia-open-dkms' @@ -89,7 +88,6 @@ def gfx_packages(self) -> list[GfxPackage]: GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, GfxPackage.Xf86VideoNouveau, - GfxPackage.LibvaMesaDriver, GfxPackage.LibvaIntelDriver, GfxPackage.IntelMediaDriver, GfxPackage.VulkanRadeon, @@ -101,7 +99,6 @@ def gfx_packages(self) -> list[GfxPackage]: GfxPackage.Mesa, GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, - GfxPackage.LibvaMesaDriver, GfxPackage.VulkanRadeon, ] case GfxDriver.IntelOpenSource: @@ -121,7 +118,6 @@ def gfx_packages(self) -> list[GfxPackage]: packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoNouveau, - GfxPackage.LibvaMesaDriver, GfxPackage.VulkanNouveau, ] case GfxDriver.VMOpenSource: