Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos) (#4343)

* Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos)

* Remove libva-mesa-driver (now provided by mesa)
This commit is contained in:
Dylan M. Taylor 2026-03-31 16:51:57 -04:00 committed by GitHub
parent bdf6f92991
commit 179d9c7b48
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 14 deletions

View File

@ -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 @@ class GfxDriver(Enum):
GfxPackage.Xf86VideoAmdgpu,
GfxPackage.Xf86VideoAti,
GfxPackage.Xf86VideoNouveau,
GfxPackage.LibvaMesaDriver,
GfxPackage.LibvaIntelDriver,
GfxPackage.IntelMediaDriver,
GfxPackage.VulkanRadeon,
@ -103,7 +99,6 @@ class GfxDriver(Enum):
GfxPackage.Mesa,
GfxPackage.Xf86VideoAmdgpu,
GfxPackage.Xf86VideoAti,
GfxPackage.LibvaMesaDriver,
GfxPackage.VulkanRadeon,
]
case GfxDriver.IntelOpenSource:
@ -123,15 +118,8 @@ class GfxDriver(Enum):
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,

View File

@ -39,6 +39,12 @@ class ProfileConfiguration:
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,

View File

@ -222,7 +222,7 @@ class ProfileHandler:
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)