diff --git a/data/pci_data.py b/data/pci_data.py index e8fa2d4e9..291d28519 100644 --- a/data/pci_data.py +++ b/data/pci_data.py @@ -524,6 +524,79 @@ class nvidia_ids: ] + maxwell_ids = [ + 0x1381, # GM107 [GeForce GTX 750] + 0x1392, # GM107 [GeForce GTX 860M] + 0x139a, # GM107 [GeForce GTX 950M] + 0x139b, # GM107 [GeForce GTX 960M] + 0x13b0, # GM107 [Quadro M2000M] + + 0x1340, # GM108 + 0x1341, # GM108 [GeForce 840M] + 0x1346, # GM108 [GeForce 930M] + 0x1347, # GM108 [GeForce 940M] + 0x134d, # GM108 [GeForce 940MX] + + 0x13c0, # GM204 [GeForce GTX 980] + 0x13c2, # GM204 [GeForce GTX 970] + 0x13d7, # GM204 [GeForce GTX 980M] + 0x13d8, # GM204 [GeForce GTX 970M] + 0x13d9, # GM204 [GeForce GTX 965M] + + 0x1401, # GM206 [GeForce GTX 960] + 0x1407, # GM206 [GeForce GTX 750 v2] + 0x1427, # GM206 [GeForce GTX 965M v2] + ] + + pascal_ids = [ + 0x15f7, # GP100 [Tesla P100 PCIe 12GB] + 0x15f8, # GP100 [Tesla P100 PCIe 16GB] + 0x15f9, # GP100 [Tesla P100 SXM2 16GB] + + 0x1b00, # GP102 [GeForce TITAN X] + 0x1b02, # GP102 [GeForce TITAN Xp] + 0x1b06, # GP102 [GeForce GTX 1080 Ti] + 0x1b30, # GP102 [Quadro P6000] + 0x1b38, # GP102 [Tesla P40] + + 0x1b80, # GP104 [GeForce GTX 1080] + 0x1b81, # GP104 [GeForce GTX 1070] + 0x1b82, # GP104 [GeForce GTX 1070 Ti] + 0x1b83, # GP104 [GeForce GTX 1060 6GB] + 0x1b84, # GP104 [GeForce GTX 1060 3GB] + 0x1ba0, # GP104 [GeForce GTX 1080 Mobile] + 0x1ba1, # GP104 [GeForce GTX 1070 Mobile] + 0x1ba2, # GP104 [GeForce GTX 1070 Mobile] + 0x1bb0, # GP104 [Quadro P5000] + 0x1bb3, # GP104 [Tesla P4] + 0x1bb6, # GP104 [Quadro P5000 Mobile] + 0x1bb7, # GP104 [Quadro P4000 Mobile] + 0x1bb8, # GP104 [Quadro P3000 Mobile] + 0x1be0, # GP104 [GeForce GTX 1080 Mobile] + 0x1be1, # GP104 [GeForce GTX 1070 Mobile] + + 0x1c02, # GP106 [GeForce GTX 1060 3GB] + 0x1c03, # GP106 [GeForce GTX 1060 6GB] + 0x1c20, # GP106 [GeForce GTX 1060 Mobile] + 0x1c23, # GP106 [GeForce GTX 1060] + 0x1c60, # GP106 [GeForce GTX 1060 Mobile] + 0x1c61, # GP106 [GeForce GTX 1050 Ti Mobile] + 0x1c62, # GP106 [GeForce GTX 1050 Mobile] + + 0x1c81, # GP107 [GeForce GTX 1050] + 0x1c82, # GP107 [GeForce GTX 1050 Ti] + 0x1c83, # GP107 [GeForce GTX 1050 3GB] + 0x1c8c, # GP107 [GeForce GTX 1050 Ti Mobile] + 0x1c8d, # GP107 [GeForce GTX 1050 Mobile] + 0x1c8f, # GP107 [GeForce GTX 1050 Ti Max-Q] + 0x1c92, # GP107 [GeForce GTX 1050 Max-Q] + + 0x1d01, # GP108 [GeForce GT 1030] + 0x1d10, # GP108 [GeForce MX150] + 0x1d12, # GP108 [GeForce MX150] + ] + + class amd_ids: gcn_7000_ids = [ diff --git a/resources/device_probe.py b/resources/device_probe.py index cd487a810..4d25555a9 100644 --- a/resources/device_probe.py +++ b/resources/device_probe.py @@ -200,6 +200,8 @@ class NVIDIA(GPU): Fermi = "Fermi" Tesla = "Tesla" Kepler = "Kepler" + Maxwell = "Maxwell" + Pascal = "Pascal" Unknown = "Unknown" arch: Archs = field(init=False) @@ -214,6 +216,10 @@ class NVIDIA(GPU): self.arch = NVIDIA.Archs.Fermi elif self.device_id in pci_data.nvidia_ids.kepler_ids: self.arch = NVIDIA.Archs.Kepler + elif self.device_id in pci_data.nvidia_ids.maxwell_ids: + self.arch = NVIDIA.Archs.Maxwell + elif self.device_id in pci_data.nvidia_ids.pascal_ids: + self.arch = NVIDIA.Archs.Pascal else: self.arch = NVIDIA.Archs.Unknown diff --git a/resources/sys_patch_detect.py b/resources/sys_patch_detect.py index 500875708..e41c0b258 100644 --- a/resources/sys_patch_detect.py +++ b/resources/sys_patch_detect.py @@ -15,6 +15,7 @@ class detect_root_patch: # GPU Patch Detection self.nvidia_tesla= False self.kepler_gpu= False + self.nvidia_web= False self.amd_ts1= False self.amd_ts2= False self.iron_gpu= False @@ -61,6 +62,9 @@ class detect_root_patch: if "21A5506j" not in self.constants.detected_os_build: self.kepler_gpu = True self.supports_metal = True + elif gpu.arch in [device_probe.NVIDIA.Archs.Maxwell, device_probe.NVIDIA.Archs.Pascal]: + if self.constants.detected_os > os_data.os_data.mojave: + self.nvidia_web = True elif gpu.arch == device_probe.AMD.Archs.TeraScale_1: if self.constants.detected_os > non_metal_os: self.amd_ts1 = True @@ -155,12 +159,13 @@ class detect_root_patch: self.root_patch_dict = { "Graphics: Nvidia Tesla": self.nvidia_tesla, "Graphics: Nvidia Kepler": self.kepler_gpu, + # "Graphics: Nvidia Web Drivers": self.nvidia_web, + "Graphics: Nvidia Web Drivers": False, "Graphics: AMD TeraScale 1": self.amd_ts1, "Graphics: AMD TeraScale 2": self.amd_ts2, "Graphics: Intel Ironlake": self.iron_gpu, "Graphics: Intel Sandy Bridge": self.sandy_gpu, "Graphics: Intel Ivy Bridge": self.ivy_gpu, - # "Graphics: Intel Ivy Bridge": True, "Brightness: Legacy Backlight Control": self.brightness_legacy, "Audio: Legacy Realtek": self.legacy_audio, "Networking: Legacy Wireless": self.legacy_wifi, @@ -245,6 +250,8 @@ class detect_root_patch: required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]}) required_patches.update({"AMD TeraScale Common": all_hardware_patchset["Graphics"]["AMD TeraScale Common"]}) required_patches.update({"AMD TeraScale 1": all_hardware_patchset["Graphics"]["AMD TeraScale 1"]}) + if hardware_details["Graphics: Nvidia Web Drivers"] is True: + required_patches.update({"Nvidia Web Drivers": all_hardware_patchset["Graphics"]["Nvidia Web Drivers"]}) if hardware_details["Graphics: AMD TeraScale 2"] is True: required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]}) required_patches.update({"Non-Metal IOAccelerator Common": all_hardware_patchset["Graphics"]["Non-Metal IOAccelerator Common"]})