diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index 7d3d7d19ca..aa8a600836 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -41,10 +41,8 @@ class GfxPackage(Enum): Dkms = 'dkms' IntelMediaDriver = 'intel-media-driver' LibvaIntelDriver = 'libva-intel-driver' - 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 +60,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 @@ -91,7 +88,6 @@ def gfx_packages(self) -> list[GfxPackage]: GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, GfxPackage.Xf86VideoNouveau, - GfxPackage.LibvaMesaDriver, GfxPackage.LibvaIntelDriver, GfxPackage.IntelMediaDriver, GfxPackage.VulkanRadeon, @@ -103,7 +99,6 @@ def gfx_packages(self) -> list[GfxPackage]: GfxPackage.Mesa, GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, - GfxPackage.LibvaMesaDriver, GfxPackage.VulkanRadeon, ] case GfxDriver.IntelOpenSource: @@ -123,15 +118,8 @@ def gfx_packages(self) -> list[GfxPackage]: packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoNouveau, - 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)