diff --git a/Scripts/gpu_identifier.py b/Scripts/gpu_identifier.py index 4444db0..707df5d 100755 --- a/Scripts/gpu_identifier.py +++ b/Scripts/gpu_identifier.py @@ -65,55 +65,163 @@ class GPUIdentifier: } def identify_amd_graphics(self, hardware_id): - gpu_codename = "Unknown" + gpu_codename = None device_id = hardware_id[5:] + device_type = "Discrete GPU" if device_id.startswith("15D8"): gpu_codename = "Picasso" + device_type = "Integrated GPU" elif device_id.startswith("15DD"): gpu_codename = "Raven Ridge" + device_type = "Integrated GPU" elif device_id.startswith("15E7"): gpu_codename = "Barcelo" + device_type = "Integrated GPU" elif device_id.startswith("1636"): gpu_codename = "Renoir" + device_type = "Integrated GPU" elif device_id.startswith("1638"): gpu_codename = "Cezanne" + device_type = "Integrated GPU" elif device_id.startswith("164C"): gpu_codename = "Lucienne" + device_type = "Integrated GPU" + elif device_id.startswith("164E"): + gpu_codename = "Raphael" + device_type = "Integrated GPU" + elif device_id.startswith("164D"): + gpu_codename = "Rembrandt" + device_type = "Integrated GPU" + elif device_id.startswith(("164F", "19")): + gpu_codename = "Phoenix" + device_type = "Integrated GPU" + elif device_id.startswith("94C"): + gpu_codename = "RV610" + elif device_id.startswith("958"): + gpu_codename = "RV630" + elif device_id.startswith("940"): + gpu_codename = "R600" + elif device_id.startswith("95C"): + gpu_codename = "RV620" + elif device_id.startswith("959"): + gpu_codename = "RV635" + elif device_id.startswith("950F"): + gpu_codename = "R680" + elif device_id.startswith(("950", "951")): + gpu_codename = "RV670" + elif device_id.startswith(("9555", "9557")): + gpu_codename = "RV711" + elif device_id.startswith(("954", "955")): + gpu_codename = "RV710" + elif device_id.startswith("959"): + gpu_codename = "RV635" + elif device_id.startswith(("948", "949")): + gpu_codename = "RV730" + elif device_id.startswith(("9441", "9443")): + gpu_codename = "R700" + elif device_id.startswith(("944", "945", "946A")): + gpu_codename = "RV770" + elif device_id.startswith(("946")): + gpu_codename = "RV790" + elif device_id.startswith(("68C", "68D")): + gpu_codename = "Redwood" + elif device_id.startswith(("68A", "68B")): + gpu_codename = "Juniper" + elif device_id.startswith("6880"): + gpu_codename = "Lexington" + elif device_id.startswith(("689C", "689D")): + gpu_codename = "Hemlock" + elif device_id.startswith(("688", "689")): + gpu_codename = "Cypress" + elif device_id.startswith("6750"): + gpu_codename = "Onega" + elif device_id.startswith(("674", "675")): + gpu_codename = "Turks" + elif device_id.startswith("673"): + gpu_codename = "Barts" + elif device_id.startswith(("671C", "671D")): + gpu_codename = "Antilles" + elif device_id.startswith(("670", "671")): + gpu_codename = "Cayman" + elif device_id.startswith(("68E8", "68E9", "68F")): + gpu_codename = "Cedar" + elif device_id.startswith(("6828", "6829", "682B", "683")): + gpu_codename = "Cape Verde" + elif device_id.startswith("682"): + gpu_codename = "Venus" + elif device_id.startswith("679B"): + gpu_codename = "Malta" + elif device_id.startswith(("678", "679")): + gpu_codename = "Tahiti" + elif device_id.startswith("677"): + gpu_codename = "Caicos" + elif device_id.startswith("67B9"): + gpu_codename = "Vesuvius" + elif device_id.startswith(("67A", "67B")): + gpu_codename = "Hawaii" + elif device_id.startswith(("6640", "6641", "6647")): + gpu_codename = "Saturn" + elif device_id.startswith(("664", "665")): + gpu_codename = "Bonaire" + elif device_id.startswith(("6810", "6811")): + gpu_codename = "Curacao" + elif device_id.startswith(("680", "681")): + gpu_codename = "Pitcairn" + elif device_id.startswith(("6929", "692B", "692F", "693")): + gpu_codename = "Tonga" + elif device_id.startswith("67B0"): + gpu_codename = "Grenada" + elif device_id.startswith("6907"): + gpu_codename = "Meso" + elif device_id.startswith("690"): + gpu_codename = "Topaz" + elif device_id.startswith("730"): + gpu_codename = "Fiji" + elif device_id.startswith(("6608", "6609", "661", "6631")): + gpu_codename = "Oland" elif device_id.startswith(("67C", "67D")): gpu_codename = "Ellesmere" elif device_id.startswith(("67E", "67F")): gpu_codename = "Baffin" - elif device_id.startswith("694"): - gpu_codename = "Polaris 22" elif device_id.startswith(("698", "699")): gpu_codename = "Lexa" - elif device_id.startswith("69A"): - gpu_codename = "Vega 12" elif device_id.startswith("6FDF"): gpu_codename = "Polaris 20" + elif device_id.startswith("694"): + gpu_codename = "Polaris 22" elif device_id.startswith(("686", "687")): gpu_codename = "Vega 10" + elif device_id.startswith("69A"): + gpu_codename = "Vega 12" elif device_id.startswith("66A"): gpu_codename = "Vega 20" elif device_id.startswith("731"): gpu_codename = "Navi 10" - elif device_id.startswith("734"): - gpu_codename = "Navi 14" elif device_id.startswith("736"): gpu_codename = "Navi 12" + elif device_id.startswith("734"): + gpu_codename = "Navi 14" elif device_id.startswith(("73A", "73B")): gpu_codename = "Navi 21" elif device_id.startswith(("73C", "73D")): gpu_codename = "Navi 22" elif device_id.startswith(("73E", "73FF")): gpu_codename = "Navi 23" - + elif device_id.startswith(("742", "743")): + gpu_codename = "Navi 24" + elif device_id.startswith(("744", "745")): + gpu_codename = "Navi 31" + elif device_id.startswith(("746", "747")): + gpu_codename = "Navi 32" + elif device_id.startswith(("748", "749", "73F0")): + gpu_codename = "Navi 33" + return { "Manufacturer": "AMD", "Codename": gpu_codename, "Device ID": hardware_id, - "Device Type": "Unknown" if gpu_codename == "Unknown" else "Integrated GPU" if device_id.startswith(("15", "16")) else "Discrete GPU" + "Device Type": "Unknown" if not gpu_codename else device_type } def identify_nvidia_graphics(self, hardware_id):