From 5605958b98831369e4c0b950e5c44f70c4191628 Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Mon, 27 Nov 2023 23:31:26 +1100 Subject: Fixes #2262 and GFX rewrite (#2266) * Rework GFX installation * Update * Update --------- Co-authored-by: Daniel Girtler --- archinstall/lib/hardware.py | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'archinstall/lib/hardware.py') diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index 9433f96c..efdae430 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -37,18 +37,22 @@ class CpuVendor(Enum): class GfxPackage(Enum): + Dkms = 'dkms' IntelMediaDriver = 'intel-media-driver' LibvaIntelDriver = 'libva-intel-driver' LibvaMesaDriver = 'libva-mesa-driver' Mesa = "mesa" - Nvidia = 'nvidia' + NvidiaDkms = 'nvidia-dkms' NvidiaOpen = 'nvidia-open' + NvidiaOpenDkms = 'nvidia-open-dkms' VulkanIntel = 'vulkan-intel' VulkanRadeon = 'vulkan-radeon' Xf86VideoAmdgpu = "xf86-video-amdgpu" Xf86VideoAti = "xf86-video-ati" Xf86VideoNouveau = 'xf86-video-nouveau' Xf86VideoVmware = 'xf86-video-vmware' + XorgServer = 'xorg-server' + XorgXinit = 'xorg-xinit' class GfxDriver(Enum): @@ -69,10 +73,12 @@ class GfxDriver(Enum): case _: return False - def packages(self) -> List[GfxPackage]: + def gfx_packages(self) -> List[GfxPackage]: + packages = [GfxPackage.XorgServer, GfxPackage.XorgXinit] + match self: case GfxDriver.AllOpenSource: - return [ + packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, @@ -85,7 +91,7 @@ class GfxDriver(Enum): GfxPackage.VulkanIntel ] case GfxDriver.AmdOpenSource: - return [ + packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoAmdgpu, GfxPackage.Xf86VideoAti, @@ -93,30 +99,36 @@ class GfxDriver(Enum): GfxPackage.VulkanRadeon ] case GfxDriver.IntelOpenSource: - return [ + packages += [ GfxPackage.Mesa, GfxPackage.LibvaIntelDriver, GfxPackage.IntelMediaDriver, GfxPackage.VulkanIntel ] case GfxDriver.NvidiaOpenKernel: - return [GfxPackage.NvidiaOpen] + packages += [ + GfxPackage.NvidiaOpen, + GfxPackage.Dkms, + GfxPackage.NvidiaOpenDkms + ] case GfxDriver.NvidiaOpenSource: - return [ + packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoNouveau, GfxPackage.LibvaMesaDriver ] case GfxDriver.NvidiaProprietary: - return [ - GfxPackage.Nvidia + packages += [ + GfxPackage.NvidiaDkms, + GfxPackage.Dkms, ] case GfxDriver.VMOpenSource: - return [ + packages += [ GfxPackage.Mesa, GfxPackage.Xf86VideoVmware ] + return packages class _SysInfo: def __init__(self): -- cgit v1.2.3-54-g00ecf